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 "include/inc.ilias_version.php";
00095
00096
00097 require_once "Services/AccessControl/classes/class.ilAccessHandler.php";
00098 require_once "classes/class.ilRbacAdmin.php";
00099 require_once "classes/class.ilRbacSystem.php";
00100 require_once "classes/class.ilRbacReview.php";
00101
00102
00103
00104
00105
00106
00107 require_once "classes/class.ilLocatorGUI.php";
00108
00109
00110 require_once "classes/class.ilErrorHandling.php";
00111
00112 $ilBench->stop("Core", "HeaderInclude_IncludeFiles");
00113
00114 $ilBench->start("Core", "HeaderInclude_GetErrorHandler");
00115 $ilErr = new ilErrorHandling();
00116 $GLOBALS['ilErr'] =& $ilErr;
00117 $ilErr->setErrorHandling(PEAR_ERROR_CALLBACK,array($ilErr,'errorHandler'));
00118 $ilBench->stop("Core", "HeaderInclude_GetErrorHandler");
00119
00120
00121 $ilBench->start("Core", "HeaderInclude_GetILIASObject");
00122 $ilias =& new ILIAS($_COOKIE["ilClientId"]);
00123 $GLOBALS['ilias'] =& $ilias;
00124 $ilBench->stop("Core", "HeaderInclude_GetILIASObject");
00125
00126
00127 if (DEVMODE)
00128 {
00129 if (function_exists("xdebug_start_trace"))
00130 {
00131
00132 }
00133 }
00134
00135
00136 require_once './classes/class.ilHTTPS.php';
00137
00138 $https =& new ilHTTPS();
00139 $GLOBALS['https'] =& $https;
00140 $https->checkPort();
00141
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154 if ($_SESSION["message"])
00155 {
00156 $_POST = $_SESSION["post_vars"];
00157 }
00158
00159
00160
00161
00162 include_once "include/inc.debug.php";
00163
00164
00165
00166 $log = new ilLog(ILIAS_LOG_DIR,ILIAS_LOG_FILE,$ilias->getClientId(),ILIAS_LOG_ENABLED,ILIAS_LOG_LEVEL);
00167 $GLOBALS['log'] =& $log;
00168 $ilLog =& $log;
00169 $GLOBALS['ilLog'] =& $ilLog;
00170
00171
00172 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($ilErr, "errorHandler"));
00173 $ilBench->start("Core", "HeaderInclude_Authentication");
00174 $ilias->auth->start();
00175 $ilias->setAuthError($ilErr->getLastError());
00176 $ilBench->stop("Core", "HeaderInclude_Authentication");
00177
00178
00179 if ($_GET["cmd"] == "force_login")
00180 {
00181 $ilias->auth->logout();
00182 $_SESSION["AccountId"] = "";
00183 $ilias->auth->start();
00184 $ilias->setAuthError($ilErr->getLastError());
00185 }
00186
00187
00188
00189 $ilBench->start("Core", "HeaderInclude_getObjectDefinitions");
00190 $objDefinition = new ilObjectDefinition();
00191 $GLOBALS['objDefinition'] =& $objDefinition;
00192 $objDefinition->startParsing();
00193 $ilBench->stop("Core", "HeaderInclude_getObjectDefinitions");
00194
00195
00196
00197 $ilBench->start("Core", "HeaderInclude_getCurrentUser");
00198 $ilias->account = new ilObjUser();
00199 $ilBench->stop("Core", "HeaderInclude_getCurrentUser");
00200
00201
00202 $ilUser =& $ilias->account;
00203 $GLOBALS['ilUser'] =& $ilias->account;
00204 $ilCtrl = new ilCtrl();
00205 $GLOBALS['ilCtrl'] =& $ilCtrl;
00206
00207
00208 $script = substr(strrchr($_SERVER["PHP_SELF"],"/"),1);
00209
00210
00211
00212 if (AUTH_CURRENT == AUTH_LOCAL && !$ilias->auth->getAuth() && $script == "login.php" && $_POST["username"] != "")
00213
00214 {
00215 if (ilObjUser::_lookupHasIlias2Password($_POST["username"]))
00216 {
00217 if (ilObjUser::_switchToIlias3Password($_POST["username"], $_POST["password"]))
00218 {
00219 $ilias->auth->start();
00220 $ilias->setAuthError($ilErr->getLastError());
00221 ilUtil::redirect("start.php");
00222 }
00223 }
00224 }
00225
00226 if ($ilias->auth->getAuth() && $ilias->account->isCurrentUserActive())
00227 {
00228 $ilBench->start("Core", "HeaderInclude_getCurrentUserAccountData");
00229
00230
00231 if (empty($_SESSION["AccountId"]))
00232 {
00233 $_SESSION["AccountId"] = $ilias->account->checkUserId();
00234
00235
00236 $rbacreview = new ilRbacReview();
00237 $GLOBALS['rbacreview'] =& $rbacreview;
00238 $_SESSION["RoleId"] = $rbacreview->assignedRoles($_SESSION["AccountId"]);
00239 }
00240 else
00241 {
00242
00243 $ilias->account->setId($_SESSION["AccountId"]);
00244 }
00245
00246
00247 $ilias->account->read();
00248
00249
00250 $clientip = $ilias->account->getClientIP();
00251 if (trim($clientip) !="" and $clientip != $_SERVER["REMOTE_ADDR"])
00252 {
00253 $log ->logError(1,
00254 $ilias->account->getLogin().":".$_SERVER["REMOTE_ADDR"].":".$message);
00255 $ilias->auth->logout();
00256 @session_destroy();
00257 ilUtil::redirect("login.php?wrong_ip=true");
00258 }
00259
00260
00261
00262 if (!$ilias->account->hasAcceptedUserAgreement() &&
00263 $script != "view_usr_agreement.php" &&
00264 $script != "login.php" &&
00265 $ilias->account->getId() != ANONYMOUS_USER_ID)
00266 {
00267
00268 ilUtil::redirect("view_usr_agreement.php?cmd=getAcceptance");
00269 }
00270
00271
00272 if ($script == "login.php")
00273 {
00274 $ilias->account->refreshLogin();
00275 }
00276
00277
00278
00279 #_SESSION["tbl_limit"] = ($_SESSION["tbl_limit"]) ? intval($_SESSION["tbl_limit"]) : intval($ilias->account->prefs["hits_per_page"]);
00280 #_GET["limit"] = ($_SESSION["tbl_limit"]) ? ($_SESSION["tbl_limit"]) : intval($ilias->account->prefs["hits_per_page"]);
00281 #_GET["offset"] = intval($_GET["offset"]);
00282 $_GET['limit'] = $_SESSION['tbl_limit'] = (int) $ilUser->getPref('hits_per_page');
00283 #$_GET['offset'] = (int) $_GET['offset'];
00284
00285
00286 $ilBench->stop("Core", "HeaderInclude_getCurrentUserAccountData");
00287 }
00288 elseif (
00289 $script != "login.php"
00290 and $script != "shib_login.php"
00291 and $script != "nologin.php"
00292 and $script != "error.php"
00293 and $script != "index.php"
00294 and $script != "view_usr_agreement.php"
00295 and $script != "register.php"
00296 and $script != "chat.php"
00297 and $script != "pwassist.php"
00298 )
00299 {
00300
00301
00302 $dirname = dirname($_SERVER["PHP_SELF"]);
00303 $ilurl = parse_url(ILIAS_HTTP_PATH);
00304 $subdir = substr(strstr($dirname,$ilurl["path"]),strlen($ilurl["path"]));
00305 $updir = "";
00306
00307 if ($subdir)
00308 {
00309 $num_subdirs = substr_count($subdir,"/");
00310
00311 for ($i=1;$i<=$num_subdirs;$i++)
00312 {
00313 $updir .= "../";
00314 }
00315 }
00316
00317 if ($ilias->auth->getAuth() && !$ilias->account->isCurrentUserActive())
00318 {
00319 $inactive = true;
00320 }
00321
00322 session_unset();
00323 session_destroy();
00324
00325 $return_to = urlencode(substr($_SERVER["REQUEST_URI"],strlen($ilurl["path"])+1));
00326
00327 if (($_GET["inactive"]) || $inactive)
00328 {
00329 ilUtil::redirect($updir."index.php?reload=true&inactive=true&return_to=".$return_to);
00330 }
00331 else
00332 {
00333 ilUtil::redirect($updir."index.php?client_id=".$_COOKIE["ilClientId"]."&reload=true&return_to=".$return_to);
00334 }
00335 }
00336
00337
00338 $ilBench->start("Core", "HeaderInclude_initLanguage");
00339
00340 if (is_null($_SESSION['lang']))
00341 {
00342 $_GET["lang"] = ($_GET["lang"]) ? $_GET["lang"] : $ilias->account->getPref("language");
00343 }
00344
00345 if ($_POST['change_lang_to'] != "")
00346 {
00347 $_GET['lang'] = $_POST['change_lang_to'];
00348 }
00349
00350 $_SESSION['lang'] = ($_GET['lang']) ? $_GET['lang'] : $_SESSION['lang'];
00351
00352
00353 if ($script == "login.php")
00354 {
00355 $_SESSION['lang'] = $ilias->account->getPref("language");
00356 }
00357
00358 $lng = new ilLanguage($_SESSION['lang']);
00359 $GLOBALS['lng'] =& $lng;
00360 $ilBench->stop("Core", "HeaderInclude_initLanguage");
00361
00362
00363 $ilBench->start("Core", "HeaderInclude_initRBAC");
00364 $rbacsystem = new ilRbacSystem();
00365 $GLOBALS['rbacsystem'] =& $rbacsystem;
00366 $rbacadmin = new ilRbacAdmin();
00367 $GLOBALS['rbacadmin'] =& $rbacadmin;
00368 $rbacreview = new ilRbacReview();
00369 $GLOBALS['rbacreview'] =& $rbacreview;
00370 $ilAccess =& new ilAccessHandler();
00371 $GLOBALS["ilAccess"] =& $ilAccess;
00372
00373 $ilBench->stop("Core", "HeaderInclude_initRBAC");
00374
00375
00376
00377
00378
00379
00380 $tree = new ilTree(ROOT_FOLDER_ID);
00381 $GLOBALS['tree'] =& $tree;
00382
00383
00384 $tpl = new ilTemplate("tpl.main.html", true, true);
00385 $GLOBALS['tpl'] =& $tpl;
00386
00387
00388
00389
00390 if ( !isset($_SESSION["locator_level"]) )
00391 {
00392 $_SESSION["locator_data"] = array();
00393 $_SESSION["locator_level"] = -1;
00394 }
00395
00396 $ilias_locator = new ilLocatorGUI();
00397 $GLOBALS['ilias_locator'] =& $ilias_locator;
00398
00399
00400 $ilBench->start("Core", "HeaderInclude_getStyleDefinitions");
00401 $styleDefinition = new ilStyleDefinition();
00402 $GLOBALS['styleDefinition'] =& $styleDefinition;
00403 $styleDefinition->startParsing();
00404 $ilBench->stop("Core", "HeaderInclude_getStyleDefinitions");
00405
00406
00407
00408
00409
00410
00411
00412
00413
00414
00415
00416
00417
00418
00419
00420
00421
00422
00423
00424
00425
00426
00427 $location_stylesheet = ilUtil::getStyleSheetLocation();
00428 $tpl->setVariable("LOCATION_STYLESHEET",$location_stylesheet);
00429 $tpl->setVariable("LOCATION_JAVASCRIPT",dirname($location_stylesheet));
00430
00431
00432 if ($mail_id = ilMailbox::hasNewMail($_SESSION["AccountId"]))
00433 {
00434 $mbox = new ilMailbox($_SESSION["AccountId"]);
00435 $mail =& new ilMail($_SESSION['AccountId']);
00436 if($rbacsystem->checkAccess('mail_visible',$mail->getMailObjectReferenceId()))
00437 {
00438 $folder_id = $mbox->getInboxFolder();
00439
00440 $_SESSION["infopanel"] = array ("link" => "mail_frameset.php?target=".
00441 htmlentities(urlencode("mail_read.php?mobj_id=".$folder_id."&mail_id=".$mail_id)),
00442 "text" => "new_mail"
00443
00444 );
00445 }
00446 }
00447
00448
00449 if (version_compare(PHP_VERSION,'5','>='))
00450 {
00451 require_once("include/inc.xml5compliance.php");
00452 }
00453
00454
00455 if (version_compare(PHP_VERSION,'5','>='))
00456 {
00457 require_once("include/inc.xsl5compliance.php");
00458 }
00459
00460
00461 $ilBrowser = new ilBrowser();
00462 $GLOBALS['ilBrowser'] =& $ilBrowser;
00463
00464
00465 $q = "SET NAMES utf8";
00466
00467
00468 $ilBench->stop("Core", "HeaderInclude");
00469 $ilBench->save();
00470 ?>