[TASK] Restructure bootstrap classes
[Packages/TYPO3.CMS.git] / typo3 / install / index.php
1 <?php
2 /***************************************************************
3 * Copyright notice
4 *
5 * (c) 1999-2011 Kasper Skårhøj (kasperYYYY@typo3.com)
6 * All rights reserved
7 *
8 * This script is part of the TYPO3 project. The TYPO3 project is
9 * free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
13 *
14 * The GNU General Public License can be found at
15 * http://www.gnu.org/copyleft/gpl.html.
16 * A copy is found in the textfile GPL.txt and important notices to the license
17 * from the author is found in LICENSE.txt distributed with these scripts.
18 *
19 *
20 * This script is distributed in the hope that it will be useful,
21 * but WITHOUT ANY WARRANTY; without even the implied warranty of
22 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
23 * GNU General Public License for more details.
24 *
25 * This copyright notice MUST APPEAR in all copies of the script!
26 ***************************************************************/
27 /**
28 * Starter-script for install screen
29 *
30 * @author Kasper Skårhøj <kasperYYYY@typo3.com>
31 * @package TYPO3
32 * @subpackage core
33 */
34
35 ob_start();
36
37 define('TYPO3_MODE', 'BE');
38 define('TYPO3_enterInstallScript', '1');
39
40 // We use require instead of require_once here so we get a fatal error if classes/Bootstrap.php is accidentally included twice
41 // (which would indicate a clear bug).
42 require('../classes/Bootstrap.php');
43 Typo3_Bootstrap::getInstance()
44 ->checkEnvironmentOrDie()
45 ->defineBaseConstants()
46 ->defineAndCheckPaths('typo3/install/')
47 ->requireBaseClasses()
48 ->setUpEnvironment();
49
50 require('../classes/Bootstrap/Install.php');
51 Typo3_Bootstrap_Install::checkEnabledInstallToolOrDie();
52
53 Typo3_Bootstrap::getInstance()
54 ->loadDefaultTypo3ConfVars()
55 ->registerExtDirectComponents()
56 ->initializeGlobalVariables()
57 ->checkLocalconfExistsOrDie()
58 ->setGlobalDatabaseVariablesToEmptyString()
59 ->loadMainConfigurationFile()
60 ->defineTypo3DatabaseConstants()
61 ->initializeCachingFramework()
62 ->registerAutoloader()
63 ->addCorePearPathToIncludePath()
64 ->checkUtf8DatabaseSettingsOrDie()
65 ->transferDeprecatedCurlSettings()
66 ->setCacheHashOptions()
67 ->enforceCorrectProxyAuthScheme()
68 ->setDefaultTimezone()
69 ->initializeL10nLocales()
70 ->configureImageProcessingOptions()
71 ->convertPageNotFoundHandlingToBoolean()
72 ->registerGlobalDebugFunctions()
73 ->registerSwiftMailer()
74 ->configureExceptionHandling()
75 ->setMemoryLimit()
76 ->defineTypo3RequestTypes()
77 ->loadAdditionalConfigurationFromExtensions()
78 ->deprecationLogForOldXclassRegistration()
79 ->initializeExceptionHandling()
80 ->requireAdditionalExtensionFiles()
81 ->setFinalCachingFrameworkCacheConfiguration()
82 ->defineLoggingAndExceptionConstants()
83 ->unsetReservedGlobalVariables()
84 ->initializeGlobalTimeVariables()
85 ->initializeTypo3DbGlobal(FALSE)
86 ->checkLockedBackendAndRedirectOrDie()
87 ->checkBackendIpOrDie()
88 ->checkSslBackendAndRedirectIfNeeded();
89
90 // Run install script
91 if (!t3lib_extMgm::isLoaded('install')) {
92 die('Install Tool is not loaded as an extension.<br />You must add the key "install" to the list of installed extensions in typo3conf/localconf.php, $TYPO3_CONF_VARS[\'EXT\'][\'extList\'].');
93 }
94
95 require_once(t3lib_extMgm::extPath('install') . 'mod/class.tx_install.php');
96 $install_check = t3lib_div::makeInstance('tx_install');
97 $install_check->allowUpdateLocalConf = 1;
98 $install_check->init();
99 ?>