From: Sebastian Kurfürst Date: Wed, 1 Dec 2010 12:52:44 +0000 (+0000) Subject: Raised Extbase to 1.3.0beta2a X-Git-Tag: TYPO3_4-5-0beta2~26 X-Git-Url: http://git.typo3.org/Packages/TYPO3.CMS.git/commitdiff_plain/758fb41d53b8901f658c1931d2e618299b6a8411 Raised Extbase to 1.3.0beta2a git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@9720 709f56b5-9817-0410-a4d7-c38de5d9e867 --- diff --git a/ChangeLog b/ChangeLog index f090f86ac347..5d156e0770c4 100755 --- a/ChangeLog +++ b/ChangeLog @@ -24,7 +24,7 @@ 2010-12-01 Sebastian Kurfuerst - * 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 diff --git a/typo3/sysext/extbase/ChangeLog.txt b/typo3/sysext/extbase/ChangeLog.txt index c68511210694..f00e21b4ca61 100755 --- a/typo3/sysext/extbase/ChangeLog.txt +++ b/typo3/sysext/extbase/ChangeLog.txt @@ -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. diff --git a/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php index d2c806f89bb5..da2bb6e25a39 100644 --- a/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php +++ b/typo3/sysext/extbase/Classes/Configuration/BackendConfigurationManager.php @@ -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; } diff --git a/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php b/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php index bc1139637d11..b22a1c3f57b1 100644 --- a/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php +++ b/typo3/sysext/extbase/Classes/Configuration/FrontendConfigurationManager.php @@ -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); } diff --git a/typo3/sysext/extbase/Classes/Object/Container/Container.php b/typo3/sysext/extbase/Classes/Object/Container/Container.php index 5de5cfeba930..62e5d928c44c 100644 --- a/typo3/sysext/extbase/Classes/Object/Container/Container.php +++ b/typo3/sysext/extbase/Classes/Object/Container/Container.php @@ -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); diff --git a/typo3/sysext/extbase/ext_emconf.php b/typo3/sysext/extbase/ext_emconf.php index 3053e494d4de..369237501fd0 100755 --- a/typo3/sysext/extbase/ext_emconf.php +++ b/typo3/sysext/extbase/ext_emconf.php @@ -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',