Fixed bug #14717: [Usability] Add delay to close the context menu
[Packages/TYPO3.CMS.git] / typo3 / init.php
index 54356f8..6ac65a7 100644 (file)
@@ -2,7 +2,7 @@
 /***************************************************************
 *  Copyright notice
 *
 /***************************************************************
 *  Copyright notice
 *
-*  (c) 1999-2009 Kasper Skaarhoj (kasperYYYY@typo3.com)
+*  (c) 1999-2010 Kasper Skaarhoj (kasperYYYY@typo3.com)
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
 *  All rights reserved
 *
 *  This script is part of the TYPO3 project. The TYPO3 project is
@@ -66,7 +66,11 @@ if (version_compare(phpversion(), '5.2', '<'))       die ('TYPO3 requires PHP 5.2.0 or
 // *******************************
 // Set error reporting
 // *******************************
 // *******************************
 // Set error reporting
 // *******************************
-error_reporting (E_ALL ^ E_NOTICE);
+if (defined('E_DEPRECATED')) {
+       error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
+} else {
+       error_reporting(E_ALL ^ E_NOTICE);
+}
 
 // *******************************
 // Prevent any unwanted output that may corrupt AJAX/compression. Note: this does
 
 // *******************************
 // Prevent any unwanted output that may corrupt AJAX/compression. Note: this does
@@ -84,6 +88,16 @@ define('TYPO3_mainDir', 'typo3/');           // This is the directory of the backend admi
 
 
 // *******************************
 
 
 // *******************************
+// Fix BACK_PATH, if the TYPO3_mainDir is set to something else than
+// typo3/, this is a workaround because the conf.php of the old modules
+// still have "typo3/" hardcoded. Can be removed once we don't have to worry about
+// legacy modules (with conf.php and $BACK_PATH) anymore. See RFC / Bug #13262 for more details.
+// *******************************
+if (isset($BACK_PATH) && strlen($BACK_PATH) > 0 && TYPO3_mainDir != 'typo3/' && substr($BACK_PATH, -7) == '/typo3/') {
+       $BACK_PATH = substr($BACK_PATH, 0, -6) . TYPO3_mainDir;
+}
+
+// *******************************
 // Checking path
 // *******************************
 $temp_path = str_replace('\\','/',dirname(PATH_thisScript).'/');
 // Checking path
 // *******************************
 $temp_path = str_replace('\\','/',dirname(PATH_thisScript).'/');
@@ -163,6 +177,10 @@ die();
        }
 }
 
        }
 }
 
+// *********************
+// Unset variable(s) in global scope (fixes #13959)
+// *********************
+unset($error);
 
 // *************************************************
 // t3lib_div + extention management class included
 
 // *************************************************
 // t3lib_div + extention management class included
@@ -177,11 +195,6 @@ require(PATH_t3lib.'config_default.php');
 if (!defined ('TYPO3_db'))     die ('The configuration file was not included.');
 
 
 if (!defined ('TYPO3_db'))     die ('The configuration file was not included.');
 
 
-// *********************
-// Autoloader
-// *********************
-require_once(PATH_t3lib . 'class.t3lib_autoloader.php');
-t3lib_autoloader::registerAutoloader();
 
 
 // *********************
 
 
 // *********************
@@ -216,7 +229,6 @@ if (TYPO3_UseCachingFramework) {
        t3lib_cache::initPageCache();
        t3lib_cache::initPageSectionCache();
        t3lib_cache::initContentHashCache();
        t3lib_cache::initPageCache();
        t3lib_cache::initPageSectionCache();
        t3lib_cache::initContentHashCache();
-       unset($cacheFactoryClass);
 }
 // *************************
 // CLI dispatch processing
 }
 // *************************
 // CLI dispatch processing
@@ -235,13 +247,13 @@ if (defined('TYPO3_cliMode') && TYPO3_cliMode && basename(PATH_thisScript)=='cli
                } else {
                        echo "The supplied 'cliKey' was not valid. Please use one of the available from this list:\n\n";
                        print_r(array_keys($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']));
                } else {
                        echo "The supplied 'cliKey' was not valid. Please use one of the available from this list:\n\n";
                        print_r(array_keys($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']));
-                       echo "\n";
+                       echo LF;
                        exit;
                }
        } else {
                echo "Please supply a 'cliKey' as first argument. The following are available:\n\n";
                print_r($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']);
                        exit;
                }
        } else {
                echo "Please supply a 'cliKey' as first argument. The following are available:\n\n";
                print_r($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']);
-               echo "\n";
+               echo LF;
                exit;
        }
 }
                exit;
        }
 }
@@ -251,9 +263,8 @@ if (defined('TYPO3_cliMode') && TYPO3_cliMode && basename(PATH_thisScript)=='cli
 // Check Hardcoded lock on BE:
 // **********************
 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0)   {
 // Check Hardcoded lock on BE:
 // **********************
 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0)   {
-       header('Status: 404 Not Found');        // Send Not Found header - if the webserver can make use of it...
-       header('Location: http://');    // Just point us away from here...
-       exit;   // ... and exit good!
+       t3lib_BEfunc::typo3printError('Backend locked', 'Backend and Install Tool are locked for maintenance. [BE][adminOnly] is set to "' . intval($TYPO3_CONF_VARS['BE']['adminOnly']) . '".');
+       exit;
 }
 if (!(defined('TYPO3_cliMode') && TYPO3_cliMode) && @is_file(PATH_typo3conf.'LOCK_BACKEND'))   {
        if (TYPO3_PROCEED_IF_NO_USER == 2) {
 }
 if (!(defined('TYPO3_cliMode') && TYPO3_cliMode) && @is_file(PATH_typo3conf.'LOCK_BACKEND'))   {
        if (TYPO3_PROCEED_IF_NO_USER == 2) {
@@ -382,6 +393,9 @@ if (TYPO3_extTableDef_script)       {
        include (PATH_typo3conf.TYPO3_extTableDef_script);
 }
 
        include (PATH_typo3conf.TYPO3_extTableDef_script);
 }
 
+       // load TYPO3 SpriteGenerating API
+$spriteManager = t3lib_div::makeInstance('t3lib_SpriteManager', TRUE);
+$spriteManager->loadCacheFile();
 
 
 // *******************************
 
 
 // *******************************
@@ -419,9 +433,9 @@ if (defined('TYPO3_cliMode') && TYPO3_cliMode)      {
        if (!strcmp($_SERVER['argv'][1],'status'))      {
                echo "Status of TYPO3 CLI script:\n\n";
                echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
        if (!strcmp($_SERVER['argv'][1],'status'))      {
                echo "Status of TYPO3 CLI script:\n\n";
                echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
-               echo "Database: ".TYPO3_db."\n";
-               echo "PATH_site: ".PATH_site."\n";
-               echo "\n";
+               echo "Database: ".TYPO3_db.LF;
+               echo "PATH_site: ".PATH_site.LF;
+               echo LF;
                exit;
        }
 }
                exit;
        }
 }