00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00061
00062
00063
00064 error_reporting (E_ALL ^ E_NOTICE);
00065
00066
00067
00068
00069
00070 define('TYPO3_OS', stristr(PHP_OS,'win')&&!stristr(PHP_OS,'darwin')?'WIN':'');
00071 define('TYPO3_MODE','BE');
00072 define('PATH_thisScript',str_replace('
00073 define('TYPO3_mainDir', 'typo3/');
00074
00075
00076
00077
00078
00079 $temp_path = str_replace('\\','/',dirname(PATH_thisScript).'/');
00080 $temp_modPath='';
00081
00082 if (substr($temp_path,-strlen(TYPO3_mainDir))!=TYPO3_mainDir) {
00083 if (defined('TYPO3_MOD_PATH')) {
00084 if (substr($temp_path,-strlen(TYPO3_MOD_PATH))==TYPO3_MOD_PATH) {
00085 $temp_path=substr($temp_path,0,-strlen(TYPO3_MOD_PATH));
00086 $temp_modPath=TYPO3_MOD_PATH;
00087 } elseif (substr(TYPO3_MOD_PATH,0,13)=='../typo3conf/' && (substr(TYPO3_MOD_PATH,3)==substr($temp_path,-strlen(substr(TYPO3_MOD_PATH,3))))) {
00088 $temp_path = substr($temp_path,0,-strlen(substr(TYPO3_MOD_PATH,3))).TYPO3_mainDir;
00089 $temp_modPath=TYPO3_MOD_PATH;
00090 }
00091 if (!@is_dir($temp_path)) {
00092 $temp_path='';
00093 }
00094 }
00095 }
00096
00097
00098 if (!$temp_path || substr($temp_path,-strlen(TYPO3_mainDir))!=TYPO3_mainDir) {
00099 if (TYPO3_OS=='WIN') {
00100 $thisPath_base = basename(substr($temp_path,-strlen(TYPO3_mainDir)));
00101 $mainPath_base = basename(TYPO3_mainDir);
00102 if (!strcasecmp($thisPath, $mainPath)) {
00103 $script_name = (php_sapi_name()=='cgi'||php_sapi_name()=='cgi-fcgi')&&($_SERVER['ORIG_PATH_INFO']?$_SERVER['ORIG_PATH_INFO']:$_SERVER['PATH_INFO']) ? ($_SERVER['ORIG_PATH_INFO']?$_SERVER['ORIG_PATH_INFO']:$_SERVER['PATH_INFO']) : ($_SERVER['ORIG_SCRIPT_NAME']?$_SERVER['ORIG_SCRIPT_NAME']:$_SERVER['SCRIPT_NAME']);
00104 header('Location: '.str_replace($thisPath_base, $mainPath_base, $script_name));
00105 exit;
00106 }
00107 }
00108
00109 echo ('Error in init.php: Path to TYPO3 main dir could not be resolved correctly. <br /><br />
00110 This happens if the last '.strlen(TYPO3_mainDir).' characters of this path, '.$temp_path.', (\$temp_path) is NOT "'.TYPO3_mainDir.'" for some reason. <br />
00111 You may have a strange server configuration.
00112 Or maybe you didn\'t set constant TYPO3_MOD_PATH in your module?');
00113 echo '<br /><strong>If you expect any help from anybody on this issue, you should save this page as an html document and send it along with your request for help!</strong>';
00114 if (strstr($temp_path,'typo3_src')) {
00115 echo '<br /><font color="red"><strong> It seems you are trying to run the TYPO3 source libraries DIRECTLY! You cannot do that. Please read the installation documents for more information.<br />
00116 However here is a little tip for now: Download one of the zip-file "packages", eg the "testsite" or "dummy" package.</strong></font>';
00117 }
00118 echo '<HR><pre>';
00119 print_r(array(
00120 'TYPO3_OS'=>TYPO3_OS,
00121 'PATH_thisScript'=>PATH_thisScript,
00122 'php_sapi_name()'=>php_sapi_name(),
00123 'TYPO3_MOD_PATH'=>TYPO3_MOD_PATH,
00124 'PATH_TRANSLATED'=>$_SERVER['PATH_TRANSLATED'],
00125 'SCRIPT_FILENAME'=>$_SERVER['SCRIPT_FILENAME']
00126 ));
00127 echo '</pre><HR>';
00128 phpinfo();
00129 exit;
00130 } else {
00131 define('PATH_typo3', $temp_path);
00132 define('PATH_typo3_mod', $temp_modPath);
00133 define('PATH_site', substr(PATH_typo3,0,-strlen(TYPO3_mainDir)));
00134 $temp_path_t3lib = @is_dir(PATH_site.'t3lib/') ? PATH_site.'t3lib/' : PATH_typo3.'t3lib/';
00135 define('PATH_t3lib', $temp_path_t3lib);
00136 define('PATH_typo3conf', PATH_site.'typo3conf/');
00137 }
00138
00139
00140
00141
00142
00143 require_once(PATH_t3lib.'class.t3lib_div.php');
00144 require_once(PATH_t3lib.'class.t3lib_extmgm.php');
00145
00146
00147
00148
00149 require(PATH_t3lib.'config_default.php');
00150 if (!defined ('TYPO3_db')) die ('The configuration file was not included.');
00151
00152 require_once(PATH_t3lib.'class.t3lib_db.php');
00153 $TYPO3_DB = t3lib_div::makeInstance('t3lib_DB');
00154 $TYPO3_DB->debugOutput = $TYPO3_CONF_VARS['SYS']['sqlDebug'];
00155
00156 $CLIENT = t3lib_div::clientInfo();
00157 $PARSETIME_START = t3lib_div::milliseconds();
00158
00159
00160
00161
00162
00163 require_once(PATH_t3lib.'class.t3lib_userauth.php');
00164 require_once(PATH_t3lib.'class.t3lib_userauthgroup.php');
00165 require_once(PATH_t3lib.'class.t3lib_beuserauth.php');
00166 require_once(PATH_t3lib.'class.t3lib_iconworks.php');
00167 require_once(PATH_t3lib.'class.t3lib_befunc.php');
00168 require_once(PATH_t3lib.'class.t3lib_cs.php');
00169
00170
00171
00172
00173 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0) {
00174 header('Status: 404 Not Found');
00175 header('Location: http:
00176 exit;
00177 }
00178
00179
00180
00181
00182 if (trim($TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00183 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00184 header('Status: 404 Not Found');
00185 header('Location: http:
00186 exit;
00187 }
00188 }
00189
00190
00191
00192
00193
00194 if (intval($TYPO3_CONF_VARS['BE']['lockSSL']) && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00195 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 3) {
00196 $requestStr = substr(t3lib_div::getIndpEnv('TYPO3_REQUEST_SCRIPT'), strlen(t3lib_div::getIndpEnv('TYPO3_SITE_URL').TYPO3_mainDir));
00197 if($requestStr == 'index.php' && !t3lib_div::getIndpEnv('TYPO3_SSL')) {
00198 list(,$url) = explode(':
00199 header('Location: https:
00200 }
00201 } elseif (!t3lib_div::getIndpEnv('TYPO3_SSL') ) {
00202 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 2) {
00203 list(,$url) = explode(':
00204 header('Location: https:
00205 } else {
00206 header('Status: 404 Not Found');
00207 header('Location: http:
00208 }
00209 exit;
00210 }
00211 }
00212
00213
00214
00215
00216
00217 if (t3lib_div::int_from_ver(phpversion())<4001000) die ('TYPO3 runs with PHP4.1.0+ only');
00218 if (isset($_POST['GLOBALS']) || isset($_GET['GLOBALS'])) die('You cannot set the GLOBALS-array from outside the script.');
00219 if (!get_magic_quotes_gpc()) {
00220 t3lib_div::addSlashesOnArray($_GET);
00221 t3lib_div::addSlashesOnArray($_POST);
00222 $HTTP_GET_VARS = $_GET;
00223 $HTTP_POST_VARS = $_POST;
00224 }
00225
00226
00227
00228
00229
00230 if (defined('TYPO3_enterInstallScript') && TYPO3_enterInstallScript) {
00231 if (!t3lib_extMgm::isLoaded('install')) 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"].');
00232
00233 require_once(t3lib_extMgm::extPath('install').'mod/class.tx_install.php');
00234 $install_check = t3lib_div::makeInstance('tx_install');
00235 $install_check->allowUpdateLocalConf = 1;
00236 $install_check->init();
00237 exit;
00238 }
00239
00240
00241
00242
00243
00244 if ($GLOBALS['TYPO3_DB']->sql_pconnect(TYPO3_db_host, TYPO3_db_username, TYPO3_db_password)) {
00245 if (!TYPO3_db) {
00246 t3lib_BEfunc::typo3PrintError ('No database selected','Database Error');
00247 exit;
00248 } elseif (!$GLOBALS['TYPO3_DB']->sql_select_db(TYPO3_db)) {
00249 t3lib_BEfunc::typo3PrintError ('Cannot connect to the current database, "'.TYPO3_db.'"','Database Error');
00250 exit;
00251 }
00252 } else {
00253 t3lib_BEfunc::typo3PrintError ('The current username, password or host was not accepted when the connection to the database was attempted to be established!','Database Error');
00254 exit;
00255 }
00256
00257
00258
00259
00260
00261 if (!$CLIENT['BROWSER'] && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00262 t3lib_BEfunc::typo3PrintError ('Browser error','You must use 4+ browsers with TYPO3!',0);
00263 exit;
00264 }
00265
00266
00267
00268
00269
00270 include (TYPO3_tables_script ? PATH_typo3conf.TYPO3_tables_script : PATH_t3lib.'stddb/tables.php');
00271
00272 if ($TYPO3_LOADED_EXT['_CACHEFILE']) {
00273 include (PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_tables.php');
00274 } else {
00275 include (PATH_t3lib.'stddb/load_ext_tables.php');
00276 }
00277
00278 if (TYPO3_extTableDef_script) {
00279 include (PATH_typo3conf.TYPO3_extTableDef_script);
00280 }
00281
00282
00283
00284
00285
00286
00287
00288
00289 $BE_USER = t3lib_div::makeInstance('t3lib_beUserAuth');
00290 $BE_USER->warningEmail = $TYPO3_CONF_VARS['BE']['warning_email_addr'];
00291 $BE_USER->lockIP = $TYPO3_CONF_VARS['BE']['lockIP'];
00292 $BE_USER->auth_timeout_field = intval($TYPO3_CONF_VARS['BE']['sessionTimeout']);
00293 $BE_USER->OS = TYPO3_OS;
00294 $BE_USER->start();
00295 $BE_USER->checkCLIuser();
00296 $BE_USER->backendCheckLogin();
00297 $BE_USER->trackBeUser($TYPO3_CONF_VARS['BE']['trackBeUser']);
00298
00299
00300 $WEBMOUNTS = $BE_USER->returnWebmounts();
00301 $FILEMOUNTS = $BE_USER->returnFilemounts();
00302
00303
00304
00305
00306
00307 if (defined('TYPO3_cliMode') && TYPO3_cliMode) {
00308
00309 if (!strcmp($_SERVER['argv'][1],'status')) {
00310 echo "Status of TYPO3 CLI script:\n\n";
00311 echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
00312 echo "Database: ".TYPO3_db."\n";
00313 echo "PATH_site: ".PATH_site."\n";
00314 echo "\n";
00315 exit;
00316 }
00317 }
00318
00319
00320
00321
00322 if ($TYPO3_CONF_VARS['BE']['compressionLevel']) {
00323 ob_start();
00324 require_once (PATH_t3lib.'class.gzip_encode.php');
00325 }
00326 ?>