12require_once(
"libs/composer/vendor/autoload.php");
16 $GLOBALS[
'ilGlobalStartTime'] = microtime();
19include_once
"Services/Context/classes/class.ilContext.php";
54 foreach ($var as $k => $v) {
62 array(
"\x00",
"\n",
"\r",
"\\",
"'",
'"',
"\x1a"),
76 require_once
"./Services/UICore/classes/class.ilTemplate.php";
80 require_once
"./Services/Utilities/classes/class.ilUtil.php";
81 require_once
"./Services/Calendar/classes/class.ilDatePresentation.php";
82 require_once
"include/inc.ilias_version.php";
84 include_once
'./Services/Authentication/classes/class.ilAuthUtils.php';
86 self::initGlobal(
"ilBench",
"ilBenchmark",
"./Services/Utilities/classes/class.ilBenchmark.php");
96 include_once
'Services/Authentication/classes/class.ilAuthFactory.php';
98 require_once(
"include/inc.xml5compliance.php");
100 require_once(
"include/inc.xsl5compliance.php");
112 require_once(
"./Services/Init/classes/class.ilIniFile.php");
118 define(
"ILIAS_DATA_DIR",
$ilIliasIniFile->readVariable(
"clients",
"datadir"));
119 define(
"ILIAS_WEB_DIR",
$ilIliasIniFile->readVariable(
"clients",
"path"));
120 define(
"ILIAS_ABSOLUTE_PATH",
$ilIliasIniFile->readVariable(
'server',
'absolute_path'));
124 define(
"ILIAS_LOG_FILE",
$ilIliasIniFile->readVariable(
"log",
"file"));
125 define(
"ILIAS_LOG_ENABLED",
$ilIliasIniFile->readVariable(
"log",
"enabled"));
126 define(
"ILIAS_LOG_LEVEL",
$ilIliasIniFile->readVariable(
"log",
"level"));
127 define(
"SLOW_REQUEST_TIME",
$ilIliasIniFile->readVariable(
"log",
"slow_request_time"));
130 define(
"PATH_TO_CONVERT",
$ilIliasIniFile->readVariable(
"tools",
"convert"));
131 define(
"PATH_TO_FFMPEG",
$ilIliasIniFile->readVariable(
"tools",
"ffmpeg"));
133 define(
"PATH_TO_MKISOFS",
$ilIliasIniFile->readVariable(
"tools",
"mkisofs"));
134 define(
"PATH_TO_UNZIP",
$ilIliasIniFile->readVariable(
"tools",
"unzip"));
135 define(
"PATH_TO_GHOSTSCRIPT",
$ilIliasIniFile->readVariable(
"tools",
"ghostscript"));
136 define(
"PATH_TO_JAVA",
$ilIliasIniFile->readVariable(
"tools",
"java"));
137 define(
"URL_TO_LATEX",
$ilIliasIniFile->readVariable(
"tools",
"latex"));
139 define(
"PATH_TO_LESSC",
$ilIliasIniFile->readVariable(
"tools",
"lessc"));
140 define(
"PATH_TO_PHANTOMJS",
$ilIliasIniFile->readVariable(
"tools",
"phantomjs"));
145 define(
"IL_VIRUS_SCANNER",
"Sophos");
146 define(
"IL_VIRUS_SCAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"scancommand"));
147 define(
"IL_VIRUS_CLEAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"cleancommand"));
151 define(
"IL_VIRUS_SCANNER",
"AntiVir");
152 define(
"IL_VIRUS_SCAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"scancommand"));
153 define(
"IL_VIRUS_CLEAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"cleancommand"));
157 define(
"IL_VIRUS_SCANNER",
"ClamAV");
158 define(
"IL_VIRUS_SCAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"scancommand"));
159 define(
"IL_VIRUS_CLEAN_COMMAND",
$ilIliasIniFile->readVariable(
"tools",
"cleancommand"));
163 define(
"IL_VIRUS_SCANNER",
"None");
167 include_once
'./Services/Calendar/classes/class.ilTimeZone.php';
169 define(
"IL_TIMEZONE",
$tz);
183 public static function bootstrapFilesystems()
187 $DIC[
'filesystem.security.sanitizing.filename'] =
function ($c) {
191 $DIC[
'filesystem.factory'] =
function ($c) {
192 return new \ILIAS\Filesystem\Provider\DelegatingFilesystemFactory($c[
'filesystem.security.sanitizing.filename']);
195 $DIC[
'filesystem.web'] =
function ($c) {
201 $delegatingFactory = $c[
'filesystem.factory'];
202 $webConfiguration = new \ILIAS\Filesystem\Provider\Configuration\LocalConfig(ILIAS_ABSOLUTE_PATH .
'/' . ILIAS_WEB_DIR .
'/' . CLIENT_ID);
203 return $delegatingFactory->getLocal($webConfiguration);
206 $DIC[
'filesystem.storage'] =
function ($c) {
212 $delegatingFactory = $c[
'filesystem.factory'];
213 $storageConfiguration = new \ILIAS\Filesystem\Provider\Configuration\LocalConfig(ILIAS_DATA_DIR .
'/' . CLIENT_ID);
214 return $delegatingFactory->getLocal($storageConfiguration);
217 $DIC[
'filesystem.temp'] =
function ($c) {
223 $delegatingFactory = $c[
'filesystem.factory'];
224 $tempConfiguration = new \ILIAS\Filesystem\Provider\Configuration\LocalConfig(ILIAS_DATA_DIR .
'/' . CLIENT_ID .
'/temp');
225 return $delegatingFactory->getLocal($tempConfiguration);
228 $DIC[
'filesystem.customizing'] =
function ($c) {
234 $delegatingFactory = $c[
'filesystem.factory'];
235 $customizingConfiguration = new \ILIAS\Filesystem\Provider\Configuration\LocalConfig(ILIAS_ABSOLUTE_PATH .
'/' .
'Customizing');
236 return $delegatingFactory->getLocal($customizingConfiguration);
239 $DIC[
'filesystem.libs'] =
function ($c) {
245 $delegatingFactory = $c[
'filesystem.factory'];
246 $customizingConfiguration = new \ILIAS\Filesystem\Provider\Configuration\LocalConfig(ILIAS_ABSOLUTE_PATH .
'/' .
'libs');
247 return $delegatingFactory->getLocal($customizingConfiguration,
true);
250 $DIC[
'filesystem'] =
function ($c) {
251 return new \ILIAS\Filesystem\FilesystemsImpl(
252 $c[
'filesystem.storage'],
253 $c[
'filesystem.web'],
254 $c[
'filesystem.temp'],
255 $c[
'filesystem.customizing'],
256 $c[
'filesystem.libs']
272 $dic[
'upload.processor-manager'] =
function ($c) {
273 return new \ILIAS\FileUpload\Processor\PreProcessorManagerImpl();
276 $dic[
'upload'] =
function ($c) {
277 $fileUploadImpl = new \ILIAS\FileUpload\FileUploadImpl($c[
'upload.processor-manager'], $c[
'filesystem'], $c[
'http']);
278 if (IL_VIRUS_SCANNER !=
"None") {
282 return $fileUploadImpl;
291 include_once
'./Services/Http/classes/class.ilHTTPS.php';
294 if (
$https->isDetected()) {
301 $rq_uri = strip_tags(
$_SERVER[
'REQUEST_URI']);
305 if (is_int($pos = strpos($rq_uri,
"?"))) {
306 $rq_uri = substr($rq_uri, 0, $pos);
309 if (!
defined(
'ILIAS_MODULE')) {
310 $path = pathinfo($rq_uri);
311 if (!
$path[
'extension']) {
314 $uri = dirname($rq_uri);
318 $path = dirname($rq_uri);
326 foreach ($dirs as $dir) {
327 $uri = dirname($uri);
346 self::abortAndDie(
'Fatal Error: ilInitialisation::determineClient called without initialisation of ILIAS ini file object.');
349 if (isset(
$_GET[
'client_id']) && strlen(
$_GET[
'client_id']) > 0) {
351 if (!
defined(
'IL_PHPUNIT_TEST')) {
356 } elseif (!isset(
$_COOKIE[
'ilClientId'])) {
386 if (ILIAS_WEB_DIR ==
"") {
387 self::abortAndDie(
"Fatal Error: ilInitialisation::initClientIniFile called without ILIAS_WEB_DIR.");
391 if (CLIENT_ID ==
"") {
392 self::abortAndDie(
"Fatal Error: ilInitialisation::initClientIniFile called without CLIENT_ID.");
395 $ini_file =
"./" . ILIAS_WEB_DIR .
"/" . CLIENT_ID .
"/client.ini.php";
398 $ilClientIniFile =
new ilIniFile($ini_file);
399 $ilClientIniFile->read();
402 if ($ilClientIniFile->ERROR !=
"") {
406 if (CLIENT_ID !=
"" && CLIENT_ID != $default_client) {
407 $mess = array(
"en" =>
"Client does not exist.",
408 "de" =>
"Mandant ist ungültig.");
409 self::redirect(
"index.php?client_id=" . $default_client,
null, $mess);
411 self::abortAndDie(
"Fatal Error: ilInitialisation::initClientIniFile initializing client ini file abborted with: " . $ilClientIniFile->ERROR);
418 define(
"SESSION_REMINDER_LEADTIME", 30);
419 define(
"DEBUG", $ilClientIniFile->readVariable(
"system",
"DEBUG"));
420 define(
"DEVMODE", $ilClientIniFile->readVariable(
"system",
"DEVMODE"));
421 define(
"SHOWNOTICES", $ilClientIniFile->readVariable(
"system",
"SHOWNOTICES"));
422 define(
"DEBUGTOOLS", $ilClientIniFile->readVariable(
"system",
"DEBUGTOOLS"));
423 define(
"ROOT_FOLDER_ID", $ilClientIniFile->readVariable(
'system',
'ROOT_FOLDER_ID'));
424 define(
"SYSTEM_FOLDER_ID", $ilClientIniFile->readVariable(
'system',
'SYSTEM_FOLDER_ID'));
425 define(
"ROLE_FOLDER_ID", $ilClientIniFile->readVariable(
'system',
'ROLE_FOLDER_ID'));
426 define(
"MAIL_SETTINGS_ID", $ilClientIniFile->readVariable(
'system',
'MAIL_SETTINGS_ID'));
427 $error_handler = $ilClientIniFile->readVariable(
'system',
'ERROR_HANDLER');
428 define(
"ERROR_HANDLER", $error_handler ? $error_handler :
"PRETTY_PAGE");
432 define(
"OH_REF_ID", $ilClientIniFile->readVariable(
"system",
"OH_REF_ID"));
434 define(
"SYSTEM_MAIL_ADDRESS", $ilClientIniFile->readVariable(
'system',
'MAIL_SENT_ADDRESS'));
435 define(
"MAIL_REPLY_WARNING", $ilClientIniFile->readVariable(
'system',
'MAIL_REPLY_WARNING'));
441 define(
"CLIENT_DATA_DIR", ILIAS_DATA_DIR .
"/" . CLIENT_ID);
442 define(
"CLIENT_WEB_DIR", ILIAS_ABSOLUTE_PATH .
"/" . ILIAS_WEB_DIR .
"/" . CLIENT_ID);
443 define(
"CLIENT_NAME", $ilClientIniFile->readVariable(
'client',
'name'));
445 $val = $ilClientIniFile->readVariable(
"db",
"type");
447 define(
"IL_DB_TYPE",
"mysql");
449 define(
"IL_DB_TYPE", $val);
453 $ilGlobalCacheSettings->readFromIniFile($ilClientIniFile);
464 global $ilClientIniFile;
466 if (!$ilClientIniFile->readVariable(
"client",
"access")) {
467 $mess = array(
"en" =>
"The server is not available due to maintenance." .
468 " We apologise for any inconvenience.",
469 "de" =>
"Der Server ist aufgrund von Wartungsarbeiten nicht verfügbar." .
470 " Wir bitten um Verständnis.");
471 $mess_id =
"init_error_maintenance";
489 require_once(
"./Services/Database/classes/class.ilDBWrapperFactory.php");
490 $ilDB = ilDBWrapperFactory::getWrapper(IL_DB_TYPE);
491 $ilDB->initFromIniFile();
504 if (ini_get(
'session.save_handler') !=
'user' && version_compare(PHP_VERSION,
'7.2.0',
'<')) {
505 ini_set(
"session.save_handler",
"user");
508 require_once
"Services/Authentication/classes/class.ilSessionDBHandler.php";
510 if (!$db_session_handler->setSaveHandler()) {
511 self::abortAndDie(
"Please turn off Safe mode OR set session.save_handler to \"user\" in your php.ini");
517 if (function_exists(
"session_status") && session_status() == PHP_SESSION_ACTIVE) {
518 session_regenerate_id();
528 include_once
'Services/Authentication/classes/class.ilAuthFactory.php';
531 } elseif (
$GLOBALS[
'COOKIE_PATH']) {
549 define(
'IL_COOKIE_HTTPONLY',
true);
550 define(
'IL_COOKIE_EXPIRE', 0);
552 define(
'IL_COOKIE_DOMAIN',
'');
562 if (!
defined(
'IL_COOKIE_SECURE')) {
566 include_once
'./Services/Http/classes/class.ilHTTPS.php';
568 define(
'IL_COOKIE_SECURE', $cookie_secure);
570 session_set_cookie_params(
585 $c[
"mail.mime.transport.factory"] =
function ($c) {
586 require_once
'Services/Mail/classes/Mime/Transport/class.ilMailMimeTransportFactory.php';
589 $c[
"mail.mime.sender.factory"] =
function ($c) {
590 require_once
'Services/Mail/classes/Mime/Sender/class.ilMailMimeSenderFactory.php';
600 $c[
"user.avatar.factory"] =
function ($c) {
601 require_once
'Services/User/Avatar/classes/class.ilUserAvatarFactory.php';
618 "Services/Administration/classes/class.ilSetting.php"
627 define(
"ANONYMOUS_USER_ID",
$ilSetting->get(
"anonymous_user_id"));
628 define(
"ANONYMOUS_ROLE_ID",
$ilSetting->get(
"anonymous_role_id"));
629 define(
"SYSTEM_USER_ID",
$ilSetting->get(
"system_user_id"));
630 define(
"SYSTEM_ROLE_ID",
$ilSetting->get(
"system_role_id"));
631 define(
"USER_FOLDER_ID", 7);
634 define(
"RECOVERY_FOLDER_ID",
$ilSetting->get(
"recovery_folder_id"));
637 define(
"IL_INST_ID",
$ilSetting->get(
"inst_id", 0));
640 define(
"SUFFIX_REPL_DEFAULT",
"php,php3,php4,inc,lang,phtml,htaccess");
641 define(
"SUFFIX_REPL_ADDITIONAL",
$ilSetting->get(
"suffix_repl_additional"));
653 global $styleDefinition, $ilPluginAdmin;
659 "./Services/Style/System/classes/class.ilStyleDefinition.php"
663 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
664 foreach ($pl_names as $pl) {
666 $gui_class = $ui_plugin->getUIClassInstance();
667 $gui_class->modifyGUI(
"Services/Init",
"init_style", array(
"styleDefinition" => $styleDefinition));
674 public static function initUserAccount()
681 $uid =
$GLOBALS[
'DIC'][
'ilAuthSession']->getUserId();
687 include_once
'./Services/Logging/classes/public/class.ilLoggerFactory.php';
689 \ilOnlineTracking::updateAccess(
$ilUser);
706 $larr = explode(
",", trim(
$ilSetting->get(
"locale")));
709 foreach ($larr as
$l) {
710 if (trim(
$l) !=
"") {
714 if (count($ls) > 0) {
715 setlocale(LC_ALL, $ls);
718 setlocale(LC_NUMERIC,
"C");
720 if (class_exists(
"Collator")) {
721 $GLOBALS[
"ilCollator"] =
new Collator($first);
722 $GLOBALS[
"DIC"][
"ilCollator"] =
function ($c) {
739 if (ANONYMOUS_USER_ID ==
"") {
743 $session_destroyed =
false;
744 if (
$GLOBALS[
'DIC'][
'ilAuthSession']->isExpired()) {
745 $session_destroyed =
true;
748 if (!
$GLOBALS[
'DIC'][
'ilAuthSession']->isAuthenticated()) {
749 $session_destroyed =
true;
753 if ($session_destroyed) {
754 $GLOBALS[
'DIC'][
'ilAuthSession']->setAuthenticated(
true, ANONYMOUS_USER_ID);
757 self::initUserAccount();
760 if (strlen(
$_GET[
"target"])) {
762 $current_script = substr(strrchr(
$_SERVER[
"PHP_SELF"],
"/"), 1);
763 if ($current_script ==
"goto.php") {
771 #if(!$GLOBALS['DIC']->rbac()->system()->checkAccess('read', ROOT_FOLDER_ID))
773 # return self::goToLogin();
777 $_GET[
"ref_id"] = ROOT_FOLDER_ID;
778 $_GET[
"cmd"] =
"frameset";
780 "ilias.php?baseClass=ilrepositorygui&reloadpublic=1&cmd=" .
794 if (
$GLOBALS[
'DIC'][
'ilAuthSession']->isExpired()) {
797 if (!
$GLOBALS[
'DIC'][
'ilAuthSession']->isAuthenticated()) {
801 $script =
"login.php?target=" .
$_GET[
"target"] .
"&client_id=" .
$_COOKIE[
"ilClientId"] .
802 "&auth_stat=" . $a_auth_stat;
806 "init_error_authentication_fail",
808 "en" =>
"Authentication failed.",
809 "de" =>
"Authentifizierung fehlgeschlagen.")
816 protected static function initLanguage($a_use_user_language =
true)
825 require_once
'Services/Language/classes/class.ilLanguage.php';
827 if ($a_use_user_language) {
828 if (
$DIC->offsetExists(
'lng')) {
829 $DIC->offsetUnset(
'lng');
835 if (is_object($rbacsystem)) {
836 $rbacsystem->initMemberView();
848 "./Services/AccessControl/classes/class.ilRbacReview.php"
851 require_once
"./Services/AccessControl/classes/class.ilRbacSystem.php";
858 "./Services/AccessControl/classes/class.ilRbacAdmin.php"
864 "./Services/AccessControl/classes/class.ilAccess.php"
867 require_once
"./Services/AccessControl/classes/class.ilConditionHandler.php";
875 include_once
'./Services/Logging/classes/public/class.ilLoggerFactory.php';
890 protected static function initGlobal($a_name, $a_class, $a_source_file =
null)
894 if ($a_source_file) {
895 include_once $a_source_file;
901 $DIC[$a_name] =
function ($c) use ($a_name) {
914 $GLOBALS[
'ilLog']->write(
"Fatal Error: ilInitialisation - " . $a_message);
924 if (
defined(SHOWNOTICES) && SHOWNOTICES) {
929 error_reporting(E_ALL);
932 if (
defined(
'DEBUGTOOLS') && DEBUGTOOLS) {
933 include_once
"include/inc.debug.php";
942 self::$already_initialized =
false;
951 if (self::$already_initialized) {
961 if (is_object(
$tpl)) {
964 $tpl->setVariable(
"LOCATION_STYLESHEET", $location_stylesheet);
971 $GLOBALS[
"DIC"] = new \ILIAS\DI\Container();
972 $GLOBALS[
"DIC"][
"ilLoggerFactory"] =
function ($c) {
976 self::$already_initialized =
true;
997 self::initLanguage(
true);
998 $GLOBALS[
'DIC'][
'tree']->initLangCode();
1004 include_once(
'./Services/WebServices/ECS/classes/class.ilECSTaskScheduler.php');
1017 $GLOBALS[
"DIC"][
"ilAuthSession"] =
function ($c) {
1019 $c[
'ilLoggerFactory']->getLogger(
'auth')
1021 $auth_session->init();
1022 return $auth_session;
1033 error_reporting(E_ALL & ~E_NOTICE);
1058 "./Services/Init/classes/class.ilErrorHandling.php"
1066 include_once
"Services/Authentication/classes/class.ilSession.php";
1075 define(
'IL_INITIAL_WD', getcwd());
1078 self::initGlobal(
"ilias",
"ILIAS",
"./Services/Init/classes/class.ilias.php");
1092 self::bootstrapFilesystems();
1099 $ilias->client_id = CLIENT_ID;
1111 self::initLanguage(
false);
1117 "ilAppEventHandler",
1118 "ilAppEventHandler",
1119 "./Services/EventHandling/classes/class.ilAppEventHandler.php"
1131 "./Services/Component/classes/class.ilPluginAdmin.php"
1147 self::initGlobal(
"https",
"ilHTTPS",
"./Services/Http/classes/class.ilHTTPS.php");
1148 $https->enableSecureCookies();
1157 "ilObjectDataCache",
1158 "./Services/Object/classes/class.ilObjectDataCache.php"
1162 require_once
"./Services/Xml/classes/class.ilSaxParser.php";
1166 "ilObjectDefinition",
1167 "./Services/Object/classes/class.ilObjectDefinition.php"
1171 require_once
"./Services/Tree/classes/class.ilTree.php";
1172 $tree =
new ilTree(ROOT_FOLDER_ID);
1179 "./Services/UICore/classes/class.ilCtrl.php"
1196 "./Services/User/classes/class.ilObjUser.php"
1208 include_once
'./Services/Authentication/classes/class.ilAuthUtils.php';
1214 !
$GLOBALS[
'DIC'][
'ilAuthSession']->isAuthenticated() or
1215 $GLOBALS[
'DIC'][
'ilAuthSession']->isExpired()
1218 $current_script = substr(strrchr(
$_SERVER[
"PHP_SELF"],
"/"), 1);
1219 if (self::blockedAuthentication($current_script)) {
1224 return self::handleAuthenticationFail();
1227 return self::initUserAccount();
1237 global $ilAuth, $ilias,
$ilErr;
1239 $current_script = substr(strrchr(
$_SERVER[
"PHP_SELF"],
"/"), 1);
1241 if (self::blockedAuthentication($current_script)) {
1245 $oldSid = session_id();
1248 $ilias->setAuthError(
$ilErr->getLastError());
1250 if ($ilAuth->getAuth() && $ilAuth->getStatus() ==
'') {
1251 self::initUserAccount();
1253 self::handleAuthenticationSuccess();
1255 if (!self::showingLoginForm($current_script)) {
1257 $mandatory_auth = ($current_script !=
"shib_login.php"
1258 && $current_script !=
"shib_logout.php"
1259 && $current_script !=
"saml.php"
1260 && $current_script !=
"error.php"
1261 && $current_script !=
"chat.php"
1262 && $current_script !=
"wac.php"
1263 && $current_script !=
"index.php");
1265 if ($mandatory_auth) {
1266 self::handleAuthenticationFail();
1275 protected static function handleAuthenticationSuccess()
1282 require_once
'Services/Tracking/classes/class.ilOnlineTracking.php';
1283 ilOnlineTracking::updateAccess(
$ilUser);
1289 protected static function handleAuthenticationFail()
1303 throw new Exception(
"Authentication failed.");
1305 if (
$GLOBALS[
'DIC'][
'ilAuthSession']->isExpired()) {
1322 $container[
'http.request_factory'] =
function ($c) {
1323 return new \ILIAS\HTTP\Request\RequestFactoryImpl();
1326 $container[
'http.response_factory'] =
function ($c) {
1327 return new \ILIAS\HTTP\Response\ResponseFactoryImpl();
1330 $container[
'http.cookie_jar_factory'] =
function ($c) {
1331 return new \ILIAS\HTTP\Cookies\CookieJarFactoryImpl();
1334 $container[
'http.response_sender_strategy'] =
function ($c) {
1335 return new \ILIAS\HTTP\Response\Sender\DefaultResponseSenderStrategy();
1339 return new \ILIAS\DI\HTTPServices(
1340 $c[
'http.response_sender_strategy'],
1341 $c[
'http.cookie_jar_factory'],
1342 $c[
'http.request_factory'],
1343 $c[
'http.response_factory']
1353 $c[
"ui.factory"] =
function ($c) {
1356 $c[
"ui.renderer"] =
function ($c) {
1358 $c[
"ui.component_renderer_loader"]
1361 $c[
"ui.component_renderer_loader"] =
function ($c) {
1363 new ILIAS\
UI\Implementation\Render\LoaderResourceRegistryWrapper(
1364 $c[
"ui.resource_registry"],
1365 new ILIAS\
UI\Implementation\Render\FSLoader(
1366 new ILIAS\
UI\Implementation\Render\DefaultRendererFactory(
1368 $c[
"ui.template_factory"],
1370 $c[
"ui.javascript_binding"]
1376 $c[
"ui.template_factory"] =
function ($c) {
1381 $c[
"ui.resource_registry"] =
function ($c) {
1384 $c[
"ui.javascript_binding"] =
function ($c) {
1395 require_once
"./Services/LTI/classes/class.ilLTIViewGUI.php";
1408 if ($lti->isActive()) {
1409 include_once
"./Services/LTI/classes/class.ilTemplate.php";
1418 require_once
'Services/User/classes/class.ilUserRequestTargetAdjustment.php';
1420 $request_adjuster->adjust();
1426 $tpl->setVariable(
"LOCATION_STYLESHEET", $location_stylesheet);
1428 require_once
"./Services/UICore/classes/class.ilFrameTargetInfo.php";
1431 "ilNavigationHistory",
1432 "ilNavigationHistory",
1433 "Services/Navigation/classes/class.ilNavigationHistory.php"
1439 "./Services/Utilities/classes/class.ilBrowser.php"
1445 "Services/Help/classes/class.ilHelpGUI.php"
1451 "./Services/UIComponent/Toolbar/classes/class.ilToolbarGUI.php"
1457 "./Services/Locator/classes/class.ilLocatorGUI.php"
1463 "./Services/UIComponent/Tabs/classes/class.ilTabsGUI.php"
1468 if ($lti->isActive()) {
1469 include_once
'./Services/LTI/classes/class.ilMainMenuGUI.php';
1472 include_once
'./Services/MainMenu/classes/class.ilMainMenuGUI.php';
1482 $_GET[
'limit'] = (int)
$ilUser->getPref(
'hits_per_page');
1491 if (isset(
$_GET[
'offset']) &&
$_GET[
'offset'] !=
"") {
1496 include_once
"Services/User/classes/class.ilObjUser.php";
1507 $cmd = $_REQUEST[
"cmd"];
1508 if (is_array($cmd)) {
1509 return array_shift(array_keys($cmd));
1547 $a_current_script ==
"register.php" ||
1548 $a_current_script ==
"pwassist.php" ||
1549 $a_current_script ==
"confirmReg.php" ||
1550 $a_current_script ==
"il_securimage_play.php" ||
1551 $a_current_script ==
"il_securimage_show.php" ||
1552 $a_current_script ==
'login.php'
1558 if ($_REQUEST[
"baseClass"] ==
"ilStartUpGUI") {
1559 $cmd_class = $_REQUEST[
"cmdClass"];
1561 if ($cmd_class ==
"ilaccountregistrationgui" ||
1562 $cmd_class ==
"ilpasswordassistancegui") {
1569 $cmd ==
"showTermsOfService" || $cmd ==
"showClientList" ||
1570 $cmd ==
'showAccountMigration' || $cmd ==
'migrateAccount' ||
1571 $cmd ==
'processCode' || $cmd ==
'showLoginPage' || $cmd ==
'doStandardAuthentication' || $cmd ==
'doCasAuthentication'
1579 if (($a_current_script ==
"goto.php" &&
$_GET[
"target"] ==
"impr_0") ||
1580 $_GET[
"baseClass"] ==
"ilImprintGUI") {
1585 if ($a_current_script ==
'goto.php' && in_array(
$_GET[
'target'], array(
1586 'usr_registration',
'usr_nameassist',
'usr_pwassist',
'usr_agreement'
1603 if ($a_current_script ==
"login.php") {
1607 if ($_REQUEST[
"baseClass"] ==
"ilStartUpGUI" &&
1608 self::getCurrentCmd() ==
"showLoginPage") {
1631 } elseif ($_REQUEST[
"lang"]) {
1632 $lang = (string) $_REQUEST[
"lang"];
1635 } elseif ($ilClientIniFile) {
1636 $lang = $ilClientIniFile->readVariable(
"language",
"default");
1643 if (
$ilDB && $a_message_id) {
1645 require_once
"./Services/Language/classes/class.ilLanguage.php";
1649 $lng->loadLanguageModule(
"init");
1651 } elseif (is_array($a_message_static)) {
1652 if (!isset($a_message_static[
$lang])) {
1668 protected static function redirect($a_target, $a_message_id =
'', array $a_message_static =
null)
1671 if (
defined(
"ILIAS_HTTP_PATH") &&
1672 !stristr($a_target, ILIAS_HTTP_PATH)) {
1673 $a_target = ILIAS_HTTP_PATH .
"/" . $a_target;
1684 "init_error_redirect_click",
1685 array(
"en" =>
'Please click to continue.',
1686 "de" =>
'Bitte klicken um fortzufahren.')
1689 '<br /><a href="' . $a_target .
'">' . $link .
'</a>';
1698 "init_error_redirect_info",
1699 array(
"en" =>
'Redirect not supported by context.',
1700 "de" =>
'Weiterleitungen werden durch Kontext nicht unterstützt.')
1702 ' (' . $a_target .
')';
1713 public static function redirectToStartingPage()
1721 if (
$ilUser->getId() == ANONYMOUS_USER_ID) {
1728 if (!
$_GET[
"target"]) {
1731 include_once
'./Services/User/classes/class.ilUserUtil.php';
1744 $n_of_tasks =
$ilIliasIniFile->readVariable(
"background_tasks",
"number_of_concurrent_tasks");
1747 $n_of_tasks = $n_of_tasks ? $n_of_tasks : 5;
1750 $c[
"bt.task_factory"] =
function ($c) {
1751 return new \ILIAS\BackgroundTasks\Implementation\Tasks\BasicTaskFactory($c[
"di.injector"]);
1754 $c[
"bt.persistence"] =
function ($c) {
1755 return new \ILIAS\BackgroundTasks\Implementation\Persistence\BasicPersistence();
1758 $c[
"bt.injector"] =
function ($c) {
1759 return new \ILIAS\BackgroundTasks\Dependencies\Injector($c,
new BaseDependencyMap());
1762 $c[
"bt.task_manager"] =
function ($c) use (
$sync) {
1763 if (
$sync ==
'sync') {
1764 return new \ILIAS\BackgroundTasks\Implementation\TaskManager\BasicTaskManager($c[
"bt.persistence"]);
1765 } elseif (
$sync ==
'async') {
1766 return new \ILIAS\BackgroundTasks\Implementation\TaskManager\AsyncTaskManager($c[
"bt.persistence"]);
1768 throw new ilException(
"The supported Background Task Managers are sync and async. $sync given.");
1776 $c[
"di.dependency_map"] =
function ($c) {
1777 return new \ILIAS\BackgroundTasks\Dependencies\DependencyMap\BaseDependencyMap();
1780 $c[
"di.injector"] =
function ($c) {
1781 return new \ILIAS\BackgroundTasks\Dependencies\Injector($c, $c[
"di.dependency_map"]);
const PEAR_ERROR_CALLBACK
An exception for terminatinating execution or to throw for unit testing.
Renderer that dispatches rendering of UI components to a Renderer found in the same namespace as the ...
Caches renderers loaded by another loader.
Wraps global ilTemplate to provide JavaScriptBinding.
Plumbing for ILIAS, tries to guess.
Factory for wrapped ilTemplates.
Handles display of the main menu for LTI.
special template class to simplify handling of ITX/PEAR
static getInstance(\ilLogger $logger)
Get instance.
static isAuthenticationForced()
Check if authentication is should be forced.
static handleForcedAuthentication()
static usesTemplate()
Uses template engine.
static supportsRedirects()
Are redirects supported?
static hasUser()
Based on user authentication?
static supportsPersistentSessions()
Check if context supports persistent session handling.
static getType()
Get context type.
static hasHTML()
Has HTML output.
static usesHTTP()
Uses HTTP aka browser.
const CONTEXT_LTI_PROVIDER
static initClient()
Init client.
static start()
Start task scheduler for each server instance.
Base class for ILIAS Exception handling.
Class ilGlobalCacheSettings.
static setup(ilGlobalCacheSettings $ilGlobalCacheSettings)
static getInstance()
Get https instance.
ILIAS Initialisation Utility Class perform basic setup: init database handler, load configuration fil...
static blockedAuthentication($a_current_script)
Block authentication based on current request.
static initDatabase()
initialise database object $ilDB
static initHTTPServices(\ILIAS\DI\Container $container)
static goToLogin()
go to login
static initILIAS()
ilias initialisation
static initLocale()
Init Locale.
static removeUnsafeCharacters()
Remove unsafe characters from GET.
static buildHTTPPath()
builds http path
static requireCommonIncludes()
get common include code files
static initClientIniFile()
This method provides a global instance of class ilIniFile for the client.ini.php file in variable $il...
static getCurrentCmd()
Extract current cmd from request.
static initSession()
Init auth session.
static initClient()
Init client-based objects (level 1)
static initCore()
Init core objects (level 0)
static recursivelyRemoveUnsafeCharacters($var)
static initUIFramework(\ILIAS\DI\Container $c)
init the ILIAS UI framework.
static includePhp5Compliance()
This is a hack for authentication.
static handleErrorReporting()
Set error reporting level.
static initFileUploadService(\ILIAS\DI\Container $dic)
Initializes the file upload service.
static determineClient()
This method determines the current client and sets the constant CLIENT_ID.
static authenticate()
Try authentication.
static translateMessage($a_message_id, array $a_message_static=null)
Translate message if possible.
static redirect($a_target, $a_message_id='', array $a_message_static=null)
Redirects to target url if context supports it.
static initHTML()
init HTML output (level 3)
static initLog()
Init log instance.
static initAvatar(\ILIAS\DI\Container $c)
static goToPublicSection()
go to public section
static resumeUserSession()
Resume an existing user session.
static setSessionHandler()
set session handler to db
static handleDevMode()
Prepare developer tools.
static setCookieConstants()
static showingLoginForm($a_current_script)
Is current view the login form?
static initUser()
Init user / authentification (level 2)
static initGlobal($a_name, $a_class, $a_source_file=null)
Initialize global instance.
static initBackgroundTasks(\ILIAS\DI\Container $c)
static abortAndDie($a_message)
Exit.
static initInjector(\ILIAS\DI\Container $c)
static setSessionCookieParams()
set session cookie params
static initSettings()
initialise $ilSettings object and define constants
static initMail(\ILIAS\DI\Container $c)
static $already_initialized
static handleMaintenanceMode()
handle maintenance mode
static initAccessHandling()
$ilAccess and $rbac... initialisation
static initIliasIniFile()
This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilI...
static initStyle()
provide $styleDefinition object
@classDescription class for ILIAS ViewLTI
static getFallbackInstance()
Builds a global default language instance.
static getRootLogger()
The unique root logger has a fixed error level.
static getLogger($a_component_id)
Get component logger.
Class ilMailMimeSenderFactory.
Handles display of the main menu.
Administration class for plugins.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static getInstance()
Get instance.
Database Session Handling.
static _exists($a_session_id)
Check whether session exists.
static set($a_var, $a_val)
Set a value.
static setClosingContext($a_context)
set closing context (for statistics)
const SESSION_CLOSE_LOGIN
static get($a_var)
Get a value.
const SESSION_CLOSE_PUBLIC
const SESSION_CLOSE_EXPIRE
special template class to simplify handling of ITX/PEAR
static initDefaultTimeZone(ilIniFile $ini)
Initialize default timezone from system settings.
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...
Class ilUserAvatarFactory.
Class ilUserAccountMaintenanceEnforcement.
static getStartingPointAsUrl()
Get current starting point setting as URL.
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user
static redirect($a_script)
static removeTrailingPathSeparators($path)
static getClientIdByString($clientId)
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
Interface FilesystemFactory.
catch(Exception $e) $message
if($modEnd===false) $module
defined( 'APPLICATION_ENV')||define( 'APPLICATION_ENV'
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']