Quick Search:

jump to detailed chart Line History

line history graph

View Mode

Logical Physical

Show Arbitrary Diff

From to

Supports revisions and tags.

Watches and RSS

History

trunk 77 36 1.0 224 82

latest revision download trunk

77 annotated / raw | Diffs: previous, other | Lines: 1721 ( +6, -3 )

Created: 2007-10-25 12:03:40 -0500 (10 months ago) | Author: opengeek | Changeset: 77

* Modified @package statements for documentation purposes.

Branch point for: 1.0

76 annotated / raw | Diffs: previous, other | Lines: 1718 ( +9, -4 )

Created: 2007-10-23 10:25:52 -0500 (10 months ago) | Author: opengeek | Changeset: 76

* Correct xPDO::connect() when not using native PDO in PHP 5+ to avoid trying to catch an exception, since the emulated PDO_ classes do not throw exceptions.
* When using native PDO, make sure to catch PDOException explicitly, and not Exception.
* Unset instance variables in xPDOGenerator after execution of parseSchema() to allow execution on multiple schemas.
* Fix error in xPDOObject::loadCollection() when using relative or fully-qualified classnames, e.g. when using classes in subpackages.
* Be sure the value is a string before attempting to unserialize it when phptype = array in xPDOObject::get().
* Updates and corrections to a few logging statements.

75 annotated / raw | Diffs: previous, other | Lines: 1713 ( +6, -3 )

Created: 2007-10-17 23:17:03 -0500 (10 months ago) | Author: opengeek | Changeset: 75

* Correct nasty error with xPDOObject::remove() when certain circular composite relationships exist.
        - Added some tests, but these need further development.

73 annotated / raw | Diffs: previous, other | Lines: 1710 ( +26, -26 )

Created: 2007-10-10 01:09:06 -0500 (10 months ago) | Author: opengeek | Changeset: 73

* Just tidying up some silly windows line endings that slipped in

71 annotated / raw | Diffs: previous, other | Lines: 1710 ( +80, -52 )

Created: 2007-09-24 14:32:33 -0500 (11 months ago) | Author: opengeek | Changeset: 71

* Modified xPDOCriteria constructor to delay the prepare() unless cacheFlag is false (or less than 0), allowing cached xPDOCriteria statements to avoid requiring a database connection.
* Lots more documentation updates, changed license headers, etc.

70 annotated / raw | Diffs: previous, other | Lines: 1682 ( +77, -19 )

Created: 2007-09-21 11:48:03 -0500 (11 months ago) | Author: opengeek | Changeset: 70

* Documentation updates

69 annotated / raw | Diffs: previous, other | Lines: 1624 ( +100, -101 )

Created: 2007-09-19 15:38:05 -0500 (11 months ago) | Author: opengeek | Changeset: 69

* Documentation updates.

67 annotated / raw | Diffs: previous, other | Lines: 1625 ( +1, -2 )

Created: 2007-09-14 12:50:14 -0500 (11 months ago) | Author: opengeek | Changeset: 67

* Fix bug introduced recently to getOne relating to setting references.

66 annotated / raw | Diffs: previous, other | Lines: 1626 ( +132, -59 )

Created: 2007-09-11 20:48:23 -0500 (11 months ago) | Author: opengeek | Changeset: 66

* Fixed xPDOObject::__construct() to preset _relatedObject fields when hydrate_rel_obj_vars is not enabled.
* [FS#11] Fix population of final node of graph chains in xPDOQuery::hydrateGraphNode(); still needs more testing and refactoring for PHP 4 (unless the combination of this change and the xPDOObject::__construct() fix address it).
* Documentation updates.
* PHPUnit tests added for xPDO::getObjectGraph() and xPDO::getCollectionGraph()

65 annotated / raw | Diffs: previous, other | Lines: 1553 ( +1, -1 )

Created: 2007-09-10 14:03:49 -0500 (11 months ago) | Author: opengeek | Changeset: 65

* Fix debug statement to include bindings in output.

64 annotated / raw | Diffs: previous, other | Lines: 1553 ( +52, -5 )

Created: 2007-09-06 16:38:37 -0500 (11 months ago) | Author: opengeek | Changeset: 64

* Added xPDOObject::isDirty(string $key) as public method for checking if a field is dirty, i.e. is part of an unpersisted object (xPDOObject::_new) or has been modified since it was loaded.
* Updated xPDOObject::encode() to default type param to 'md5' and modified behavior to only apply encoding when a valid type has been provided.
* A few comment updates.

62 annotated / raw | Diffs: previous, other | Lines: 1506 ( +71, -63 )

Created: 2007-08-22 18:03:55 -0500 (12 months ago) | Author: opengeek | Changeset: 62

* Fixed significant bug in xPDOObject :: _getPHPType() -- was always returning string and treating all values as string in the get() and set() methods as a result. :/
* Added array phptype for xPDOObject fields which automatically serializes and unserializes the array to a valid character data type field in the database table.  Only supports character database field types at the moment.

61 annotated / raw | Diffs: previous, other | Lines: 1498 ( +63, -63 )

Created: 2007-08-17 12:42:04 -0500 (12 months ago) | Author: opengeek | Changeset: 61

* Fix to xPDOObject::loadCollection() to populate object var references if hydrate_obj_vars is enabled.

53 annotated / raw | Diffs: previous, other | Lines: 1498 ( +1, -1 )

Created: 2007-06-17 16:45:40 -0500 (14 months ago) | Author: opengeek | Changeset: 53

* Removed realpath() calls in xPDOCacheManager functions
* Updates to xPDOTransport/xPDOVehicle classes for file resolver handling

51 annotated / raw | Diffs: previous, other | Lines: 1498 ( +6, -6 )

Created: 2007-06-08 17:21:25 -0500 (14 months ago) | Author: opengeek | Changeset: 51

* Added xPDOCacheManager::copyFile() and added new parameter to copyTree() to differentiate between folder and file permissions
* Updates to xPDOVehicle based on xPDOCacheManager changes
* [FS#7] Fix xPDOObject::_getDataType() and _getPHPType() functions to refer to proper parameter name

49 annotated / raw | Diffs: previous, other | Lines: 1498 ( +48, -43 )

Created: 2007-06-04 17:43:30 -0500 (14 months ago) | Author: opengeek | Changeset: 49

- Refactored several methods depending on $criteria->stmt being an object using $criteria->prepare() method.
- Refactored several instances of XPDO_LOG_LEVEL_FATAL to XPDO_LOG_LEVEL_ERROR

46 annotated / raw | Diffs: previous, other | Lines: 1493 ( +54, -31 )

Created: 2007-05-29 18:49:34 -0500 (15 months ago) | Author: opengeek | Changeset: 46

- Fix the handling of xPDO timestamp fields when dbtype is numeric (i.e. stored as unix timestamp).
- Remove unnecessary get() and set() in db specific xPDOObject implementations.
- Add more tokens for identifying conditional clauses in xPDOQuery::isConditionalClause().
- Minor path and require/include changes.

45 annotated / raw | Diffs: previous, other | Lines: 1470 ( +9, -7 )

Created: 2007-05-08 09:58:20 -0500 (15 months ago) | Author: opengeek | Changeset: 45

- Some PHP 4 bug fixes and refactoring to better handle aggregate and composite relations

44 annotated / raw | Diffs: previous, other | Lines: 1468 ( +1, -1 )

Created: 2007-05-01 10:18:02 -0500 (15 months ago) | Author: opengeek | Changeset: 44

* Fix PHP notice in xPDOObject :: _getRelatedObjectsByFK

41 annotated / raw | Diffs: previous, other | Lines: 1468 ( +211, -7 )

Created: 2007-04-23 12:19:23 -0500 (16 months ago) | Author: opengeek | Changeset: 41

- xPDOObject_mysql issues -- cannot inherit from this class; reverting mysql specific functionality to base class for now; upcoming changes will address this problem

40 annotated / raw | Diffs: previous, other | Lines: 1264 ( +13, -14 )

Created: 2007-04-23 02:24:00 -0500 (16 months ago) | Author: opengeek | Changeset: 40

- xPDOObject->getOne was assigning to _relatedObjects as reference and causing problems
- Corrected a few warnings in xPDOQuery
- Corrected an incorrect path in xPDOGenerator
- MakeForm needs additional refactoring and probably needs to be moved to the modx project at some point

37 annotated / raw | Diffs: previous, other | Lines: 1265 ( +5, -5 )

Created: 2007-03-27 10:10:30 -0500 (17 months ago) | Author: opengeek | Changeset: 37

- Corrections to xPDOGenerator for 1.0 beta changes
- Documentation updates

36 new annotated / raw | Lines: 1265 ( +1265, -0 )

Created: 2007-03-26 12:35:43 -0500 (17 months ago) | Author: opengeek | Changeset: 36

- Initial commit of 1.0 beta (potentially unstable)
- New aggregate and composite schema/map definitions
 - simpler definitions are faster and easier to process
 - refer to distinct relationships to another class by an alias rather than class name + key
 - new owner attribute to indicate if the local or foreign object owns the foreign key value used to define the relationship
 - to migrate:
   - modify schema:
     - add an alias attribute for each aggregate/composite relation (key attribute can be removed)
     - add an owner attribute for each aggregate/composite relation (value will be local or foreign)
   - Public API changes requiring code modifications (migration guide will be released with additional details):
     - xPDO class:
       - getObjectGraph()
       - getCollectionGraph()
       - getFKDefinition()
     - xPDOObject class and derivatives (i.e. all generated classes):
       - getOne()
       - getMany()
       - addOne()
       - addMany()
       - getFKDefinition()
     - xPDOQuery class
       - join()
       - innerJoin()
       - leftJoin()
       - rightJoin()
       - from()
       - bindGraph()
- New physical class/map structure to better support for platform-specific optimizations
 - packages now require both a class file in the package root, as well as classes for each driver implementation in the appropriate subdirectory
 - to migrate, move your existing classes to the package root, and regenerate from the schema to create the new driver specific class stubs

latest revision download Branch 1.0

224 annotated / raw | Diffs: previous, other | Lines: 2022 ( +38, -38 )

Created: 2008-08-28 11:25:05 -0500 (25 hours ago) | Author: opengeek | Changeset: 224

* Changed calls from _log() to log().

206 annotated / raw | Diffs: previous, other | Lines: 2022 ( +39, -103 )

Created: 2008-07-21 17:15:33 -0500 (38 days ago) | Author: opengeek | Changeset: 206

* Removing adodb-time extension.
* Licensing header updates.

202 annotated / raw | Diffs: previous, other | Lines: 2086 ( +2, -2 )

Created: 2008-04-25 13:12:55 -0500 (4 months 4 days ago) | Author: opengeek | Changeset: 202

* Copyright updates

201 annotated / raw | Diffs: previous, other | Lines: 2086 ( +1, -1 )

Created: 2008-04-21 16:04:12 -0500 (4 months 7 days ago) | Author: netprophet | Changeset: 201

"[#XPDO-15] update to warning message in xPDOObject::addOne()"

193 annotated / raw | Diffs: previous, other | Lines: 2086 ( +1, -1 )

Created: 2008-04-01 15:17:14 -0500 (4 months 27 days ago) | Author: splittingred | Changeset: 193

- Removing invalid var reference in debug log call

191 annotated / raw | Diffs: previous, other | Lines: 2086 ( +12, -8 )

Created: 2008-04-01 11:05:08 -0500 (4 months 28 days ago) | Author: opengeek | Changeset: 191

* xPDOObject::save() stops and returns false if XPDO_OPT_VALIDATE_ON_SAVE is true and validation fails.
* Renamed xPDOObject::_validators to xPDOObject::_validationRules to avoid semantic confusion.

188 annotated / raw | Diffs: previous, other | Lines: 2082 ( +50, -35 )

Created: 2008-04-01 09:28:39 -0500 (4 months 28 days ago) | Author: opengeek | Changeset: 188

* Changed from using static functions for xPDOValidator and xPDOValidationRules to actual object instances/methods.

187 annotated / raw | Diffs: previous, other | Lines: 2067 ( +1, -1 )

Created: 2008-03-31 18:00:17 -0500 (4 months 28 days ago) | Author: splittingred | Changeset: 187

- Fixed bug with loading custom validator class

186 annotated / raw | Diffs: previous, other | Lines: 2067 ( +1, -1 )

Created: 2008-03-31 17:43:26 -0500 (4 months 28 days ago) | Author: splittingred | Changeset: 186

- Automatically set a new xPDOObject's fields to dirty
- Fix bug where checking if field exists was not returning correct value

184 annotated / raw | Diffs: previous, other | Lines: 2067 ( +1, -1 )

Created: 2008-03-31 16:36:47 -0500 (4 months 28 days ago) | Author: splittingred | Changeset: 184

- Make sure there is no blank validator class attempting to be loaded

183 annotated / raw | Diffs: previous, other | Lines: 2067 ( +1, -1 )

Created: 2008-03-31 16:18:28 -0500 (4 months 28 days ago) | Author: opengeek | Changeset: 183

* Fixed improper reference to global XPDO_OPT_VALIDATOR_CLASS option.

182 annotated / raw | Diffs: previous, other | Lines: 2067 ( +2, -2 )

Created: 2008-03-31 16:05:51 -0500 (4 months 28 days ago) | Author: opengeek | Changeset: 182

* Fixed typo.

181 annotated / raw | Diffs: previous, other | Lines: 2067 ( +41, -19 )

Created: 2008-03-31 15:32:27 -0500 (4 months 28 days ago) | Author: opengeek | Changeset: 181

* Changes and updates to new xPDO validation package:
        -Added 4 basic xPDOValidationRule classes:
                -xPDOMaxLengthValidationRule
                -xPDOMaxValueValidationRule
                -xPDOMinLengthValidationRule
                -xPDOMinValueValidationRule
        -Added sample validation rules to sample schema.
        -Added xPDOGenerator support for validation rules.
        -Added on-demand loading of schema validation rules in xPDOObject, either when validate() is called, or when rules are added/removed via addValidationRule()/removeValidationRule(), whichever comes first.
* Added xPDO::getConfig() and xPDO::setConfig() methods for proper public access to xPDO::config and the ability to extend the behavior.

180 annotated / raw | Diffs: previous, other | Lines: 2045 ( +201, -19 )

Created: 2008-03-29 16:27:36 -0500 (4 months 30 days ago) | Author: opengeek | Changeset: 180

* Introducing the validation package:
        -Provides extensible xPDOValidator for customizing the validation process through a static validate() method.
        -Provides xPDOValidationRule interface class for developing custom validation rules to apply to object fields.  The interface defines a single function, isValid() that derivatives must implement.
        -xPDOObject provides new functions to call validation: validate(), set validation rules via the API: addValidationRule, as well as options and data structures to manage automatic and manual validation for modified fields.
        -xPDO provides XPDO_OPT_VALIDATION_CLASS to define the global xPDOValidator class to be used.
        -xPDO provides XPDO_OPT_VALIDATE_ON_SAVE to trigger automatic validation when save() is called.
        -Still to do is provide a schema representation of validation rules that can be defined and generated into the class maps; these map entries could then be used to automatically load the rules when validation is attempted.
* Added public methods getOption and setOption to xPDOObject to allow options to be set/overridden on any xPDOObject instance.

176 annotated / raw | Diffs: previous, other | Lines: 1863 ( +17, -4 )

Created: 2008-03-18 18:51:09 -0500 (5 months 10 days ago) | Author: opengeek | Changeset: 176

* [XPDO-10] Respect class aliases when loading object instances from custom xPDOQuery criteria in xPDOObject::_loadInstance().

174 annotated / raw | Diffs: previous, other | Lines: 1850 ( +6, -2 )

Created: 2008-03-13 21:39:13 -0500 (5 months 15 days ago) | Author: opengeek | Changeset: 174

* [XPDO-13] Fixed bug introduced in xPDOObject :: loadCollection() function @ changeset 173.

173 annotated / raw | Diffs: previous, other | Lines: 1846 ( +109, -86 )

Created: 2008-03-13 15:41:06 -0500 (5 months 15 days ago) | Author: opengeek | Changeset: 173

* [XPDO-13] Added lazy loading of object fields.  You can now use all xPDO getObject* and getCollection* functions to load objects with only certain fields populated.  Data for other attributes will be loaded when requested via the xPDOObject get() method.

169 annotated / raw | Diffs: previous, other | Lines: 1823 ( +29, -0 )

Created: 2008-02-29 10:25:30 -0600 (5 months 29 days ago) | Author: opengeek | Changeset: 169

* [#XPDO-10] Add loadCollectionGraph static function to xPDOObject and incorporate into getObjectLoader() facilities.

166 annotated / raw | Diffs: previous, other | Lines: 1794 ( +9, -6 )

Created: 2008-02-26 22:10:41 -0600 (6 months ago) | Author: opengeek | Changeset: 166

[#XPDO-9] Fix error with xPDOObject::getMany() returning all rows when custom criteria are passed.

159 annotated / raw | Diffs: previous, other | Lines: 1791 ( +1, -0 )

Created: 2007-12-21 12:45:21 -0600 (8 months ago) | Author: splittingred | Changeset: 159

Fix to xPDOObject::fromArray where the field array's internal pointer was not being reset.

157 annotated / raw | Diffs: previous, other | Lines: 1790 ( +1, -1 )

Created: 2007-12-19 15:40:37 -0600 (8 months ago) | Author: splittingred | Changeset: 157

Fix for ADHOC fields, if not set before, prevent PHP Notice error from showing by first checking to see if array index is set.

152 annotated / raw | Diffs: previous, other | Lines: 1790 ( +1, -1 )

Created: 2007-12-08 10:13:49 -0600 (8 months ago) | Author: opengeek | Changeset: 152

* Added array and json phptypes (both recently added) to the list of quotable types in xPDOObject::save() logic.

151 annotated / raw | Diffs: previous, other | Lines: 1790 ( +14, -0 )

Created: 2007-12-07 19:39:46 -0600 (8 months ago) | Author: opengeek | Changeset: 151

* Added 'json' phptype for treating text column data as pure JSON.

144 annotated / raw | Diffs: previous, other | Lines: 1776 ( +104, -86 )

Created: 2007-11-25 15:25:54 -0600 (9 months ago) | Author: opengeek | Changeset: 144

* Refactored xPDOObject::set() method to allow third parameter, vType, to be of type callable. When this parameter is a valid callable, the responsibility of setting the value of the appropriate xPDOObject::$_fields array element becomes that of the callback function.  The callback should accept three parameters, the key of the field, the value to set, and a reference to the xPDOObject instance, (i.e. $this).
* Added logic to xPDOObject::set() when working with fields of type date,  datetime, or timestamp for vType='utc'; this will indicate that the string being passed is already a valid utc format string acceptable as is to the database, avoiding the venerable strtotime/strftime conversion that would otherwise take place.
* Added XPDO_PHP_VERSION constant which holds the php_version() result that can be referenced throughout any xPDO-base code.
* Added check to xPDOObject::strtotime() implementation to revert back to PHP's default implementation if XPDO_PHP_VERSION >= 5.1.0.

133 annotated / raw | Diffs: previous, other | Lines: 1758 ( +19, -9 )

Created: 2007-11-16 00:07:17 -0600 (9 months ago) | Author: opengeek | Changeset: 133

* Sync'ing 1.0 branch with accidental commit direct to trunk.

131 annotated / raw | Diffs: previous, other | Lines: 1748 ( +11, -19 )

Created: 2007-11-15 20:41:35 -0600 (9 months ago) | Author: opengeek | Changeset: 131

* Fix several problems with preserving keys on installation and saving objects introduced in recent commits.
* Refactored xPDOObject::save() slightly, simplifying the logic and removing the recently added setGeneratedKeys parameter, opting to let users override generated keys by simply setting them via various methods.

126 annotated / raw | Diffs: previous, other | Lines: 1756 ( +74, -65 )

Created: 2007-11-13 10:59:29 -0600 (9 months ago) | Author: opengeek | Changeset: 126

* Refactor logic for handling null values in xPDOObject::set() and save(). Removed all support for string 'NULL' to be converted to a SQL null value. Use PHP null.

123 annotated / raw | Diffs: previous, other | Lines: 1747 ( +6, -4 )

Created: 2007-11-13 00:40:11 -0600 (9 months ago) | Author: opengeek | Changeset: 123

* Added XPDO_OPT_HYDRATE_ADHOC_FIELDS option to xPDO and xPDOObject.
* Additional refactoring to xPDO::toCache() and xPDO::fromCache(), including allowing generic __sqlResult queries to be cached, though that needs some additional commits to enable fully. Still more to come.
* Documented xPDOCacheManager object caching functions.
* Fix undefined variable $fromCache in xPDOObject::loadObject() and loadCollection() functions.
* Tweaks to xPDOCacheManager::generateObject() to use raw values in toArray() and fromArray() calls used to create the cache representation.
* Fix xPDOObject::loadCollection() to use rawValues when loading objects using fromArray().
* Fix xPDOQuery::hydrateGraph() and hydrateGraphNode() functions to use rawValues when loading objects with fromArray().
* Fix strrpos() call in xPDOObject::__construct() to work properly in PHP 4 and 5 since PHP 4 does not allow the needle parameter to be more than a single character string.
* Adding XPDO_TRANSPORT_ACTION_* constants to represent INSTALL, UPGRADE, and UNINSTALL actions that can be performed on a package.

120 annotated / raw | Diffs: previous, other | Lines: 1745 ( +1, -1 )

Created: 2007-11-12 17:23:29 -0600 (9 months ago) | Author: splittingred | Changeset: 120

- Fix to prevent unserialized arrays from being unserialized again.

119 annotated / raw | Diffs: previous, other | Lines: 1745 ( +1, -0 )

Created: 2007-11-12 16:55:52 -0600 (9 months ago) | Author: splittingred | Changeset: 119

- Removed $installed param from retrieve, moved to Transport Package handling.
- Removed XPDO_TRANSPORT_STATE_NOT_INSTALLED and changed XPDO_TRANSPORT_STATE_INSTALLED to 2.

111 annotated / raw | Diffs: previous, other | Lines: 1744 ( +1, -0 )

Created: 2007-11-12 11:19:41 -0600 (9 months ago) | Author: opengeek | Changeset: 111

* Missing break in xPDOObject::set() case statement for phptype = array.

108 annotated / raw | Diffs: previous, other | Lines: 1743 ( +11, -8 )

Created: 2007-11-09 20:34:42 -0600 (9 months ago) | Author: opengeek | Changeset: 108

* Started refactoring result-set caching behavior. Needs lots of testing and likely many more tweaks.
        - Default cacheFlag is now true everywhere, but xPDO must have a cache_db config option now or toCache will not cache the object.
        - More to come.
* Fixed bug in modTransport which was calling setDebug() where it should have called getDebug(), and as a result was echo'ing all the files being zipped when pack() was called.

101 annotated / raw | Diffs: previous, other | Lines: 1740 ( +10, -4 )

Created: 2007-11-07 13:13:18 -0600 (9 months ago) | Author: opengeek | Changeset: 101

* Added second parameter, setGeneratedKeys = false, to xPDOObject::save(). This will allow developers to insert pre-determined keys on tables with database generated keys in special circumstances.

93 annotated / raw | Diffs: previous, other | Lines: 1734 ( +8, -7 )

Created: 2007-11-05 09:26:59 -0600 (9 months ago) | Author: opengeek | Changeset: 93

* Trying to fix problem with xPDOObject::_saveRelatedObjects() when cascading a set of new objects where a relationship with cardinality of one is owned by the foreign class. Getting inconsistencies between PHP 4 and 5...

91 annotated / raw | Diffs: previous, other | Lines: 1733 ( +5, -2 )

Created: 2007-11-03 18:10:02 -0500 (9 months ago) | Author: opengeek | Changeset: 91

* Added validateCompound parameter to xPDOObject::getPrimaryKey() to allow retrieval of arrays from compound keys, even if the values are null or empty.

89 annotated / raw | Diffs: previous, other | Lines: 1730 ( +2, -1 )

Created: 2007-11-02 17:41:24 -0500 (9 months ago) | Author: opengeek | Changeset: 89

* Fix warning in xPDOObject::set() when XPDO_OPT_ON_SET_STRIPSLASHES is not set in xPDO::config.
* Modify PDO_mysql::quote() and PDOStatement_mysql::quote() functions to addslashes to literal escaped strings in code.  mysql_real_escape_string likes to consume and replace literally escaped strings with appropriate MySQL representations, unline native PDO::quote() and PDOStatement::quote() implementations with the mysql driver.
* Fix warning with invalid index table_prefix, when empty array is passed as options to xPDO constructor.

87 annotated / raw | Diffs: previous, other | Lines: 1729 ( +16, -20 )

Created: 2007-11-01 20:02:48 -0500 (9 months ago) | Author: opengeek | Changeset: 87

* Added XPDO_OPT constants for supported core xPDO options
 - XPDO_OPT_TABLE_PREFIX defines the runtime table prefix applied to an object container (i.e. table) name.
 - XPDO_OPT_HYDRATE_FIELDS defines the option to turn on the population of xPDOObject _fields as references directly on the objects; i.e. object->get('attr') would be available as object->attr as well. This option can be toggled globally and per xPDOObject instance.
 - XPDO_OPT_HYDRATE_RELATED_OBJECTS defines the option to turn on the population of xPDOObject aggregates and composites, i.e. _relatedObjects, as references directly on the parent object; i.e. object->getOne('Alias') is available as object->Alias as well. This option can be toggled globally and per xPDOObject instance.
 - XPDO_OPT_ON_SET_STRIPSLASHES defines a new option to apply stripslashes to string values when using xPDOObject::set(). This option can be toggled globally and per xPDOObject instance.
* Added xPDOObject->_options to hold settings applicable to an object instance.
* Removed xPDOObject->_hydrateFields and _hydrateObjects in favor of _options using the new XPDO_OPT constants.

83 annotated / raw | Diffs: previous, other | Lines: 1733 ( +21, -9 )

Created: 2007-10-30 18:28:28 -0500 (9 months ago) | Author: opengeek | Changeset: 83

* Refactored xPDO::loadClass()
 - Made xPDO::packages a single-dimensional array of package names and paths.
 - Changed the way classes are loaded by searching through all registered packages if not found in the current package, and isolated actual class/map loading logic to a separate _loadClass() function. Needs some profiling.
        - TODO: Need to remove the loading of base classes from the constructor for more control in using custom base classes.
* Added package to the map metadata for each object; requires full map regeneration.
* Fixed xPDOObject::addMany() to properly set compound primary keys on _relatedObjects, i.e. only if all keys in a compound primary key are set.
* Fixed xPDOObject::_saveRelatedObject() functionality to set _relatedObjects of cardinality=many with proper keys and remove placeholder objects with keys like __new1, __new2, etc.
* XPDOTest::testCascadeSave(), added an assertion to ensure multiple related object trees are saved properly.
* Modified xPDOObject::getFKClass() to use loadClass() and validate the relationship is usable.
* Introducing xPDOGenerator::compile()
 - Started adding in functionality to compile all classes and maps from a single package into one file for potentially quicker loading in some situations.

82 new annotated / raw | Diffs: previous, other | Lines: 1721 ( +1721, -0 )

Created: 2007-10-30 17:59:53 -0500 (9 months ago) | Author: opengeek | Changeset: 82

Creating a 1.0 working branch

Atlassian FishEye, Subversion, CVS & Perforce analysis. (Version:1.5 Build:build-293 2008-04-15 ) - Administration - Page generated 2008-08-29 13:24 -0500