[BUGFIX] $_EXTKEY not available in global scope in ext_tables.php
authorIngo Renner <ingo@typo3.org>
Sun, 15 Jul 2012 13:12:13 +0000 (15:12 +0200)
committerChristian Kuhn <lolli@schwarzbu.ch>
Sun, 15 Jul 2012 17:41:44 +0000 (19:41 +0200)
Since changing the ext_tables.php handling to use the caching
framework $_EXTKEY is not available in global scope anymore.

This leads to issues when f.e. registering custom navigation
components through t3lib_extMgm::addNavigationComponent().

Explicitly setting $_EXTKEY global fixes the bug.

Change-Id: Iec822eb55abdd8c471cb2e13a0d26c099db39849
Fixes: #38964
Releases: 6.0
Reviewed-on: http://review.typo3.org/12807
Reviewed-by: Mattias Nilsson
Tested-by: Mattias Nilsson
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
t3lib/class.t3lib_extmgm.php
typo3/classes/Bootstrap.php

index 379a67e..47bfba9 100644 (file)
@@ -1791,6 +1791,7 @@ tt_content.' . $key . $prefix . ' {
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
                global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;
                global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;
+               global $_EXTKEY;
 
                        // Load each ext_tables.php file of loaded extensions
                foreach ($GLOBALS['TYPO3_LOADED_EXT'] as $_EXTKEY => $extensionInformation) {
@@ -1820,6 +1821,7 @@ tt_content.' . $key . $prefix . ' {
                $phpCodeToCache[] = 'global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;';
                $phpCodeToCache[] = 'global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;';
                $phpCodeToCache[] = 'global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;';
+               $phpCodeToCache[] = 'global $_EXTKEY;';
                $phpCodeToCache[] = '';
 
                        // Iterate through loaded extensions and add ext_tables content
index 0a676c5..87a6379 100644 (file)
@@ -929,6 +929,7 @@ class Typo3_Bootstrap {
                global $T3_SERVICES, $T3_VAR, $TYPO3_CONF_VARS;
                global $TBE_MODULES, $TBE_MODULES_EXT, $TCA;
                global $PAGES_TYPES, $TBE_STYLES, $FILEICONS;
+               global $_EXTKEY;
 
                        // Include standard tables.php file
                require(PATH_t3lib . 'stddb/tables.php');