00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00035
00036 include("include/inc.get_pear.php");
00037
00038
00039 require_once "classes/class.ilUtil.php";
00040 require_once "classes/class.ilBenchmark.php";
00041 $ilBench =& new ilBenchmark();
00042 $GLOBALS['ilBench'] =& $ilBench;
00043 $ilBench->start("Core", "HeaderInclude");
00044
00045
00046 $t_pagestart = ilUtil::StopWatch();
00047
00048 $ilBench->start("Core", "HeaderInclude_IncludeFiles");
00049
00050
00051 require_once "PEAR.php";
00052 require_once "DB.php";
00053 require_once "Auth/Auth.php";
00054
00055
00056
00057
00058
00059 @include_once "HTML/ITX.php";
00060
00061 if (!class_exists("IntegratedTemplateExtension"))
00062 {
00063 include_once "HTML/Template/ITX.php";
00064
00065 include_once "classes/class.ilTemplateHTMLITX.php";
00066 }
00067 else
00068 {
00069
00070 include_once "classes/class.ilTemplateITX.php";
00071 }
00072 require_once "classes/class.ilTemplate.php";
00073
00074
00075 require_once "include/inc.db_session_handler.php";
00076 require_once "classes/class.ilIniFile.php";
00077 require_once "classes/class.ilDBx.php";
00078 require_once "classes/class.ilShibboleth.php";
00079 require_once "classes/class.ilias.php";
00080 require_once "classes/class.ilObjUser.php";
00081 require_once "classes/class.ilFormat.php";
00082 require_once "classes/class.ilSaxParser.php";
00083 require_once "classes/class.ilObjectDefinition.php";
00084 require_once "classes/class.ilStyleDefinition.php";
00085 require_once "classes/class.perm.php";
00086 require_once "classes/class.ilTree.php";
00087 require_once "classes/class.ilLanguage.php";
00088 require_once "classes/class.ilLog.php";
00089 require_once "classes/class.ilMailbox.php";
00090 require_once "classes/class.ilCtrl.php";
00091 require_once "classes/class.ilConditionHandler.php";
00092 require_once "classes/class.ilBrowser.php";
00093 require_once "classes/class.ilFrameTargetInfo.php";
00094 require_once "Services/Help/classes/class.ilHelp.php";
00095 require_once "include/inc.ilias_version.php";
00096
00097
00098 require_once "Services/AccessControl/classes/class.ilAccessHandler.php";
00099 require_once "classes/class.ilRbacAdmin.php";
00100 require_once "classes/class.ilRbacSystem.php";
00101 require_once "classes/class.ilRbacReview.php";
00102
00103
00104 require_once "classes/class.ilObjectDataCache.php";
00105
00106 require_once 'Services/Tracking/classes/class.ilOnlineTracking.php';
00107
00108
00109
00110
00111
00112
00113 require_once "classes/class.ilLocatorGUI.php";
00114
00115
00116 require_once "classes/class.ilErrorHandling.php";
00117
00118 $ilBench->stop("Core", "HeaderInclude_IncludeFiles");
00119
00120
00121 if (is_array($_GET))
00122 {
00123 foreach($_GET as $k => $v)
00124 {
00125 if (!in_array($k, array("file")))
00126 {
00127 $_GET[$k] = str_replace(array("\x00", "\n", "\r", "\\", "'", '"', "\x1a"), "", $v);
00128 }
00129
00130
00131 $_GET[$k] = strip_tags($_GET[$k]);
00132 }
00133 }
00134
00135
00136 $ilBench->start("Core", "HeaderInclude_GetErrorHandler");
00137 $ilErr = new ilErrorHandling();
00138 $GLOBALS['ilErr'] =& $ilErr;
00139 $ilErr->setErrorHandling(PEAR_ERROR_CALLBACK,array($ilErr,'errorHandler'));
00140 $ilBench->stop("Core", "HeaderInclude_GetErrorHandler");
00141
00142
00143 $ilBench->start("Core", "HeaderInclude_GetILIASObject");
00144 $ilias =& new ILIAS($_COOKIE["ilClientId"]);
00145 $GLOBALS['ilias'] =& $ilias;
00146 $ilBench->stop("Core", "HeaderInclude_GetILIASObject");
00147
00148
00149 if (DEVMODE)
00150 {
00151 if (function_exists("xdebug_start_trace"))
00152 {
00153
00154 }
00155 }
00156
00157
00158 require_once './classes/class.ilHTTPS.php';
00159
00160 $https =& new ilHTTPS();
00161 $GLOBALS['https'] =& $https;
00162 $https->checkPort();
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172 $ilObjDataCache = new ilObjectDataCache();
00173 $GLOBALS['ilObjDataCache'] =& $ilObjDataCache;
00174
00175
00176
00177 if ($_SESSION["message"])
00178 {
00179 $_POST = $_SESSION["post_vars"];
00180 }
00181
00182
00183
00184
00185 include_once "include/inc.debug.php";
00186
00187
00188
00189 $log = new ilLog(ILIAS_LOG_DIR,ILIAS_LOG_FILE,$ilias->getClientId(),ILIAS_LOG_ENABLED,ILIAS_LOG_LEVEL);
00190 $GLOBALS['log'] =& $log;
00191 $ilLog =& $log;
00192 $GLOBALS['ilLog'] =& $ilLog;
00193
00194
00195
00196
00197 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($ilErr, "errorHandler"));
00198 $ilBench->start("Core", "HeaderInclude_Authentication");
00199 $ilias->auth->start();
00200 $ilias->setAuthError($ilErr->getLastError());
00201 $ilBench->stop("Core", "HeaderInclude_Authentication");
00202
00203
00204
00205 if ($_GET["cmd"] == "force_login")
00206 {
00207 $ilias->auth->logout();
00208 $_SESSION["AccountId"] = "";
00209 $ilias->auth->start();
00210 $ilias->setAuthError($ilErr->getLastError());
00211 }
00212
00213
00214 $ilBench->start("Core", "HeaderInclude_getObjectDefinitions");
00215 $objDefinition = new ilObjectDefinition();
00216 $GLOBALS['objDefinition'] =& $objDefinition;
00217 $objDefinition->startParsing();
00218 $ilBench->stop("Core", "HeaderInclude_getObjectDefinitions");
00219
00220
00221
00222 $ilBench->start("Core", "HeaderInclude_getCurrentUser");
00223 $ilias->account = new ilObjUser();
00224 $ilBench->stop("Core", "HeaderInclude_getCurrentUser");
00225
00226
00227 $ilUser =& $ilias->account;
00228 $GLOBALS['ilUser'] =& $ilias->account;
00229 $ilCtrl = new ilCtrl();
00230 $GLOBALS['ilCtrl'] =& $ilCtrl;
00231
00232
00233 $script = substr(strrchr($_SERVER["PHP_SELF"],"/"),1);
00234
00235
00236 if (in_array($script, array("login.php", "register.php", "view_usr_agreement.php")))
00237 {
00238
00239 $ilBench->start("Core", "HeaderInclude_getStyleDefinitions");
00240 $styleDefinition = new ilStyleDefinition();
00241 $GLOBALS['styleDefinition'] =& $styleDefinition;
00242 $styleDefinition->startParsing();
00243 $ilBench->stop("Core", "HeaderInclude_getStyleDefinitions");
00244
00245 if ($_GET['skin'] && $_GET['style'])
00246 {
00247 include_once("classes/class.ilObjStyleSettings.php");
00248 if ($styleDefinition->styleExists($_GET['skin'], $_GET['style']) &&
00249 ilObjStyleSettings::_lookupActivatedStyle($_GET['skin'], $_GET['style']))
00250 {
00251 $_SESSION['skin'] = $_GET['skin'];
00252 $_SESSION['style'] = $_GET['style'];
00253 }
00254 }
00255 if ($_SESSION['skin'] && $_SESSION['style'])
00256 {
00257 include_once("classes/class.ilObjStyleSettings.php");
00258 if ($styleDefinition->styleExists($_SESSION['skin'], $_SESSION['style']) &&
00259 ilObjStyleSettings::_lookupActivatedStyle($_SESSION['skin'], $_SESSION['style']))
00260 {
00261 $ilias->account->skin = $_SESSION['skin'];
00262 $ilias->account->prefs['style'] = $_SESSION['style'];
00263 }
00264 }
00265 }
00266
00267
00268
00269
00270 if (AUTH_CURRENT == AUTH_LOCAL && !$ilias->auth->getAuth() && $script == "login.php" && $_POST["username"] != "")
00271
00272 {
00273 if (ilObjUser::_lookupHasIlias2Password($_POST["username"]))
00274 {
00275 if (ilObjUser::_switchToIlias3Password($_POST["username"], $_POST["password"]))
00276 {
00277 $ilias->auth->start();
00278 $ilias->setAuthError($ilErr->getLastError());
00279 ilUtil::redirect("start.php");
00280 }
00281 }
00282 }
00283
00284 if (strpos($_SERVER["SCRIPT_FILENAME"], "save_java_question_result") !== FALSE)
00285 {
00286
00287
00288
00289
00290
00291
00292 $lng = new ilLanguage($_SESSION['lang']);
00293 $GLOBALS['lng'] =& $lng;
00294 return;
00295 }
00296
00297 if ($ilias->auth->getAuth() && $ilias->account->isCurrentUserActive())
00298 {
00299 $ilBench->start("Core", "HeaderInclude_getCurrentUserAccountData");
00300
00301
00302 if (empty($_SESSION["AccountId"]))
00303 {
00304 $_SESSION["AccountId"] = $ilias->account->checkUserId();
00305
00306
00307 $rbacreview = new ilRbacReview();
00308 $GLOBALS['rbacreview'] =& $rbacreview;
00309 $_SESSION["RoleId"] = $rbacreview->assignedRoles($_SESSION["AccountId"]);
00310 }
00311 else
00312 {
00313
00314 $ilias->account->setId($_SESSION["AccountId"]);
00315 }
00316
00317
00318 $ilias->account->read();
00319
00320
00321 $clientip = $ilias->account->getClientIP();
00322 if (trim($clientip) !="" and $clientip != $_SERVER["REMOTE_ADDR"])
00323 {
00324 $log ->logError(1,
00325 $ilias->account->getLogin().":".$_SERVER["REMOTE_ADDR"].":".$message);
00326 $ilias->auth->logout();
00327 @session_destroy();
00328 ilUtil::redirect("login.php?wrong_ip=true");
00329 }
00330
00331
00332
00333 if (!$ilias->account->hasAcceptedUserAgreement() &&
00334 $script != "view_usr_agreement.php" &&
00335 $script != "login.php" &&
00336 $ilias->account->getId() != ANONYMOUS_USER_ID)
00337 {
00338
00339 ilUtil::redirect("view_usr_agreement.php?cmd=getAcceptance");
00340 }
00341
00342
00343 if ($script == "login.php")
00344 {
00345 $ilias->account->refreshLogin();
00346 }
00347
00348
00349
00350 #_SESSION["tbl_limit"] = ($_SESSION["tbl_limit"]) ? intval($_SESSION["tbl_limit"]) : intval($ilias->account->prefs["hits_per_page"]);
00351 #_GET["limit"] = ($_SESSION["tbl_limit"]) ? ($_SESSION["tbl_limit"]) : intval($ilias->account->prefs["hits_per_page"]);
00352 #_GET["offset"] = intval($_GET["offset"]);
00353 $_GET['limit'] = $_SESSION['tbl_limit'] = (int) $ilUser->getPref('hits_per_page');
00354
00355
00356
00357
00358
00359
00360
00361 if ($_GET['offset'] != "")
00362 {
00363 $_GET['offset'] = (int) $_GET['offset'];
00364 }
00365
00366 $ilBench->stop("Core", "HeaderInclude_getCurrentUserAccountData");
00367 }
00368 elseif (
00369 $script != "login.php"
00370 and $script != "shib_login.php"
00371 and $script != "nologin.php"
00372 and $script != "error.php"
00373 and $script != "index.php"
00374 and $script != "view_usr_agreement.php"
00375 and $script != "register.php"
00376 and $script != "chat.php"
00377 and $script != "pwassist.php"
00378 )
00379 {
00380
00381
00382 $dirname = dirname($_SERVER["PHP_SELF"]);
00383 $ilurl = parse_url(ILIAS_HTTP_PATH);
00384 $subdir = substr(strstr($dirname,$ilurl["path"]),strlen($ilurl["path"]));
00385 $updir = "";
00386
00387 if ($subdir)
00388 {
00389 $num_subdirs = substr_count($subdir,"/");
00390
00391 for ($i=1;$i<=$num_subdirs;$i++)
00392 {
00393 $updir .= "../";
00394 }
00395 }
00396
00397 if ($ilias->auth->getAuth() && !$ilias->account->isCurrentUserActive())
00398 {
00399 $inactive = true;
00400 }
00401
00402 session_unset();
00403 session_destroy();
00404
00405 $return_to = urlencode(substr($_SERVER["REQUEST_URI"],strlen($ilurl["path"])+1));
00406
00407 if (($_GET["inactive"]) || $inactive)
00408 {
00409 ilUtil::redirect($updir."index.php?reload=true&inactive=true&return_to=".$return_to);
00410 }
00411 else
00412 {
00413 ilUtil::redirect($updir."index.php?client_id=".$_COOKIE["ilClientId"]."&reload=true&return_to=".$return_to);
00414 }
00415 }
00416
00417
00418 $ilBench->start("Core", "HeaderInclude_initLanguage");
00419
00420 if (is_null($_SESSION['lang']))
00421 {
00422 $_GET["lang"] = ($_GET["lang"]) ? $_GET["lang"] : $ilias->account->getPref("language");
00423 }
00424
00425 if ($_POST['change_lang_to'] != "")
00426 {
00427 $_GET['lang'] = $_POST['change_lang_to'];
00428 }
00429
00430 $_SESSION['lang'] = ($_GET['lang']) ? $_GET['lang'] : $_SESSION['lang'];
00431
00432
00433 if ($script == "login.php")
00434 {
00435 $_SESSION['lang'] = $ilias->account->getPref("language");
00436 }
00437
00438 $lng = new ilLanguage($_SESSION['lang']);
00439 $GLOBALS['lng'] =& $lng;
00440 $ilBench->stop("Core", "HeaderInclude_initLanguage");
00441
00442
00443 $ilBench->start("Core", "HeaderInclude_initRBAC");
00444 $rbacsystem = new ilRbacSystem();
00445 $GLOBALS['rbacsystem'] =& $rbacsystem;
00446 $rbacadmin = new ilRbacAdmin();
00447 $GLOBALS['rbacadmin'] =& $rbacadmin;
00448 $rbacreview = new ilRbacReview();
00449 $GLOBALS['rbacreview'] =& $rbacreview;
00450 $ilAccess =& new ilAccessHandler();
00451 $GLOBALS["ilAccess"] =& $ilAccess;
00452
00453 $ilBench->stop("Core", "HeaderInclude_initRBAC");
00454
00455
00456
00457
00458
00459
00460 $tree = new ilTree(ROOT_FOLDER_ID);
00461 $GLOBALS['tree'] =& $tree;
00462
00463
00464 $tpl = new ilTemplate("tpl.main.html", true, true);
00465 $GLOBALS['tpl'] =& $tpl;
00466
00467
00468
00469
00470 if ( !isset($_SESSION["locator_level"]) )
00471 {
00472 $_SESSION["locator_data"] = array();
00473 $_SESSION["locator_level"] = -1;
00474 }
00475
00476 $ilias_locator = new ilLocatorGUI();
00477 $ilLocator = new ilLocatorGUI();
00478 $GLOBALS['ilias_locator'] =& $ilias_locator;
00479 $GLOBALS['ilLocator'] =& $ilLocator;
00480
00481
00482 $ilBench->start("Core", "HeaderInclude_getStyleDefinitions");
00483 $styleDefinition = new ilStyleDefinition();
00484 $GLOBALS['styleDefinition'] =& $styleDefinition;
00485 $styleDefinition->startParsing();
00486 $ilBench->stop("Core", "HeaderInclude_getStyleDefinitions");
00487
00488
00489
00490
00491
00492
00493
00494
00495
00496
00497
00498
00499
00500
00501
00502
00503
00504
00505
00506
00507
00508
00509 $location_stylesheet = ilUtil::getStyleSheetLocation();
00510 $tpl->setVariable("LOCATION_STYLESHEET",$location_stylesheet);
00511 $tpl->setVariable("LOCATION_JAVASCRIPT",dirname($location_stylesheet));
00512
00513
00514 if ($mail_id = ilMailbox::hasNewMail($_SESSION["AccountId"]))
00515 {
00516 $mbox = new ilMailbox($_SESSION["AccountId"]);
00517 $mail =& new ilMail($_SESSION['AccountId']);
00518 if($rbacsystem->checkAccess('mail_visible',$mail->getMailObjectReferenceId()))
00519 {
00520 $folder_id = $mbox->getInboxFolder();
00521
00522 $_SESSION["infopanel"] = array ("link" => "mail_frameset.php?target=".
00523 htmlentities(urlencode("mail_read.php?mobj_id=".$folder_id."&mail_id=".$mail_id)),
00524 "text" => "new_mail"
00525
00526 );
00527 }
00528 }
00529
00530
00531 if (version_compare(PHP_VERSION,'5','>='))
00532 {
00533 require_once("include/inc.xml5compliance.php");
00534 require_once("include/inc.xsl5compliance.php");
00535 require_once("include/inc.php4compliance.php");
00536 }
00537 else
00538 {
00539 require_once("include/inc.php5compliance.php");
00540 }
00541
00542
00543 $ilBrowser = new ilBrowser();
00544 $GLOBALS['ilBrowser'] =& $ilBrowser;
00545
00546
00547 $ilHelp = new ilHelp();
00548 $GLOBALS['ilHelp'] =& $ilHelp;
00549
00550
00551 include_once 'classes/class.ilTabsGUI.php';
00552 $ilTabs = new ilTabsGUI();
00553 $GLOBALS['ilTabs'] =& $ilTabs;
00554
00555
00556 ilOnlineTracking::_updateAccess($ilUser->getId());
00557
00558
00559
00560 $q = "SET NAMES utf8";
00561
00562
00563 $ilBench->stop("Core", "HeaderInclude");
00564 $ilBench->save();
00565
00566 ?>