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
00164
00165 if (defined('TYPO3_cliMode') && TYPO3_cliMode && basename(PATH_thisScript)=='cli_dispatch.phpsh') {
00166
00167 $temp_cliScriptPath = array_shift($_SERVER['argv']);
00168 $temp_cliKey = array_shift($_SERVER['argv']);
00169 array_unshift($_SERVER['argv'],$temp_cliScriptPath);
00170
00171
00172 if ($temp_cliKey) {
00173 if (is_array($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys'][$temp_cliKey])) {
00174 define('TYPO3_cliInclude', t3lib_div::getFileAbsFileName($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys'][$temp_cliKey][0]));
00175 $MCONF['name'] = $TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys'][$temp_cliKey][1];
00176 } else {
00177 echo "The supplied 'cliKey' was not valid. Please use one of the available from this list:\n\n";
00178 print_r(array_keys($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']));
00179 echo "\n";
00180 exit;
00181 }
00182 } else {
00183 echo "Please supply a 'cliKey' as first argument. The following are available:\n\n";
00184 print_r($TYPO3_CONF_VARS['SC_OPTIONS']['GLOBAL']['cliKeys']);
00185 echo "\n";
00186 exit;
00187 }
00188 }
00189
00190
00191
00192
00193
00194
00195 require_once(PATH_t3lib.'class.t3lib_userauth.php');
00196 require_once(PATH_t3lib.'class.t3lib_userauthgroup.php');
00197 require_once(PATH_t3lib.'class.t3lib_beuserauth.php');
00198 require_once(PATH_t3lib.'class.t3lib_iconworks.php');
00199 require_once(PATH_t3lib.'class.t3lib_befunc.php');
00200 require_once(PATH_t3lib.'class.t3lib_cs.php');
00201
00202
00203
00204
00205 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0) {
00206 header('Status: 404 Not Found');
00207 header('Location: http:
00208 exit;
00209 }
00210
00211
00212
00213
00214 if (trim($TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00215 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00216 header('Status: 404 Not Found');
00217 header('Location: http:
00218 exit;
00219 }
00220 }
00221
00222
00223
00224
00225
00226 if (intval($TYPO3_CONF_VARS['BE']['lockSSL']) && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00227 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 3) {
00228 $requestStr = substr(t3lib_div::getIndpEnv('TYPO3_REQUEST_SCRIPT'), strlen(t3lib_div::getIndpEnv('TYPO3_SITE_URL').TYPO3_mainDir));
00229 if($requestStr == 'index.php' && !t3lib_div::getIndpEnv('TYPO3_SSL')) {
00230 list(,$url) = explode(':
00231 header('Location: https:
00232 }
00233 } elseif (!t3lib_div::getIndpEnv('TYPO3_SSL') ) {
00234 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 2) {
00235 list(,$url) = explode(':
00236 header('Location: https:
00237 } else {
00238 header('Status: 404 Not Found');
00239 header('Location: http:
00240 }
00241 exit;
00242 }
00243 }
00244
00245
00246
00247
00248
00249 if (t3lib_div::int_from_ver(phpversion())<4001000) die ('TYPO3 runs with PHP4.1.0+ only');
00250 if (isset($_POST['GLOBALS']) || isset($_GET['GLOBALS'])) die('You cannot set the GLOBALS-array from outside the script.');
00251 if (!get_magic_quotes_gpc()) {
00252 t3lib_div::addSlashesOnArray($_GET);
00253 t3lib_div::addSlashesOnArray($_POST);
00254 $HTTP_GET_VARS = $_GET;
00255 $HTTP_POST_VARS = $_POST;
00256 }
00257
00258
00259
00260
00261
00262 if (defined('TYPO3_enterInstallScript') && TYPO3_enterInstallScript) {
00263 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"].');
00264
00265 require_once(t3lib_extMgm::extPath('install').'mod/class.tx_install.php');
00266 $install_check = t3lib_div::makeInstance('tx_install');
00267 $install_check->allowUpdateLocalConf = 1;
00268 $install_check->init();
00269 exit;
00270 }
00271
00272
00273
00274
00275
00276 if ($TYPO3_DB->sql_pconnect(TYPO3_db_host, TYPO3_db_username, TYPO3_db_password)) {
00277 if (!TYPO3_db) {
00278 t3lib_BEfunc::typo3PrintError ('No database selected','Database Error');
00279 exit;
00280 } elseif (!$TYPO3_DB->sql_select_db(TYPO3_db)) {
00281 t3lib_BEfunc::typo3PrintError ('Cannot connect to the current database, "'.TYPO3_db.'"','Database Error');
00282 exit;
00283 }
00284 } else {
00285 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');
00286 exit;
00287 }
00288
00289
00290
00291
00292
00293 if (!$CLIENT['BROWSER'] && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00294 t3lib_BEfunc::typo3PrintError ('Browser error','Your browser version looks incompatible with this TYPO3 version!',0);
00295 exit;
00296 }
00297
00298
00299
00300
00301
00302 include (TYPO3_tables_script ? PATH_typo3conf.TYPO3_tables_script : PATH_t3lib.'stddb/tables.php');
00303
00304 if ($TYPO3_LOADED_EXT['_CACHEFILE']) {
00305 include (PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_tables.php');
00306 } else {
00307 include (PATH_t3lib.'stddb/load_ext_tables.php');
00308 }
00309
00310 if (TYPO3_extTableDef_script) {
00311 include (PATH_typo3conf.TYPO3_extTableDef_script);
00312 }
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323 $BE_USER = t3lib_div::makeInstance('t3lib_beUserAuth');
00324 $BE_USER->warningEmail = $TYPO3_CONF_VARS['BE']['warning_email_addr'];
00325 $BE_USER->lockIP = $TYPO3_CONF_VARS['BE']['lockIP'];
00326 $BE_USER->auth_timeout_field = intval($TYPO3_CONF_VARS['BE']['sessionTimeout']);
00327 $BE_USER->OS = TYPO3_OS;
00328 $BE_USER->start();
00329 $BE_USER->checkCLIuser();
00330 $BE_USER->backendCheckLogin();
00331 $BE_USER->trackBeUser($TYPO3_CONF_VARS['BE']['trackBeUser']);
00332
00333
00334 $WEBMOUNTS = $BE_USER->returnWebmounts();
00335 $FILEMOUNTS = $BE_USER->returnFilemounts();
00336
00337
00338
00339
00340
00341 if (defined('TYPO3_cliMode') && TYPO3_cliMode) {
00342
00343 if (!strcmp($_SERVER['argv'][1],'status')) {
00344 echo "Status of TYPO3 CLI script:\n\n";
00345 echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
00346 echo "Database: ".TYPO3_db."\n";
00347 echo "PATH_site: ".PATH_site."\n";
00348 echo "\n";
00349 exit;
00350 }
00351 }
00352
00353
00354
00355
00356 if ($TYPO3_CONF_VARS['BE']['compressionLevel']) {
00357 ob_start();
00358 require_once (PATH_t3lib.'class.gzip_encode.php');
00359 }
00360 ?>