Raising Extbase and Fluid to version 1.2.0
authorSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Tue, 22 Jun 2010 11:15:38 +0000 (11:15 +0000)
committerSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Tue, 22 Jun 2010 11:15:38 +0000 (11:15 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@8027 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/extbase/Classes/Persistence/Backend.php
typo3/sysext/extbase/Classes/Persistence/Mapper/DataMapper.php
typo3/sysext/extbase/Classes/Utility/Arrays.php
typo3/sysext/extbase/Classes/Utility/ClassLoader.php
typo3/sysext/extbase/ext_emconf.php
typo3/sysext/fluid/ext_emconf.php

index dcecb6e..7368243 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+2010-06-22  Sebastian Kurfuerst  <sebastian@typo3.org>
+
+       * Raising Extbase and Fluid to 1.2.0
+
 2010-06-22  Steffen Kamper  <info@sk-typo3.de>
 
        * Follow-up to#14798: Sitename missing in Login form
index cb444b8..973aced 100644 (file)
@@ -477,10 +477,7 @@ class Tx_Extbase_Persistence_Backend implements Tx_Extbase_Persistence_BackendIn
 
                        $properties = $object->_getProperties();
                        foreach ($properties as $propertyName => $propertyValue) {
-                               if (!$dataMap->isPersistableProperty($propertyName)) continue;
-                               if (($propertyValue instanceof Tx_Extbase_Persistence_LazyLoadingProxy) || ((get_class($propertyValue) === 'Tx_Extbase_Persistence_LazyObjectStorage') && ($propertyValue->isInitialized() === FALSE))) {
-                                       continue;
-                               }
+                               if (!$dataMap->isPersistableProperty($propertyName) || $this->propertyValueIsLazyLoaded($propertyValue)) continue;
 
                                $columnMap = $dataMap->getColumnMap($propertyName);
                                $propertyMetaData = $classSchema->getProperty($propertyName);
index aef0994..3ff9e6e 100644 (file)
@@ -215,7 +215,7 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
         * Sets the given properties on the object.
         *
         * @param Tx_Extbase_DomainObject_DomainObjectInterface $object The object to set properties on
-        * @param Tx_Extbase_Persistence_RowInterface $row
+        * @param array $row
         * @return void
         */
        protected function thawProperties(Tx_Extbase_DomainObject_DomainObjectInterface $object, array $row) {
@@ -256,7 +256,6 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
                                        case 'SplObjectStorage':
                                        case 'Tx_Extbase_Persistence_ObjectStorage':
                                                $propertyValue = $this->mapResultToPropertyValue($object, $propertyName, $this->fetchRelated($object, $propertyName, $row[$columnName]));
-                                               $propertyValue->_memorizeCleanState();
                                        break;
                                        default:
                                                if (($propertyData['type'] === 'DateTime') || in_array('DateTime', class_parents($propertyData['type']))) {
@@ -449,6 +448,7 @@ class Tx_Extbase_Persistence_Mapper_DataMapper implements t3lib_Singleton {
                                        foreach ($objects as $object) {
                                                $propertyValue->attach($object);
                                        }
+                                       $propertyValue->_memorizeCleanState();
                                } else {
                                        $propertyValue = $objects;
                                }
index f906622..c0abb8e 100644 (file)
@@ -140,11 +140,10 @@ class Tx_Extbase_Utility_Arrays {
         */
        static public function containsMultipleTypes(array $array) {
                if (count($array) > 0) {
-                       reset($array);
-                       $previousType = gettype(current($array));
-                       next($array);
-                       while (list(, $value) = each($array)) {
-                               if ($previousType !== gettype($value)) {
+                       foreach ($array as $key => $value) {
+                               if (!isset($previousType)) {
+                                       $previousType = gettype($value);
+                               } else if ($previousType !== gettype($value)) {
                                        return TRUE;
                                }
                        }
index 3a694fa..6ac5be4 100644 (file)
@@ -48,7 +48,7 @@ class Tx_Extbase_Utility_ClassLoader {
                if (t3lib_extMgm::isLoaded($extensionKey)) {
                        $classFilePathAndName = t3lib_extMgm::extPath($extensionKey) . 'Classes/' . strtr($classNameParts[2], '_', '/') . '.php';
                        if (file_exists($classFilePathAndName)) {
-                               require($classFilePathAndName);
+                               require_once($classFilePathAndName);
                        }
                }
        }
index 687e00a..6ce3304 100644 (file)
@@ -29,7 +29,7 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 1,
        'lockType' => '',
        'author_company' => 'TYPO3 core team',
-       'version' => '1.2.0RC1',
+       'version' => '1.2.0',
        'constraints' => array(
                'depends' => array(
                        'php' => '5.2.0-0.0.0',
index b3ca590..a02a0bf 100755 (executable)
@@ -29,7 +29,7 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 0,
        'lockType' => '',
        'author_company' => '',
-       'version' => '1.2.0RC1',
+       'version' => '1.2.0',
        'constraints' => array(
                'depends' => array(
                        'extbase' => '',