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 = 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 echo ('Error in init.php: Path to TYPO3 main dir could not be resolved correctly. <br /><br />
00100 This happens if the last '.strlen(TYPO3_mainDir).' characters of this path, '.$temp_path.', (\$temp_path) is NOT "'.TYPO3_mainDir.'" for some reason. <br />
00101 You may have a strange server configuration.
00102 Or maybe you didn\'t set constant TYPO3_MOD_PATH in your module?');
00103 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>';
00104 if (strstr($temp_path,'typo3_src')) {
00105 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 />
00106 However here is a little tip for now: Download one of the zip-file "packages", eg the "testsite" or "dummy" package.</strong></font>';
00107 }
00108 echo '<HR><pre>';
00109 print_r(array(
00110 'TYPO3_OS'=>TYPO3_OS,
00111 'PATH_thisScript'=>PATH_thisScript,
00112 'php_sapi_name()'=>php_sapi_name(),
00113 'TYPO3_MOD_PATH'=>TYPO3_MOD_PATH,
00114 'PATH_TRANSLATED'=>$_SERVER['PATH_TRANSLATED'],
00115 'SCRIPT_FILENAME'=>$_SERVER['SCRIPT_FILENAME']
00116 ));
00117 echo '</pre><HR>';
00118 phpinfo();
00119 exit;
00120 } else {
00121 define('PATH_typo3', $temp_path);
00122 define('PATH_typo3_mod', $temp_modPath);
00123 define('PATH_site', substr(PATH_typo3,0,-strlen(TYPO3_mainDir)));
00124 $temp_path_t3lib = @is_dir(PATH_site.'t3lib/') ? PATH_site.'t3lib/' : PATH_typo3.'t3lib/';
00125 define('PATH_t3lib', $temp_path_t3lib);
00126 define('PATH_typo3conf', PATH_site.'typo3conf/');
00127 }
00128
00129
00130
00131
00132
00133 require_once(PATH_t3lib.'class.t3lib_div.php');
00134 require_once(PATH_t3lib.'class.t3lib_extmgm.php');
00135
00136
00137
00138
00139 require(PATH_t3lib.'config_default.php');
00140 if (!defined ('TYPO3_db')) die ('The configuration file was not included.');
00141
00142 require_once(PATH_t3lib.'class.t3lib_db.php');
00143 $TYPO3_DB = t3lib_div::makeInstance('t3lib_DB');
00144 $TYPO3_DB->debugOutput = $TYPO3_CONF_VARS['SYS']['sqlDebug'];
00145
00146 $CLIENT = t3lib_div::clientInfo();
00147 $PARSETIME_START = t3lib_div::milliseconds();
00148
00149
00150
00151
00152
00153 require_once(PATH_t3lib.'class.t3lib_userauth.php');
00154 require_once(PATH_t3lib.'class.t3lib_userauthgroup.php');
00155 require_once(PATH_t3lib.'class.t3lib_beuserauth.php');
00156 require_once(PATH_t3lib.'class.t3lib_iconworks.php');
00157 require_once(PATH_t3lib.'class.t3lib_befunc.php');
00158 require_once(PATH_t3lib.'class.t3lib_cs.php');
00159
00160
00161
00162
00163 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0) {
00164 header('Status: 404 Not Found');
00165 header('Location: http:
00166 exit;
00167 }
00168
00169
00170
00171
00172 if (trim($TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00173 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00174 header('Status: 404 Not Found');
00175 header('Location: http:
00176 exit;
00177 }
00178 }
00179
00180
00181
00182
00183
00184 if (intval($TYPO3_CONF_VARS['BE']['lockSSL']) && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00185 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 3) {
00186 $requestStr = substr(t3lib_div::getIndpEnv('TYPO3_REQUEST_SCRIPT'), strlen(t3lib_div::getIndpEnv('TYPO3_SITE_URL').TYPO3_mainDir));
00187 if($requestStr == 'index.php' && !t3lib_div::getIndpEnv('TYPO3_SSL')) {
00188 list(,$url) = explode(':
00189 header('Location: https:
00190 }
00191 } elseif (!t3lib_div::getIndpEnv('TYPO3_SSL') ) {
00192 if ($TYPO3_CONF_VARS['BE']['lockSSL'] == 2) {
00193 list(,$url) = explode(':
00194 header('Location: https:
00195 } else {
00196 header('Status: 404 Not Found');
00197 header('Location: http:
00198 }
00199 exit;
00200 }
00201 }
00202
00203
00204
00205
00206
00207 if (t3lib_div::int_from_ver(phpversion())<4001000) die ('TYPO3 runs with PHP4.1.0+ only');
00208 if (isset($_POST['GLOBALS']) || isset($_GET['GLOBALS'])) die('You cannot set the GLOBALS-array from outside the script.');
00209 if (!get_magic_quotes_gpc()) {
00210 t3lib_div::addSlashesOnArray($_GET);
00211 t3lib_div::addSlashesOnArray($_POST);
00212 $HTTP_GET_VARS = $_GET;
00213 $HTTP_POST_VARS = $_POST;
00214 }
00215
00216
00217
00218
00219
00220 if (defined('TYPO3_enterInstallScript') && TYPO3_enterInstallScript) {
00221 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"].');
00222
00223 require_once(t3lib_extMgm::extPath('install').'mod/class.tx_install.php');
00224 $install_check = t3lib_div::makeInstance('tx_install');
00225 $install_check->allowUpdateLocalConf = 1;
00226 $install_check->init();
00227 exit;
00228 }
00229
00230
00231
00232
00233
00234 if ($GLOBALS['TYPO3_DB']->sql_pconnect(TYPO3_db_host, TYPO3_db_username, TYPO3_db_password)) {
00235 if (!TYPO3_db) {
00236 t3lib_BEfunc::typo3PrintError ('No database selected','Database Error');
00237 exit;
00238 } elseif (!$GLOBALS['TYPO3_DB']->sql_select_db(TYPO3_db)) {
00239 t3lib_BEfunc::typo3PrintError ('Cannot connect to the current database, "'.TYPO3_db.'"','Database Error');
00240 exit;
00241 }
00242 } else {
00243 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');
00244 exit;
00245 }
00246
00247
00248
00249
00250
00251 if (!$CLIENT['BROWSER'] && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00252 t3lib_BEfunc::typo3PrintError ('Browser error','You must use 4+ browsers with TYPO3!',0);
00253 exit;
00254 }
00255
00256
00257
00258
00259
00260 include (TYPO3_tables_script ? PATH_typo3conf.TYPO3_tables_script : PATH_t3lib.'stddb/tables.php');
00261
00262 if ($TYPO3_LOADED_EXT['_CACHEFILE']) {
00263 include (PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_tables.php');
00264 } else {
00265 include (PATH_t3lib.'stddb/load_ext_tables.php');
00266 }
00267
00268 if (TYPO3_extTableDef_script) {
00269 include (PATH_typo3conf.TYPO3_extTableDef_script);
00270 }
00271
00272
00273
00274
00275
00276
00277
00278
00279 $BE_USER = t3lib_div::makeInstance('t3lib_beUserAuth');
00280 $BE_USER->warningEmail = $TYPO3_CONF_VARS['BE']['warning_email_addr'];
00281 $BE_USER->lockIP = $TYPO3_CONF_VARS['BE']['lockIP'];
00282 $BE_USER->auth_timeout_field = intval($TYPO3_CONF_VARS['BE']['sessionTimeout']);
00283 $BE_USER->OS = TYPO3_OS;
00284 $BE_USER->start();
00285 $BE_USER->checkCLIuser();
00286 $BE_USER->backendCheckLogin();
00287 $BE_USER->trackBeUser($TYPO3_CONF_VARS['BE']['trackBeUser']);
00288
00289
00290 $WEBMOUNTS = $BE_USER->returnWebmounts();
00291 $FILEMOUNTS = $BE_USER->returnFilemounts();
00292
00293
00294
00295
00296
00297 if (defined('TYPO3_cliMode') && TYPO3_cliMode) {
00298
00299 if (!strcmp($_SERVER['argv'][1],'status')) {
00300 echo "Status of TYPO3 CLI script:\n\n";
00301 echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
00302 echo "Database: ".TYPO3_db."\n";
00303 echo "PATH_site: ".PATH_site."\n";
00304 echo "\n";
00305 exit;
00306 }
00307 }
00308
00309
00310
00311
00312 if ($TYPO3_CONF_VARS['BE']['compressionLevel']) {
00313 ob_start();
00314 require_once (PATH_t3lib.'class.gzip_encode.php');
00315 }
00316 ?>