[TASK] Disable compression for inlineJs in Backend
[Packages/TYPO3.CMS.git] / t3lib / class.t3lib_extmgm.php
index 3d85fc2..502e7fc 100644 (file)
  *
  *  This copyright notice MUST APPEAR in all copies of the script!
  ***************************************************************/
-/**
- * Contains a class with Extension Management functions
- *
- * Revised for TYPO3 3.6 July/2003 by Kasper Skårhøj
- *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
- */
-/**
- * [CLASS/FUNCTION INDEX of SCRIPT]
- *
- *
- *
- *  114: class t3lib_extMgm
- *
- *                       SECTION: PATHS and other evaluation
- *  131:        function isLoaded($key,$exitOnError = 0)
- *  147:        function extPath($key,$script='')
- *  165:        function extRelPath($key)
- *  182:        function siteRelPath($key)
- *  194:        function getCN($key)
- *
- *                       SECTION: Adding BACKEND features
- *  227:        function addTCAcolumns($table,$columnArray,$addTofeInterface=0)
- *  251:        function addToAllTCAtypes($table,$str,$specificTypesList='',$position='')
- *  309:        function allowTableOnStandardPages($table)
- *  326:        function addModule($main,$sub='',$position='',$path='')
- *  389:        function insertModuleFunction($modname,$className,$classPath,$title,$MM_key='function',$WS='')
- *  408:        function addPageTSConfig($content)
- *  422:        function addUserTSConfig($content)
- *  437:        function addLLrefForTCAdescr($tca_descr_key,$file_ref)
- *
- *                       SECTION: Adding SERVICES features
- *  479:        function addService($extKey, $serviceType, $serviceKey, $info)
- *  547:        function findService($serviceType, $serviceSubType='', $excludeServiceKeys=array())
- *  618:        function deactivateService($serviceType, $serviceKey)
- *
- *                       SECTION: Adding FRONTEND features
- *  657:        function addPlugin($itemArray,$type='list_type')
- *  682:        function addPiFlexFormValue($piKeyToMatch,$value)
- *  702:        function addToInsertRecords($table,$content_table='tt_content',$content_field='records')
- *  733:        function addPItoST43($key,$classFile='',$prefix='',$type='list_type',$cached=0)
- *  808:        function addStaticFile($extKey,$path,$title)
- *  827:        function addTypoScriptSetup($content)
- *  841:        function addTypoScriptConstants($content)
- *  858:        function addTypoScript($key,$type,$content,$afterStaticUid=0)
- *
- *                       SECTION: INTERNAL EXTENSION MANAGEMENT:
- *  921:        function typo3_loadExtensions()
- *  998:        function _makeIncludeHeader($key,$file)
- * 1019:        function isCacheFilesAvailable($cacheFilePrefix)
- * 1032:        function isLocalconfWritable()
- * 1045:        function cannotCacheFilesWritable($cacheFilePrefix)
- * 1069:        function currentCacheFiles()
- * 1092:        function writeCacheFiles($extensions,$cacheFilePrefix)
- * 1130:        function removeCacheFiles()
- *
- * TOTAL FUNCTIONS: 32
- * (This index is automatically created/updated by the extension "extdeveval")
- *
- */
-
 
 /**
  * Extension Management functions
  * This class is never instantiated, rather the methods inside is called as functions like
  *              t3lib_extMgm::isLoaded('my_extension');
  *
- * @author     Kasper Skårhøj <kasperYYYY@typo3.com>
+ * @author Kasper Skårhøj <kasperYYYY@typo3.com>
  * @package TYPO3
  * @subpackage t3lib
  */
 final class t3lib_extMgm {
+
        protected static $extensionKeyMap;
 
 
@@ -108,7 +48,6 @@ final class t3lib_extMgm {
 
        /**
         * Returns TRUE if the extension with extension key $key is loaded.
-        * Usage: 109
         *
         * @param       string          Extension key to test
         * @param       boolean         If $exitOnError is TRUE and the extension is not loaded the function will die with an error message
@@ -128,27 +67,54 @@ final class t3lib_extMgm {
         * Returns the absolute path to the extension with extension key $key
         * If the extension is not loaded the function will die with an error message
         * Useful for internal fileoperations
-        * Usage: 136
         *
-        * @param       string          Extension key
-        * @param       string          $script is appended to the output if set.
-        * @return      string
+        * @param $key string Extension key
+        * @param $script string $script is appended to the output if set.
+        * @throws BadFunctionCallException
+        * @return string
         */
        public static function extPath($key, $script = '') {
-               if (!isset($GLOBALS['TYPO3_LOADED_EXT'][$key])) {
-                       throw new BadFunctionCallException(
-                               'TYPO3 Fatal Error: Extension key "' . $key . '" was NOT loaded!',
-                               1270853878
-                       );
+               if (isset($GLOBALS['TYPO3_LOADED_EXT'])) {
+                       if (!isset($GLOBALS['TYPO3_LOADED_EXT'][$key])) {
+                               throw new BadFunctionCallException(
+                                       'TYPO3 Fatal Error: Extension key "' . $key . '" was NOT loaded!',
+                                       1270853878
+                               );
+                       }
+
+                       $extensionPath = PATH_site . $GLOBALS['TYPO3_LOADED_EXT'][$key]['siteRelPath'];
+               } else {
+                       $extensionList = self::getRequiredExtensionList() . ',' . $GLOBALS['TYPO3_CONF_VARS']['EXT']['extList'];
+                       $loadedExtensions = array_flip(array_unique(t3lib_div::trimExplode(',', $extensionList, TRUE)));
+
+                       if (!isset($loadedExtensions[$key])) {
+                               throw new BadFunctionCallException(
+                                       'TYPO3 Fatal Error: Extension key "' . $key . '" was NOT loaded!',
+                                       1294430950
+                               );
+                       }
+
+                       if (@is_dir(PATH_typo3conf . 'ext/' . $key . '/')) {
+                               $extensionPath = PATH_typo3conf . 'ext/' . $key . '/';
+                       } elseif (@is_dir(PATH_typo3 . 'ext/' . $key . '/')) {
+                               $extensionPath = PATH_typo3 . 'ext/' . $key . '/';
+                       } elseif (@is_dir(PATH_typo3 . 'sysext/' . $key . '/')) {
+                               $extensionPath = PATH_typo3 . 'sysext/' . $key . '/';
+                       } else {
+                               throw new BadFunctionCallException(
+                                       'TYPO3 Fatal Error: Extension "' . $key . '" was NOT found!',
+                                       1294430951
+                               );
+                       }
                }
-               return PATH_site . $GLOBALS['TYPO3_LOADED_EXT'][$key]['siteRelPath'] . $script;
+
+               return $extensionPath . $script;
        }
 
        /**
         * Returns the relative path to the extension as measured from from the TYPO3_mainDir
         * If the extension is not loaded the function will die with an error message
         * Useful for images and links from backend
-        * Usage: 54
         *
         * @param       string          Extension key
         * @return      string
@@ -167,7 +133,6 @@ final class t3lib_extMgm {
         * Returns the relative path to the extension as measured from the PATH_site (frontend)
         * If the extension is not loaded the function will die with an error message
         * Useful for images and links from the frontend
-        * Usage: 6
         *
         * @param       string          Extension key
         * @return      string
@@ -178,7 +143,6 @@ final class t3lib_extMgm {
 
        /**
         * Returns the correct class name prefix for the extension key $key
-        * Usage: 3
         *
         * @param       string          Extension key
         * @return      string
@@ -236,12 +200,18 @@ final class t3lib_extMgm {
                if (!self::isLoaded($key)) {
                        return '';
                }
+               $runtimeCache = $GLOBALS['typo3CacheManager']->getCache('cache_runtime');
+               $cacheIdentifier = 'extMgmExtVersion-' . $key;
 
-               $EM_CONF = array();
-               $_EXTKEY = $key;
-               include(self::extPath($key) . 'ext_emconf.php');
+               if (!($extensionVersion = $runtimeCache->get($cacheIdentifier))) {
 
-               return $EM_CONF[$key]['version'];
+                       $EM_CONF = array();
+                       $_EXTKEY = $key;
+                       include(self::extPath($key) . 'ext_emconf.php');
+                       $extensionVersion = $EM_CONF[$key]['version'];
+                       $runtimeCache->set($cacheIdentifier, $extensionVersion);
+               }
+               return $extensionVersion;
        }
 
 
@@ -258,7 +228,6 @@ final class t3lib_extMgm {
         * This function adds the configuration needed for rendering of the field in TCEFORMS - but it does NOT add the field names to the types lists!
         * So to have the fields displayed you must also call fx. addToAllTCAtypes or manually add the fields to the types list.
         * FOR USE IN ext_tables.php FILES
-        * Usage: 4
         *
         * @param       string          $table is the table name of a table already present in $GLOBALS['TCA'] with a columns section
         * @param       array           $columnArray is the array with the additional columns (typical some fields an extension wants to add)
@@ -268,7 +237,7 @@ final class t3lib_extMgm {
        public static function addTCAcolumns($table, $columnArray, $addTofeInterface = 0) {
                t3lib_div::loadTCA($table);
                if (is_array($columnArray) && is_array($GLOBALS['TCA'][$table]) && is_array($GLOBALS['TCA'][$table]['columns'])) {
-                                // Candidate for t3lib_div::array_merge() if integer-keys will some day make trouble...
+                               // Candidate for t3lib_div::array_merge() if integer-keys will some day make trouble...
                        $GLOBALS['TCA'][$table]['columns'] = array_merge($GLOBALS['TCA'][$table]['columns'], $columnArray);
                        if ($addTofeInterface) {
                                $GLOBALS['TCA'][$table]['feInterface']['fe_admin_fieldList'] .= ',' . implode(',', array_keys($columnArray));
@@ -283,7 +252,6 @@ final class t3lib_extMgm {
         * This is needed to have new fields shown automatically in the TCEFORMS of a record from $table.
         * Typically this function is called after having added new columns (database fields) with the addTCAcolumns function
         * FOR USE IN ext_tables.php FILES
-        * Usage: 1
         *
         * @param       string          Table name
         * @param       string          Field list to add.
@@ -774,7 +742,6 @@ final class t3lib_extMgm {
         * Add tablename to default list of allowed tables on pages (in $PAGES_TYPES)
         * Will add the $table to the list of tables allowed by default on pages as setup by $PAGES_TYPES['default']['allowedTables']
         * FOR USE IN ext_tables.php FILES
-        * Usage: 11
         *
         * @param       string          Table name
         * @return      void
@@ -786,7 +753,6 @@ final class t3lib_extMgm {
        /**
         * Adds a module (main or sub) to the backend interface
         * FOR USE IN ext_tables.php FILES
-        * Usage: 18
         *
         * @param       string          $main is the main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there.
         * @param       string          $sub is the submodule key. If $sub is not set a blank $main module is created.
@@ -844,6 +810,62 @@ final class t3lib_extMgm {
                if ($path) {
                        $GLOBALS['TBE_MODULES']['_PATHS'][$main . ($sub ? '_' . $sub : '')] = $path;
                }
+                       //add module JS
+               self::addModuleContentCard('{xtype: "iframePanel"}', $main, $sub);
+       }
+
+       /**
+        * Sets the JS card of an ExtJS module for the card layout
+        * Replaces default JS
+        * Used by Card Layout
+        *
+        * @param       string          $jsCode is plain valid JavaScript, which is added directly, usefull for small modules only!
+        * @param       string          $mainModule is the main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there.
+        * @param       string          $subModule is the submodule key. If $sub is not set a blank $main module is created.
+        * @return      void
+        */
+       public static function addModuleContentCard($jsCode, $mainModule, $subModule = '') {
+               $moduleName = $mainModule . ($subModule ? '_' . $subModule : '');
+               $GLOBALS['TBE_MODULES']['_JSINIT'][$moduleName] = '
+                       TYPO3.Viewport.ContentCards.addContentCard(
+                               "' . $moduleName . '",
+                               ' . $jsCode . '
+                       );
+               ';
+       }
+
+       /**
+        * Removes the JS card of an ExtJS module directly
+        * Used by Card Layout
+        *
+        * @param       string          $mainModule is the main module key, $sub is the submodule key. So $main would be an index in the $TBE_MODULES array and $sub could be an element in the lists there.
+        * @param       string          $subModule is the submodule key. If $sub is not set a blank $main module is created.
+        * @return void
+        */
+       public static function removeModuleContentCard($mainModule, $subModule = '') {
+               $moduleName = $mainModule . ($subModule ? '_' . $subModule : '');
+               if (array_key_exists($moduleName, $GLOBALS['TBE_MODULES']['_JSINIT'])) {
+                       unset($GLOBALS['TBE_MODULES']['_JSINIT'][$moduleName]);
+               }
+       }
+
+
+
+       /**
+        * Registers an Ext.Direct component with access restrictions.
+        *
+        * @param string $endpointName
+        * @param string $callbackClass
+        * @param string $moduleName optional: must be <mainmodule> or <mainmodule>_<submodule>
+        * @param string $accessLevel optional: can be 'admin' or 'user,group'
+        * @return void
+        */
+       public static function registerExtDirectComponent($endpointName, $callbackClass, $moduleName = NULL, $accessLevel = NULL) {
+               $GLOBALS['TYPO3_CONF_VARS']['SC_OPTIONS']['ExtDirect'][$endpointName] = array(
+                       'callbackClass' => $callbackClass,
+                       'moduleName' => $moduleName,
+                       'accessLevel' => $accessLevel,
+               );
        }
 
        /**
@@ -866,7 +888,6 @@ final class t3lib_extMgm {
         * The arguments values are generally determined by which function menu this is supposed to interact with
         * See Inside TYPO3 for information on how to use this function.
         * FOR USE IN ext_tables.php FILES
-        * Usage: 26
         *
         * @param       string          Module name
         * @param       string          Class name
@@ -890,7 +911,6 @@ final class t3lib_extMgm {
         * Adds $content to the default Page TSconfig as set in $GLOBALS['TYPO3_CONF_VARS'][BE]['defaultPageTSconfig']
         * Prefixed with a [GLOBAL] line
         * FOR USE IN ext_tables.php/ext_localconf.php FILES
-        * Usage: 5
         *
         * @param       string          Page TSconfig content
         * @return      void
@@ -903,7 +923,6 @@ final class t3lib_extMgm {
         * Adds $content to the default User TSconfig as set in $GLOBALS['TYPO3_CONF_VARS'][BE]['defaultUserTSconfig']
         * Prefixed with a [GLOBAL] line
         * FOR USE IN ext_tables.php/ext_localconf.php FILES
-        * Usage: 3
         *
         * @param       string          User TSconfig content
         * @return      void
@@ -916,7 +935,6 @@ final class t3lib_extMgm {
         * Adds a reference to a locallang file with $GLOBALS['TCA_DESCR'] labels
         * FOR USE IN ext_tables.php FILES
         * eg. t3lib_extMgm::addLLrefForTCAdescr('pages', 'EXT:lang/locallang_csh_pages.xml'); for the pages table or t3lib_extMgm::addLLrefForTCAdescr('_MOD_web_layout', 'EXT:cms/locallang_csh_weblayout.php'); for the Web > Page module.
-        * Usage: 31
         *
         * @param       string          Description key. Typically a database table (like "pages") but for applications can be other strings, but prefixed with "_MOD_")
         * @param       string          File reference to locallang file, eg. "EXT:lang/locallang_csh_pages.php" (or ".xml")
@@ -981,14 +999,7 @@ final class t3lib_extMgm {
         * @author      René Fritz <r.fritz@colorcube.de>
         */
        public static function addService($extKey, $serviceType, $serviceKey, $info) {
-                       // even not available services will be included to make it possible to give the admin a feedback of non-available services.
-                       // but maybe it's better to move non-available services to a different array??
-
-               if ($serviceType &&
-                               !t3lib_div::hasValidClassPrefix($serviceType) &&
-                               t3lib_div::hasValidClassPrefix($serviceKey, array('user_')) &&
-                               is_array($info)) {
-
+               if ($serviceType && t3lib_div::hasValidClassPrefix($serviceKey) && is_array($info)) {
                        $info['priority'] = max(0, min(100, $info['priority']));
 
                        $GLOBALS['T3_SERVICES'][$serviceType][$serviceKey] = $info;
@@ -997,13 +1008,6 @@ final class t3lib_extMgm {
                        $GLOBALS['T3_SERVICES'][$serviceType][$serviceKey]['serviceKey'] = $serviceKey;
                        $GLOBALS['T3_SERVICES'][$serviceType][$serviceKey]['serviceType'] = $serviceType;
 
-
-                               // mapping a service key to a service type
-                               // all service keys begin with tx_ or Tx_ - service types don't
-                               // this way a selection of a special service key as service type is easy
-                       $GLOBALS['T3_SERVICES'][$serviceKey][$serviceKey] = &$GLOBALS['T3_SERVICES'][$serviceType][$serviceKey];
-
-
                                // change the priority (and other values) from $GLOBALS['TYPO3_CONF_VARS']
                                // $GLOBALS['TYPO3_CONF_VARS']['T3_SERVICES'][$serviceType][$serviceKey]['priority']
                                // even the activation is possible (a unix service might be possible on windows for some reasons)
@@ -1137,7 +1141,6 @@ final class t3lib_extMgm {
         * If the value (array pos. 1) is already found in that items-array, the entry is substituted, otherwise the input array is added to the bottom.
         * Use this function to add a frontend plugin to this list of plugin-types - or more generally use this function to add an entry to any selectorbox/radio-button set in the TCEFORMS
         * FOR USE IN ext_tables.php FILES
-        * Usage: 13
         *
         * @param       array           Item Array
         * @param       string          Type (eg. "list_type") - basically a field from "tt_content" table
@@ -1164,7 +1167,6 @@ final class t3lib_extMgm {
        /**
         * Adds an entry to the "ds" array of the tt_content field "pi_flexform".
         * This is used by plugins to add a flexform XML reference / content for use when they are selected as plugin or content element.
-        * Usage: 0
         *
         * @param       string          Plugin key as used in the list_type field. Use the asterisk * to match all list_type values.
         * @param       string          Either a reference to a flex-form XML file (eg. "FILE:EXT:newloginbox/flexform_ds.xml") or the XML directly.
@@ -1184,7 +1186,6 @@ final class t3lib_extMgm {
         * Adds the $table tablename to the list of tables allowed to be includes by content element type "Insert records"
         * By using $content_table and $content_field you can also use the function for other tables.
         * FOR USE IN ext_tables.php FILES
-        * Usage: 9
         *
         * @param       string          Table name to allow for "insert record"
         * @param       string          Table name TO WHICH the $table name is applied. See $content_field as well.
@@ -1212,7 +1213,6 @@ final class t3lib_extMgm {
         *               "includeLib" - just includes the library for manual use somewhere in TypoScript.
         *       (Remember that your $type definition should correspond to the column/items array in $GLOBALS['TCA'][tt_content] where you added the selector item for the element! See addPlugin() function)
         * FOR USE IN ext_localconf.php FILES
-        * Usage: 2
         *
         * @param       string          $key is the extension key
         * @param       string          $classFile is the PHP-class filename relative to the extension root directory. If set to blank a default value is chosen according to convensions.
@@ -1229,8 +1229,8 @@ final class t3lib_extMgm {
                $pluginContent = trim('
 plugin.' . $cN . $prefix . ' = USER' . ($cached ? '' : '_INT') . '
 plugin.' . $cN . $prefix . ' {
-  includeLibs = ' . $GLOBALS['TYPO3_LOADED_EXT'][$key]['siteRelPath'] . $classFile . '
-  userFunc = ' . $cN . $prefix . '->main
+       includeLibs = ' . $GLOBALS['TYPO3_LOADED_EXT'][$key]['siteRelPath'] . $classFile . '
+       userFunc = ' . $cN . $prefix . '->main
 }');
                self::addTypoScript($key, 'setup', '
 # Setting ' . $key . ' plugin TypoScript
@@ -1278,7 +1278,6 @@ tt_content.' . $key . $prefix . ' {
         * Call this method to add an entry in the static template list found in sys_templates
         * "static template files" are the modern equivalent (provided from extensions) to the traditional records in "static_templates"
         * FOR USE IN ext_localconf.php FILES
-        * Usage: 3
         *
         * @param       string          $extKey is of course the extension key
         * @param       string          $path is the path where the template files (fixed names) include_static.txt (integer list of uids from the table "static_templates"), constants.txt, setup.txt, editorcfg.txt, and include_static_file.txt is found (relative to extPath, eg. 'static/'). The file include_static_file.txt, allows you to include other static templates defined in files, from your static template, and thus corresponds to the field 'include_static_file' in the sys_template table. The syntax for this is a commaseperated list of static templates to include, like:  EXT:css_styled_content/static/,EXT:da_newsletter_subscription/static/,EXT:cc_random_image/pi2/static/
@@ -1299,7 +1298,6 @@ tt_content.' . $key . $prefix . ' {
         * Adds $content to the default TypoScript setup code as set in $GLOBALS['TYPO3_CONF_VARS'][FE]['defaultTypoScript_setup']
         * Prefixed with a [GLOBAL] line
         * FOR USE IN ext_localconf.php FILES
-        * Usage: 6
         *
         * @param       string          TypoScript Setup string
         * @return      void
@@ -1312,7 +1310,6 @@ tt_content.' . $key . $prefix . ' {
         * Adds $content to the default TypoScript constants code as set in $GLOBALS['TYPO3_CONF_VARS'][FE]['defaultTypoScript_constants']
         * Prefixed with a [GLOBAL] line
         * FOR USE IN ext_localconf.php FILES
-        * Usage: 0
         *
         * @param       string          TypoScript Constants string
         * @return      void
@@ -1325,7 +1322,6 @@ tt_content.' . $key . $prefix . ' {
         * Adds $content to the default TypoScript code for either setup, constants or editorcfg as set in $GLOBALS['TYPO3_CONF_VARS'][FE]['defaultTypoScript_*']
         * (Basically this function can do the same as addTypoScriptSetup and addTypoScriptConstants - just with a little more hazzle, but also with some more options!)
         * FOR USE IN ext_localconf.php FILES
-        * Usage: 7
         *
         * @param       string          $key is the extension key (informative only).
         * @param       string          $type is either "setup", "constants" or "editorcfg" and obviously determines which kind of TypoScript code we are adding.
@@ -1367,7 +1363,7 @@ tt_content.' . $key . $prefix . ' {
        /**
         * Loading extensions configured in $GLOBALS['TYPO3_CONF_VARS']['EXT']['extList']
         *
-        * CACHING ON: ($GLOBALS['TYPO3_CONF_VARS']['EXT']['extCache'] = 1 or 2)
+        * CACHING ON: ($GLOBALS['TYPO3_CONF_VARS']['EXT']['extCache'] = 1)
         *               If caching is enabled (and possible), the output will be $extensions['_CACHEFILE'] set to the cacheFilePrefix. Subsequently the cache files must be included then since those will eventually set up the extensions.
         *               If cachefiles are not found they will be generated
         * CACHING OFF: ($GLOBALS['TYPO3_CONF_VARS']['EXT']['extCache'] = 0)
@@ -1376,7 +1372,6 @@ tt_content.' . $key . $prefix . ' {
         *
         * Usages of this function can be seen in config_default.php
         * Extensions are always detected in the order local - global - system.
-        * Usage: 1
         *
         * @return      array           Extension Array
         * @internal
@@ -1469,22 +1464,21 @@ $_EXTCONF = $GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'extConf\'][$_EXTKEY];
        }
 
        /**
-        * Returns TRUE if both the localconf and tables cache file exists (with $cacheFilePrefix)
-        * Usage: 2
+        * Returns TRUE if both the localconf and tables cache file exists (with $cacheFilePrefix) and if they are not empty
         *
-        * @param       string          Prefix of the cache file to check
-        * @return      boolean
-        * @internal
+        * @param $cacheFilePrefix string Prefix of the cache file to check
+        * @return boolean
         */
        public static function isCacheFilesAvailable($cacheFilePrefix) {
                return
-                               @is_file(PATH_typo3conf . $cacheFilePrefix . '_ext_localconf.php') &&
-                                               @is_file(PATH_typo3conf . $cacheFilePrefix . '_ext_tables.php');
+                       @is_file(PATH_typo3conf . $cacheFilePrefix . '_ext_localconf.php') &&
+                               @is_file(PATH_typo3conf . $cacheFilePrefix . '_ext_tables.php') &&
+                               @filesize(PATH_typo3conf . $cacheFilePrefix . '_ext_localconf.php') > 0 &&
+                               @filesize(PATH_typo3conf . $cacheFilePrefix . '_ext_tables.php') > 0;
        }
 
        /**
         * Returns TRUE if the "localconf.php" file in "typo3conf/" is writable
-        * Usage: 1
         *
         * @return      boolean
         * @internal
@@ -1496,7 +1490,6 @@ $_EXTCONF = $GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'extConf\'][$_EXTKEY];
        /**
         * Returns an error string if typo3conf/ or cache-files with $cacheFilePrefix are NOT writable
         * Returns FALSE if no problem.
-        * Usage: 1
         *
         * @param       string          Prefix of the cache file to check
         * @return      string
@@ -1521,7 +1514,6 @@ $_EXTCONF = $GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'extConf\'][$_EXTKEY];
        /**
         * Returns an array with the two cache-files (0=>localconf, 1=>tables) from typo3conf/ if they (both) exist. Otherwise FALSE.
         * Evaluation relies on $GLOBALS['TYPO3_LOADED_EXT']['_CACHEFILE']
-        * Usage: 2
         *
         * @param string $cacheFilePrefix Cache file prefix to be used (optional)
         * @return      array
@@ -1552,7 +1544,6 @@ $_EXTCONF = $GLOBALS[\'TYPO3_CONF_VARS\'][\'EXT\'][\'extConf\'][$_EXTKEY];
        /**
         * Compiles/Creates the two cache-files in typo3conf/ based on $cacheFilePrefix
         * Returns a array with the key "_CACHEFILE" set to the $cacheFilePrefix value
-        * Usage: 1
         *
         * @param       array           Extension information array
         * @param       string          Prefix for the cache files
@@ -1643,10 +1634,8 @@ $GLOBALS[\'TYPO3_LOADED_EXT\'] = unserialize(stripslashes(\'' . addslashes(seria
                $cacheFileSuffix = (TYPO3_MODE == 'FE' ? '_FE' : '');
                $cacheFilePrefix = 'temp_CACHED' . $cacheFileSuffix;
 
-               if ($extensionCacheBehaviour == 1) {
+               if ($extensionCacheBehaviour) {
                        $cacheFilePrefix .= '_ps' . substr(t3lib_div::shortMD5(PATH_site . '|' . $GLOBALS['TYPO_VERSION']), 0, 4);
-               } elseif ($extensionCacheBehaviour == 2) {
-                       $cacheFilePrefix .= '_' . t3lib_div::shortMD5(self::getEnabledExtensionList());
                }
 
                return $cacheFilePrefix;
@@ -1710,4 +1699,4 @@ $GLOBALS[\'TYPO3_LOADED_EXT\'] = unserialize(stripslashes(\'' . addslashes(seria
        }
 }
 
-?>
+?>
\ No newline at end of file