Raised Extbase to 1.3.0beta2a
authorSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Wed, 1 Dec 2010 12:52:44 +0000 (12:52 +0000)
committerSebastian Kurfürst <sebastian.kurfuerst@typo3.org>
Wed, 1 Dec 2010 12:52:44 +0000 (12:52 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9720 709f56b5-9817-0410-a4d7-c38de5d9e867

ChangeLog
typo3/sysext/extbase/ChangeLog.txt
typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php
typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php
typo3/sysext/extbase/Classes/Object/Container/Container.php
typo3/sysext/extbase/ext_emconf.php

index f090f86..5d156e0 100755 (executable)
--- a/ChangeLog
+++ b/ChangeLog
@@ -24,7 +24,7 @@
 
 2010-12-01  Sebastian Kurfuerst  <sebastian@typo3.org>
 
-       * Updated Extbase and Fluid to 1.3.0beta2. See their ChangeLogs for details.
+       * Updated Extbase to 1.3.0beta2a and Fluid to 1.3.0beta2. See their ChangeLogs for details.
 
 2010-12-01  Stanislas Rolland  <typo3@sjbr.ca>
 
index c685112..f00e21b 100755 (executable)
@@ -1,7 +1,7 @@
 ChangeLog for Extbase
 =====================
 
-Changes for 1.3.0 Beta 2:
+Changes for 1.3.0 Beta 2a:
 ==========================
 included in TYPO3 4.5.0 Beta 2.
 
@@ -26,8 +26,10 @@ The main changes are:
 * Fixed Tx_Extbase_Domain_Model_FrontendUser (and marked the old API as deprecated)
 * Bugfixes related to Lazy Loading
 
-Full Changes for 1.3.0 Beta 2:
+Full Changes for 1.3.0 Beta 2a:
 ==============================
+[+BUGFIX] Extbase (Configuration): change the order of methods to determine the current pageId for backend modules, which is used to fetch the TS framework configuration. Fixes #11205
+[+TASK] Extbase (Object): Make sure the class info cache is returning valid objects
 [+BUGFIX] Extbase (Persistence): Persistence_Backend::getIdentifierByObject should work with LazyLoadingProxy
        getIdentifierByObject should check if object is an instance of Tx_Extbase_Persistence_LazyLoadingProxy and should return the
        identifier of the real object.
index d2c806f..da2bb6e 100644 (file)
@@ -111,18 +111,18 @@ class Tx_Extbase_Configuration_BackendConfigurationManager extends Tx_Extbase_Co
                        return $pageId;
                }
 
-                       // get root template
-               $rootTemplates = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('pid', 'sys_template', 'deleted=0 AND hidden=0 AND root=1', '', '', '1');
-               if (count($rootTemplates) > 0) {
-                       return $rootTemplates[0]['pid'];
-               }
-
                        // get current site root
                $rootPages = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('uid', 'pages', 'deleted=0 AND hidden=0 AND is_siteroot=1', '', '', '1');
                if (count($rootPages) > 0) {
                        return $rootPages[0]['uid'];
                }
 
+                       // get root template
+               $rootTemplates = $GLOBALS['TYPO3_DB']->exec_SELECTgetRows('pid', 'sys_template', 'deleted=0 AND hidden=0 AND root=1', '', '', '1');
+               if (count($rootTemplates) > 0) {
+                       return $rootTemplates[0]['pid'];
+               }
+
                        // fallback
                return self::DEFAULT_BACKEND_STORAGE_PID;
        }
index bc11396..b22a1c3 100644 (file)
@@ -222,6 +222,10 @@ class Tx_Extbase_Configuration_FrontendConfigurationManager extends Tx_Extbase_C
                        $return = array();
 
                        foreach ($nodeArray as $nodeKey => $nodeValue) {
+                               if ($nodeKey === $valuePointer) {
+                                       return $nodeValue;      
+                               }
+
                                if (in_array($nodeKey, array('el', '_arrayContainer'))) {
                                        return $this->walkFlexformNode($nodeValue, $valuePointer);
                                }
index 5de5cfe..62e5d92 100644 (file)
@@ -245,7 +245,9 @@ class Tx_Extbase_Object_Container_Container {
         * @return Tx_Extbase_Object_Container_ClassInfo
         */
        private function getClassInfo($className) {
-               if (!$this->cache->has($className)) {
+                       // we also need to make sure that the cache is returning a vaild object
+                       // in case something went wrong with unserialization etc.. 
+               if (!$this->cache->has($className) || !is_object($this->cache->get($className))) {
                        $this->cache->set($className, $this->classInfoFactory->buildClassInfoFromClassName($className));
                }
                return $this->cache->get($className);
index 3053e49..3692375 100755 (executable)
@@ -29,7 +29,7 @@ $EM_CONF[$_EXTKEY] = array(
        'clearCacheOnLoad' => 1,
        'lockType' => '',
        'author_company' => '',
-       'version' => '1.3.0beta2',
+       'version' => '1.3.0beta2a',
        'constraints' => array(
                'depends' => array(
                        'php' => '5.2.0-0.0.0',