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 define('PATH_t3lib', PATH_typo3.'t3lib/');
00125 define('PATH_typo3conf', PATH_site.'typo3conf/');
00126 }
00127
00128
00129
00130
00131
00132 require_once(PATH_t3lib.'class.t3lib_div.php');
00133 require_once(PATH_t3lib.'class.t3lib_extmgm.php');
00134
00135
00136
00137
00138 require(PATH_t3lib.'config_default.php');
00139 if (!defined ('TYPO3_db')) die ('The configuration file was not included.');
00140
00141 require_once(PATH_t3lib.'class.t3lib_db.php');
00142 $TYPO3_DB = t3lib_div::makeInstance('t3lib_DB');
00143
00144 $CLIENT = t3lib_div::clientInfo();
00145 $PARSETIME_START = t3lib_div::milliseconds();
00146
00147
00148
00149
00150
00151 require_once(PATH_t3lib.'class.t3lib_userauth.php');
00152 require_once(PATH_t3lib.'class.t3lib_userauthgroup.php');
00153 require_once(PATH_t3lib.'class.t3lib_beuserauth.php');
00154 require_once(PATH_t3lib.'class.t3lib_iconworks.php');
00155 require_once(PATH_t3lib.'class.t3lib_befunc.php');
00156 require_once(PATH_t3lib.'class.t3lib_cs.php');
00157
00158
00159
00160
00161 if ($TYPO3_CONF_VARS['BE']['adminOnly'] < 0) {
00162 header('Status: 404 Not Found');
00163 header('Location: http:
00164 exit;
00165 }
00166
00167
00168
00169
00170 if (trim($TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00171 if (!t3lib_div::cmpIP(t3lib_div::getIndpEnv('REMOTE_ADDR'), $TYPO3_CONF_VARS['BE']['IPmaskList'])) {
00172 header('Status: 404 Not Found');
00173 header('Location: http:
00174 exit;
00175 }
00176 }
00177
00178
00179
00180
00181
00182 if (intval($TYPO3_CONF_VARS['BE']['lockSSL'])) {
00183 if (!t3lib_div::getIndpEnv('TYPO3_SSL')) {
00184 if ($TYPO3_CONF_VARS['BE']['lockSSL']==2) {
00185 list(,$url) = explode(':
00186 header('Location: https:
00187 } else {
00188 header('Status: 404 Not Found');
00189 header('Location: http:
00190 }
00191 exit;
00192 }
00193 }
00194
00195
00196
00197
00198
00199 if (t3lib_div::int_from_ver(phpversion())<4001000) die ('TYPO3 runs with PHP4.1.0+ only');
00200 if (isset($_POST['GLOBALS']) || isset($_GET['GLOBALS'])) die('You cannot set the GLOBALS-array from outside the script.');
00201 if (!get_magic_quotes_gpc()) {
00202 t3lib_div::addSlashesOnArray($_GET);
00203 t3lib_div::addSlashesOnArray($_POST);
00204 $HTTP_GET_VARS = $_GET;
00205 $HTTP_POST_VARS = $_POST;
00206 }
00207
00208
00209
00210
00211
00212 if (defined('TYPO3_enterInstallScript') && TYPO3_enterInstallScript) {
00213 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 typo3temp/localconf.php, $TYPO3_CONF_VARS["EXT"]["extList"].');
00214
00215 require_once(t3lib_extMgm::extPath('install').'mod/class.tx_install.php');
00216 $install_check = t3lib_div::makeInstance('tx_install');
00217 $install_check->allowUpdateLocalConf = 1;
00218 $install_check->init();
00219 exit;
00220 }
00221
00222
00223
00224
00225
00226 if ($GLOBALS['TYPO3_DB']->sql_pconnect(TYPO3_db_host, TYPO3_db_username, TYPO3_db_password)) {
00227 if (!TYPO3_db) {
00228 t3lib_BEfunc::typo3PrintError ('No database selected','Database Error');
00229 exit;
00230 } elseif (!$GLOBALS['TYPO3_DB']->sql_select_db(TYPO3_db)) {
00231 t3lib_BEfunc::typo3PrintError ('Cannot connect to the current database, "'.TYPO3_db.'"','Database Error');
00232 exit;
00233 }
00234 } else {
00235 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');
00236 exit;
00237 }
00238
00239
00240
00241
00242
00243 if (!$CLIENT['BROWSER'] && !(defined('TYPO3_cliMode') && TYPO3_cliMode)) {
00244 t3lib_BEfunc::typo3PrintError ('Browser error','You must use 4+ browsers with TYPO3!',0);
00245 exit;
00246 }
00247
00248
00249
00250
00251
00252 include (TYPO3_tables_script ? PATH_typo3conf.TYPO3_tables_script : PATH_t3lib.'stddb/tables.php');
00253
00254 if ($TYPO3_LOADED_EXT['_CACHEFILE']) {
00255 include (PATH_typo3conf.$TYPO3_LOADED_EXT['_CACHEFILE'].'_ext_tables.php');
00256 } else {
00257 include (PATH_t3lib.'stddb/load_ext_tables.php');
00258 }
00259
00260 if (TYPO3_extTableDef_script) {
00261 include (PATH_typo3conf.TYPO3_extTableDef_script);
00262 }
00263
00264
00265
00266
00267
00268
00269
00270
00271 $BE_USER = t3lib_div::makeInstance('t3lib_beUserAuth');
00272 $BE_USER->warningEmail = $TYPO3_CONF_VARS['BE']['warning_email_addr'];
00273 $BE_USER->lockIP = $TYPO3_CONF_VARS['BE']['lockIP'];
00274 $BE_USER->auth_timeout_field = intval($TYPO3_CONF_VARS['BE']['sessionTimeout']);
00275 $BE_USER->OS = TYPO3_OS;
00276 $BE_USER->start();
00277 $BE_USER->checkCLIuser();
00278 $BE_USER->backendCheckLogin();
00279 $BE_USER->trackBeUser($TYPO3_CONF_VARS['BE']['trackBeUser']);
00280
00281
00282 $WEBMOUNTS = $BE_USER->returnWebmounts();
00283 $FILEMOUNTS = $BE_USER->returnFilemounts();
00284
00285
00286
00287
00288
00289 if (defined('TYPO3_cliMode') && TYPO3_cliMode) {
00290
00291 if (!strcmp($_SERVER['argv'][1],'status')) {
00292 echo "Status of TYPO3 CLI script:\n\n";
00293 echo "Username [uid]: ".$BE_USER->user['username']." [".$BE_USER->user['uid']."]\n";
00294 echo "Database: ".TYPO3_db."\n";
00295 echo "PATH_site: ".PATH_site."\n";
00296 echo "\n";
00297 exit;
00298 }
00299 }
00300
00301
00302
00303
00304 if ($TYPO3_CONF_VARS['BE']['compressionLevel']) {
00305 ob_start();
00306 require_once (PATH_t3lib.'class.gzip_encode.php');
00307 }
00308 ?>