ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilInitialisation Class Reference

ILIAS Initialisation Utility Class perform basic setup: init database handler, load configuration file, init user authentification & error handler, load object type definitions. More...

+ Collaboration diagram for ilInitialisation:

Public Member Functions

 removeUnsafeCharacters ()
 Remove unsafe characters from GET. More...
 
 requireCommonIncludes ()
 get common include code files More...
 
 initIliasIniFile ()
 This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilIliasIniFile. More...
 
 determineClient ()
 This method determines the current client and sets the constant CLIENT_ID. More...
 
 initClientIniFile ()
 This method provides a global instance of class ilIniFile for the client.ini.php file in variable $ilClientIniFile. More...
 
 initDatabase ()
 initialise database object $ilDB More...
 
 initEventHandling ()
 initialise event handler ilAppEventHandler More...
 
 initILIAS ($context="web")
 ilias initialisation More...
 
 initLog ()
 
 persistCMIData ()
 

Static Public Member Functions

static setSessionHandler ()
 set session handler to db More...
 
static goToPublicSection ($a_auth_stat="")
 go to public section More...
 
static reinitILIAS ()
 
static initILIAS ()
 ilias initialisation More...
 
static handleErrorReporting ()
 Set error reporting level. More...
 
static authenticate ()
 Try authentication. More...
 

Static Protected Member Functions

static removeUnsafeCharacters ()
 Remove unsafe characters from GET. More...
 
static recursivelyRemoveUnsafeCharacters ($var)
 
static requireCommonIncludes ()
 get common include code files More...
 
static includePhp5Compliance ()
 This is a hack for authentication. More...
 
static initIliasIniFile ()
 This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilIliasIniFile. More...
 
static buildHTTPPath ()
 builds http path More...
 
static determineClient ()
 This method determines the current client and sets the constant CLIENT_ID. More...
 
static initClientIniFile ()
 This method provides a global instance of class ilIniFile for the client.ini.php file in variable $ilClientIniFile. More...
 
static handleMaintenanceMode ()
 handle maintenance mode More...
 
static initDatabase ()
 initialise database object $ilDB More...
 
static setCookieParams ()
 set session cookie params for path, domain, etc. More...
 
static initSettings ()
 initialise $ilSettings object and define constants More...
 
static initStyle ()
 provide $styleDefinition object More...
 
static initLocale ()
 Init Locale. More...
 
static goToLogin ($a_auth_stat="")
 go to login More...
 
static initAccessHandling ()
 $ilAccess and $rbac... initialisation More...
 
static initLog ()
 Init log instance. More...
 
static initGlobal ($a_name, $a_class, $a_source_file=null)
 Initialize global instance. More...
 
static abortAndDie ($a_message)
 Exit. More...
 
static handleDevMode ()
 Prepare developer tools
More...
 
static initCore ()
 Init core objects (level 0) More...
 
static initClient ()
 Init client-based objects (level 1) More...
 
static initUser ()
 Init user / authentification (level 2) More...
 
static getCurrentCmd ()
 Extract current cmd from request. More...
 
static blockedAuthentication ($a_current_script)
 Block authentication based on current request. More...
 
static showingLoginForm ($a_current_script)
 Is current view the login form? More...
 
static translateMessage ($a_message_id, array $a_message_static=null)
 Translate message if possible. More...
 
static redirect ($a_target, $a_message_id, $a_message_static)
 Redirects to target url if context supports it. More...
 

Static Protected Attributes

static $already_initialized
 

Detailed Description

ILIAS Initialisation Utility Class perform basic setup: init database handler, load configuration file, init user authentification & error handler, load object type definitions.

Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Sascha Hofmann shofm.nosp@m.ann@.nosp@m.datab.nosp@m.ay.d.nosp@m.e
Version
$Id$
Author
Alex Killing alex..nosp@m.kill.nosp@m.ing@g.nosp@m.mx.d.nosp@m.e
Sascha Hofmann shofm.nosp@m.ann@.nosp@m.datab.nosp@m.ay.d.nosp@m.e
Uwe Kohnle kohnl.nosp@m.e@in.nosp@m.terne.nosp@m.tleh.nosp@m.rer-g.nosp@m.mbh..nosp@m.de
Version
Id
class.ilInitialisation.php 26932 2010-12-09 16:26:46Z mjansen

Definition at line 27 of file class.ilInitialisation.php.

Member Function Documentation

◆ abortAndDie()

static ilInitialisation::abortAndDie (   $a_message)
staticprotected

Exit.

Parameters
string$a_message

Definition at line 820 of file class.ilInitialisation.php.

821 {
822 if(is_object($GLOBALS['ilLog']))
823 {
824 $GLOBALS['ilLog']->write("Fatal Error: ilInitialisation - ".$a_message);
825 }
826 die($a_message);
827 }
$GLOBALS['PHPCAS_CLIENT']
This global variable is used by the interface class phpCAS.
Definition: CAS.php:276

References $GLOBALS.

Referenced by determineClient(), goToPublicSection(), handleMaintenanceMode(), initClientIniFile(), initSettings(), redirect(), and setSessionHandler().

+ Here is the caller graph for this function:

◆ authenticate()

static ilInitialisation::authenticate ( )
static

Try authentication.

This will basically validate the current session

Definition at line 1131 of file class.ilInitialisation.php.

1132 {
1133 global $ilAuth, $ilias, $ilErr;
1134
1135 $current_script = substr(strrchr($_SERVER["PHP_SELF"], "/"), 1);
1136
1137 if(self::blockedAuthentication($current_script))
1138 {
1139 return;
1140 }
1141
1142 if(self::showingLoginForm($current_script))
1143 {
1144 // login form is shown or user tries to authenticate => destroy old user session
1145 $ilAuth->logout();
1147 ilSession::set('AccountId', null);
1148
1149 ilLoggerFactory::getLogger('auth')->debug('Logout called for old session on login request');
1150 }
1151
1152
1153
1154 $oldSid = session_id();
1155
1156 $ilAuth->start();
1157 $ilias->setAuthError($ilErr->getLastError());
1158
1159 if(IS_PAYMENT_ENABLED)
1160 {
1161 // cart is "attached" to session, has to be updated
1162 $newSid = session_id();
1163 if($oldSid != $newSid)
1164 {
1165 include_once './Services/Payment/classes/class.ilPaymentShoppingCart.php';
1166 ilPaymentShoppingCart::_migrateShoppingCart($oldSid, $newSid);
1167 }
1168 }
1169
1170 if($ilAuth->getAuth() && $ilAuth->getStatus() == '')
1171 {
1172 self::initUserAccount();
1173
1174 self::handleAuthenticationSuccess();
1175 }
1176 else
1177 {
1178 if (!self::showingLoginForm($current_script))
1179 {
1180 // :TODO: should be moved to context?!
1181 $mandatory_auth = ($current_script != "shib_login.php"
1182 && $current_script != "shib_logout.php"
1183 && $current_script != "error.php"
1184 && $current_script != "chat.php"
1185 && $current_script != "wac.php"
1186 && $current_script != "index.php"); // #10316
1187
1188 if($mandatory_auth)
1189 {
1190 self::handleAuthenticationFail();
1191 }
1192 }
1193 }
1194 }
static getLogger($a_component_id)
Get component logger.
static set($a_var, $a_val)
Set a value.
const SESSION_CLOSE_LOGIN
static _destroy($a_session_id, $a_closing_context=null, $a_expired_at=null)
Destroy session.
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']

References $_SERVER, $ilErr, ilSession\_destroy(), ilLoggerFactory\getLogger(), ilSession\SESSION_CLOSE_LOGIN, and ilSession\set().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ blockedAuthentication()

static ilInitialisation::blockedAuthentication (   $a_current_script)
staticprotected

Block authentication based on current request.

Returns
boolean

Definition at line 1352 of file class.ilInitialisation.php.

1353 {
1354 if($a_current_script == "register.php" ||
1355 $a_current_script == "pwassist.php" ||
1356 $a_current_script == "confirmReg.php" ||
1357 $a_current_script == "il_securimage_play.php" ||
1358 $a_current_script == "il_securimage_show.php")
1359 {
1360 return true;
1361 }
1362
1363 if($_REQUEST["baseClass"] == "ilStartUpGUI")
1364 {
1365 $cmd_class = $_REQUEST["cmdClass"];
1366
1367 if($cmd_class == "ilaccountregistrationgui" ||
1368 $cmd_class == "ilpasswordassistancegui")
1369 {
1370 return true;
1371 }
1372
1374 if($cmd == "showTermsOfService" || $cmd == "showClientList" ||
1375 $cmd == 'showAccountMigration' || $cmd == 'migrateAccount' ||
1376 $cmd == 'processCode')
1377 {
1378 return true;
1379 }
1380 }
1381
1382 // #12884
1383 if(($a_current_script == "goto.php" && $_GET["target"] == "impr_0") ||
1384 $_GET["baseClass"] == "ilImprintGUI")
1385 {
1386 return true;
1387 }
1388
1389 return false;
1390 }
$_GET["client_id"]
static getCurrentCmd()
Extract current cmd from request.
$cmd
Definition: sahs_server.php:35
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

References $_GET, $_REQUEST, $cmd, and getCurrentCmd().

+ Here is the call graph for this function:

◆ buildHTTPPath()

static ilInitialisation::buildHTTPPath ( )
staticprotected

builds http path

Definition at line 174 of file class.ilInitialisation.php.

175 {
176 include_once './Services/Http/classes/class.ilHTTPS.php';
177 $https = new ilHTTPS();
178
179 if($https->isDetected())
180 {
181 $protocol = 'https://';
182 }
183 else
184 {
185 $protocol = 'http://';
186 }
187 $host = $_SERVER['HTTP_HOST'];
188
189 $rq_uri = strip_tags($_SERVER['REQUEST_URI']);
190
191 // security fix: this failed, if the URI contained "?" and following "/"
192 // -> we remove everything after "?"
193 if (is_int($pos = strpos($rq_uri, "?")))
194 {
195 $rq_uri = substr($rq_uri, 0, $pos);
196 }
197
198 if(!defined('ILIAS_MODULE'))
199 {
200 $path = pathinfo($rq_uri);
201 if(!$path['extension'])
202 {
203 $uri = $rq_uri;
204 }
205 else
206 {
207 $uri = dirname($rq_uri);
208 }
209 }
210 else
211 {
212 // if in module remove module name from HTTP_PATH
213 $path = dirname($rq_uri);
214
215 // dirname cuts the last directory from a directory path e.g content/classes return content
216
218
219 $dirs = explode('/',$module);
220 $uri = $path;
221 foreach($dirs as $dir)
222 {
223 $uri = dirname($uri);
224 }
225 }
226
227 return define('ILIAS_HTTP_PATH',ilUtil::removeTrailingPathSeparators($protocol.$host.$uri));
228 }
HTTPS.
static removeTrailingPathSeparators($path)
const ILIAS_MODULE
Definition: payment.php:15
$path
Definition: index.php:22
global $https
Definition: imgupload.php:15
$dirs

References $_SERVER, $dirs, $https, $path, ILIAS_MODULE, and ilUtil\removeTrailingPathSeparators().

Referenced by initSettings().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ determineClient() [1/2]

static ilInitialisation::determineClient ( )
staticprotected

This method determines the current client and sets the constant CLIENT_ID.

Definition at line 234 of file class.ilInitialisation.php.

235 {
236 global $ilIliasIniFile;
237
238 // check whether ini file object exists
239 if (!is_object($ilIliasIniFile))
240 {
241 self::abortAndDie("Fatal Error: ilInitialisation::determineClient called without initialisation of ILIAS ini file object.");
242 }
243
244 // set to default client if empty
245 if ($_GET["client_id"] != "")
246 {
247 $_GET["client_id"] = ilUtil::stripSlashes($_GET["client_id"]);
248 if (!defined("IL_PHPUNIT_TEST"))
249 {
250 ilUtil::setCookie("ilClientId", $_GET["client_id"]);
251 }
252 }
253 else if (!$_COOKIE["ilClientId"])
254 {
255 // to do: ilias ini raus nehmen
256 $client_id = $ilIliasIniFile->readVariable("clients","default");
257 ilUtil::setCookie("ilClientId", $client_id);
258 }
259 if (!defined("IL_PHPUNIT_TEST"))
260 {
261 define ("CLIENT_ID", $_COOKIE["ilClientId"]);
262 }
263 else
264 {
265 define ("CLIENT_ID", $_GET["client_id"]);
266 }
267 }
static abortAndDie($a_message)
Exit.
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
$_COOKIE["ilClientId"]
Definition: cron.php:11
$client_id
global $ilIliasIniFile

References $_COOKIE, $_GET, $client_id, $ilIliasIniFile, abortAndDie(), ilUtil\setCookie(), and ilUtil\stripSlashes().

Referenced by initClient(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ determineClient() [2/2]

ilInitialisation::determineClient ( )

This method determines the current client and sets the constant CLIENT_ID.

Definition at line 125 of file class.ilInitialisation.php.

126 {
127 global $ilIliasIniFile;
128
129 // check whether ini file object exists
130 if (!is_object($ilIliasIniFile))
131 {
132 die ("Fatal Error: ilInitialisation::determineClient called without initialisation of ILIAS ini file object.");
133 }
134 if ($_GET["client_id"] != "") define ("CLIENT_ID", $_GET["client_id"]);
135 else define ("CLIENT_ID", $ilIliasIniFile->readVariable("clients","default"));
136 }

References $_GET, and $ilIliasIniFile.

◆ getCurrentCmd()

static ilInitialisation::getCurrentCmd ( )
staticprotected

Extract current cmd from request.

Returns
string

Definition at line 1334 of file class.ilInitialisation.php.

1335 {
1336 $cmd = $_REQUEST["cmd"];
1337 if(is_array($cmd))
1338 {
1339 return array_shift(array_keys($cmd));
1340 }
1341 else
1342 {
1343 return $cmd;
1344 }
1345 }

References $_REQUEST, and $cmd.

Referenced by blockedAuthentication().

+ Here is the caller graph for this function:

◆ goToLogin()

static ilInitialisation::goToLogin (   $a_auth_stat = "")
staticprotected

go to login

Parameters
int$a_auth_stat

Definition at line 711 of file class.ilInitialisation.php.

712 {
713 global $ilAuth;
714
715 // close current session
716 if($a_auth_stat == AUTH_EXPIRED ||
717 $a_auth_stat == AUTH_IDLED)
718 {
720 }
721 else
722 {
724 }
725 $ilAuth->logout();
726 session_unset();
727 session_destroy();
728
729 $add = "";
730 if ($_GET["soap_pw"] != "")
731 {
732 $add = "&soap_pw=".$_GET["soap_pw"]."&ext_uid=".$_GET["ext_uid"];
733 }
734
735 $script = "login.php?target=".$_GET["target"]."&client_id=".$_COOKIE["ilClientId"].
736 "&auth_stat=".$a_auth_stat.$add;
737
738 self::redirect($script, "init_error_authentication_fail",
739 array("en" => "Authentication failed.",
740 "de" => "Authentifizierung fehlgeschlagen."));
741 }
const AUTH_EXPIRED
Returned if session has expired.
Definition: Auth.php:34
const AUTH_IDLED
Returned if session exceeds idle time.
Definition: Auth.php:30
static redirect($a_target, $a_message_id, $a_message_static)
Redirects to target url if context supports it.
static setClosingContext($a_context)
set closing context (for statistics)
const SESSION_CLOSE_EXPIRE

References $_COOKIE, $_GET, AUTH_EXPIRED, AUTH_IDLED, redirect(), ilSession\SESSION_CLOSE_EXPIRE, ilSession\SESSION_CLOSE_LOGIN, and ilSession\setClosingContext().

+ Here is the call graph for this function:

◆ goToPublicSection()

static ilInitialisation::goToPublicSection (   $a_auth_stat = "")
static

go to public section

Parameters
int$a_auth_stat

Definition at line 631 of file class.ilInitialisation.php.

632 {
633 global $ilAuth;
634
635 if (ANONYMOUS_USER_ID == "")
636 {
637 self::abortAndDie("Public Section enabled, but no Anonymous user found.");
638 }
639
640 // logout and end previous session
641 if($a_auth_stat == AUTH_EXPIRED ||
642 $a_auth_stat == AUTH_IDLED)
643 {
645 }
646 else
647 {
649 }
650 $ilAuth->logout();
651 session_unset();
652 session_destroy();
653
654 // new session and login as anonymous
656 session_start();
657 $_POST["username"] = "anonymous";
658 $_POST["password"] = "anonymous";
660
661 // authenticate (anonymous)
662 $oldSid = session_id();
663 $ilAuth->start();
664 if (IS_PAYMENT_ENABLED)
665 {
666 $newSid = session_id();
667 if($oldSid != $newSid)
668 {
669 include_once './Services/Payment/classes/class.ilPaymentShoppingCart.php';
670 ilPaymentShoppingCart::_migrateShoppingCart($oldSid, $newSid);
671 }
672 }
673
674 if (!$ilAuth->getAuth())
675 {
676 self::abortAndDie("ANONYMOUS user with the object_id ".ANONYMOUS_USER_ID." not found!");
677 }
678
679 self::initUserAccount();
680
681 $mess_id = "init_error_authentication_fail";
682 $mess = array("en" => "Authentication failed.",
683 "de" => "Authentifizierung fehlgeschlagen.");
684
685 // if target given, try to go there
686 if ($_GET["target"] != "")
687 {
688 // when we are already "inside" goto.php no redirect is needed
689 $current_script = substr(strrchr($_SERVER["PHP_SELF"], "/"), 1);
690 if($current_script == "goto.php")
691 {
692 return;
693 }
694
695 // goto will check if target is accessible or redirect to login
696 self::redirect("goto.php?target=".$_GET["target"], $mess_id, $mess);
697 }
698
699 // we do not know if ref_id of request is accesible, so redirecting to root
700 $_GET["ref_id"] = ROOT_FOLDER_ID;
701 $_GET["cmd"] = "frameset";
702 self::redirect("ilias.php?baseClass=ilrepositorygui&reloadpublic=1&cmd=".
703 $_GET["cmd"]."&ref_id=".$_GET["ref_id"], $mess_id, $mess);
704 }
_initAuth()
initialises $ilAuth
static setSessionHandler()
set session handler to db
const SESSION_CLOSE_PUBLIC
$_POST['username']
Definition: cron.php:12

References $_GET, $_POST, $_SERVER, ilAuthUtils\_initAuth(), abortAndDie(), AUTH_EXPIRED, AUTH_IDLED, redirect(), ilSession\SESSION_CLOSE_EXPIRE, ilSession\SESSION_CLOSE_PUBLIC, ilSession\setClosingContext(), and setSessionHandler().

Referenced by ilStartUpGUI\processIndexPHP().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ handleDevMode()

static ilInitialisation::handleDevMode ( )
staticprotected

Prepare developer tools

Definition at line 832 of file class.ilInitialisation.php.

833 {
834 if(defined(SHOWNOTICES) && SHOWNOTICES)
835 {
836 // no further differentiating of php version regarding to 5.4 neccessary
837 // when the error reporting is set to E_ALL anyway
838
839 // add notices to error reporting
840 error_reporting(E_ALL);
841 }
842
843 if(defined('DEBUGTOOLS') && DEBUGTOOLS)
844 {
845 include_once "include/inc.debug.php";
846 }
847 }

Referenced by initClient().

+ Here is the caller graph for this function:

◆ handleErrorReporting()

static ilInitialisation::handleErrorReporting ( )
static

Set error reporting level.

Definition at line 925 of file class.ilInitialisation.php.

926 {
927 // remove notices from error reporting
928 if (version_compare(PHP_VERSION, '5.4.0', '>='))
929 {
930 // Prior to PHP 5.4.0 E_ALL does not include E_STRICT.
931 // With PHP 5.4.0 and above E_ALL >DOES< include E_STRICT.
932
933 error_reporting(((ini_get("error_reporting") & ~E_NOTICE) & ~E_DEPRECATED) & ~E_STRICT);
934 }
935 else
936 {
937 error_reporting((ini_get("error_reporting") & ~E_NOTICE) & ~E_DEPRECATED);
938 }
939
940 // see handleDevMode() - error reporting might be overwritten again
941 // but we need the client ini first
942 }

Referenced by ilWebAccessCheckerDelivery\handleRequest(), and initCore().

+ Here is the caller graph for this function:

◆ handleMaintenanceMode()

static ilInitialisation::handleMaintenanceMode ( )
staticprotected

handle maintenance mode

Definition at line 375 of file class.ilInitialisation.php.

376 {
377 global $ilClientIniFile;
378
379 if (!$ilClientIniFile->readVariable("client","access"))
380 {
381 $mess = array("en" => "The server is not available due to maintenance.".
382 " We apologise for any inconvenience.",
383 "de" => "Der Server ist aufgrund von Wartungsarbeiten nicht verfügbar.".
384 " Wir bitten um Verständnis.");
385 $mess_id = "init_error_maintenance";
386
387 if (ilContext::hasHTML() && is_file("./maintenance.html"))
388 {
389 self::redirect("./maintenance.html", $mess_id, $mess);
390 }
391 else
392 {
393 $mess = self::translateMessage($mess_id, $mess);
394 self::abortAndDie($mess);
395 }
396 }
397 }
static hasHTML()
Has HTML output.
static translateMessage($a_message_id, array $a_message_static=null)
Translate message if possible.

References abortAndDie(), ilContext\hasHTML(), redirect(), and translateMessage().

Referenced by initClient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ includePhp5Compliance()

static ilInitialisation::includePhp5Compliance ( )
staticprotected

This is a hack for authentication.

Since the phpCAS lib ships with its own compliance functions.

Definition at line 92 of file class.ilInitialisation.php.

93 {
94 include_once 'Services/Authentication/classes/class.ilAuthFactory.php';
96 {
97 require_once("include/inc.xml5compliance.php");
98 }
99 require_once("include/inc.xsl5compliance.php");
100 }

References ilAuthFactory\CONTEXT_CAS, and ilAuthFactory\getContext().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initAccessHandling()

static ilInitialisation::initAccessHandling ( )
staticprotected

$ilAccess and $rbac... initialisation

Definition at line 764 of file class.ilInitialisation.php.

765 {
766 self::initGlobal("rbacreview", "ilRbacReview",
767 "./Services/AccessControl/classes/class.ilRbacReview.php");
768
769 require_once "./Services/AccessControl/classes/class.ilRbacSystem.php";
770 $rbacsystem = ilRbacSystem::getInstance();
771 self::initGlobal("rbacsystem", $rbacsystem);
772
773 self::initGlobal("rbacadmin", "ilRbacAdmin",
774 "./Services/AccessControl/classes/class.ilRbacAdmin.php");
775
776 self::initGlobal("ilAccess", "ilAccessHandler",
777 "./Services/AccessControl/classes/class.ilAccessHandler.php");
778
779 require_once "./Services/AccessControl/classes/class.ilConditionHandler.php";
780 }
static initGlobal($a_name, $a_class, $a_source_file=null)
Initialize global instance.

References ilRbacSystem\getInstance(), and initGlobal().

Referenced by initUser().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initClient()

static ilInitialisation::initClient ( )
staticprotected

Init client-based objects (level 1)

Definition at line 987 of file class.ilInitialisation.php.

988 {
989 global $https, $ilias;
990
992
994
995
996 // --- needs client ini
997
998 $ilias->client_id = CLIENT_ID;
999
1000 if (DEVMODE)
1001 {
1003 }
1004
1005
1007
1009
1010 // moved after databases
1011 self::initLog();
1012
1013 self::initGlobal("ilAppEventHandler", "ilAppEventHandler",
1014 "./Services/EventHandling/classes/class.ilAppEventHandler.php");
1015
1016 // there are rare cases where initILIAS is called twice for a request
1017 // example goto.php is called and includes ilias.php later
1018 // we must prevent that ilPluginAdmin is initialized twice in
1019 // this case, since this won't get the values out of plugin.php the
1020 // second time properly
1021 if (!is_object($GLOBALS["ilPluginAdmin"]))
1022 {
1023 self::initGlobal("ilPluginAdmin", "ilPluginAdmin",
1024 "./Services/Component/classes/class.ilPluginAdmin.php");
1025 }
1026
1028
1030
1031
1032 // --- needs settings
1033
1035
1037 {
1038 // $https
1039 self::initGlobal("https", "ilHTTPS", "./Services/Http/classes/class.ilHTTPS.php");
1040 $https->enableSecureCookies();
1041 $https->checkPort();
1042 }
1043
1044
1045 // --- object handling
1046
1047 self::initGlobal("ilObjDataCache", "ilObjectDataCache",
1048 "./Services/Object/classes/class.ilObjectDataCache.php");
1049
1050 // needed in ilObjectDefinition
1051 require_once "./Services/Xml/classes/class.ilSaxParser.php";
1052
1053 self::initGlobal("objDefinition", "ilObjectDefinition",
1054 "./Services/Object/classes/class.ilObjectDefinition.php");
1055
1056 // $tree
1057 require_once "./Services/Tree/classes/class.ilTree.php";
1058 $tree = new ilTree(ROOT_FOLDER_ID);
1059 self::initGlobal("tree", $tree);
1060 unset($tree);
1061
1062 self::initGlobal("ilCtrl", "ilCtrl",
1063 "./Services/UICore/classes/class.ilCtrl.php");
1064
1066 }
static usesHTTP()
Uses HTTP aka browser.
static initDatabase()
initialise database object $ilDB
static initLocale()
Init Locale.
static initClientIniFile()
This method provides a global instance of class ilIniFile for the client.ini.php file in variable $il...
static determineClient()
This method determines the current client and sets the constant CLIENT_ID.
static initLog()
Init log instance.
static handleDevMode()
Prepare developer tools
static setCookieParams()
set session cookie params for path, domain, etc.
static initSettings()
initialise $ilSettings object and define constants
static handleMaintenanceMode()
handle maintenance mode
Tree class data representation in hierachical trees using the Nested Set Model with Gaps by Joe Celco...

References $GLOBALS, $https, determineClient(), handleDevMode(), handleMaintenanceMode(), initClientIniFile(), initDatabase(), initGlobal(), initLocale(), initLog(), initSettings(), setCookieParams(), setSessionHandler(), and ilContext\usesHTTP().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initClientIniFile() [1/2]

static ilInitialisation::initClientIniFile ( )
staticprotected

This method provides a global instance of class ilIniFile for the client.ini.php file in variable $ilClientIniFile.

It initializes a lot of constants accordingly to the settings in the client.ini.php file.

Preconditions: ILIAS_WEB_DIR and CLIENT_ID must be set.

Returns
boolean true, if no error occured with client init file otherwise false

Definition at line 281 of file class.ilInitialisation.php.

282 {
283 global $ilIliasIniFile;
284
285 // check whether ILIAS_WEB_DIR is set.
286 if (ILIAS_WEB_DIR == "")
287 {
288 self::abortAndDie("Fatal Error: ilInitialisation::initClientIniFile called without ILIAS_WEB_DIR.");
289 }
290
291 // check whether CLIENT_ID is set.
292 if (CLIENT_ID == "")
293 {
294 self::abortAndDie("Fatal Error: ilInitialisation::initClientIniFile called without CLIENT_ID.");
295 }
296
297 $ini_file = "./".ILIAS_WEB_DIR."/".CLIENT_ID."/client.ini.php";
298
299 // get settings from ini file
300 require_once("./Services/Init/classes/class.ilIniFile.php");
301 $ilClientIniFile = new ilIniFile($ini_file);
302 $ilClientIniFile->read();
303
304 // invalid client id / client ini
305 if ($ilClientIniFile->ERROR != "")
306 {
307 $c = $_COOKIE["ilClientId"];
308 $default_client = $ilIliasIniFile->readVariable("clients","default");
309 ilUtil::setCookie("ilClientId", $default_client);
310 if (CLIENT_ID != "" && CLIENT_ID != $default_client)
311 {
312 $mess = array("en" => "Client does not exist.",
313 "de" => "Mandant ist ungültig.");
314 self::redirect("index.php?client_id=".$default_client, null, $mess);
315 }
316 else
317 {
318 self::abortAndDie("Fatal Error: ilInitialisation::initClientIniFile initializing client ini file abborted with: ". $ilClientIniFile->ERROR);
319 }
320 }
321
322 self::initGlobal("ilClientIniFile", $ilClientIniFile);
323
324 // set constants
325 define ("SESSION_REMINDER_LEADTIME", 30);
326 define ("DEBUG",$ilClientIniFile->readVariable("system","DEBUG"));
327 define ("DEVMODE",$ilClientIniFile->readVariable("system","DEVMODE"));
328 define ("SHOWNOTICES",$ilClientIniFile->readVariable("system","SHOWNOTICES"));
329 define ("DEBUGTOOLS",$ilClientIniFile->readVariable("system","DEBUGTOOLS"));
330 define ("ROOT_FOLDER_ID",$ilClientIniFile->readVariable('system','ROOT_FOLDER_ID'));
331 define ("SYSTEM_FOLDER_ID",$ilClientIniFile->readVariable('system','SYSTEM_FOLDER_ID'));
332 define ("ROLE_FOLDER_ID",$ilClientIniFile->readVariable('system','ROLE_FOLDER_ID'));
333 define ("MAIL_SETTINGS_ID",$ilClientIniFile->readVariable('system','MAIL_SETTINGS_ID'));
334 $error_handler = $ilClientIniFile->readVariable('system', 'ERROR_HANDLER');
335 define ("ERROR_HANDLER", $error_handler ? $error_handler : "PRETTY_PAGE");
336 $log_error_trace = $ilClientIniFile->readVariable('system', 'LOG_ERROR_TRACE');
337 define ("LOG_ERROR_TRACE", $log_error_trace ? $log_error_trace : false);
338
339 // this is for the online help installation, which sets OH_REF_ID to the
340 // ref id of the online module
341 define ("OH_REF_ID",$ilClientIniFile->readVariable("system","OH_REF_ID"));
342
343 define ("SYSTEM_MAIL_ADDRESS",$ilClientIniFile->readVariable('system','MAIL_SENT_ADDRESS')); // Change SS
344 define ("MAIL_REPLY_WARNING",$ilClientIniFile->readVariable('system','MAIL_REPLY_WARNING')); // Change SS
345
346 // see ilObject::TITLE_LENGTH, ilObject::DESC_LENGTH
347 // define ("MAXLENGTH_OBJ_TITLE",125);#$ilClientIniFile->readVariable('system','MAXLENGTH_OBJ_TITLE'));
348 // define ("MAXLENGTH_OBJ_DESC",$ilClientIniFile->readVariable('system','MAXLENGTH_OBJ_DESC'));
349
350 define ("CLIENT_DATA_DIR",ILIAS_DATA_DIR."/".CLIENT_ID);
351 define ("CLIENT_WEB_DIR",ILIAS_ABSOLUTE_PATH."/".ILIAS_WEB_DIR."/".CLIENT_ID);
352 define ("CLIENT_NAME",$ilClientIniFile->readVariable('client','name')); // Change SS
353
354 $val = $ilClientIniFile->readVariable("db","type");
355 if ($val == "")
356 {
357 define ("IL_DB_TYPE", "mysql");
358 }
359 else
360 {
361 define ("IL_DB_TYPE", $val);
362 }
363
364 require_once('./Services/GlobalCache/classes/Settings/class.ilGlobalCacheSettings.php');
365 $ilGlobalCacheSettings = new ilGlobalCacheSettings();
366 $ilGlobalCacheSettings->readFromIniFile($ilClientIniFile);
367 ilGlobalCache::setup($ilGlobalCacheSettings);
368
369 return true;
370 }
Class ilGlobalCacheSettings.
static setup(ilGlobalCacheSettings $ilGlobalCacheSettings)
INIFile Parser.
const ILIAS_WEB_DIR
const ILIAS_ABSOLUTE_PATH

References $_COOKIE, $ilIliasIniFile, abortAndDie(), ILIAS_ABSOLUTE_PATH, ILIAS_WEB_DIR, initGlobal(), redirect(), ilUtil\setCookie(), and ilGlobalCache\setup().

Referenced by initClient(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initClientIniFile() [2/2]

ilInitialisation::initClientIniFile ( )

This method provides a global instance of class ilIniFile for the client.ini.php file in variable $ilClientIniFile.

It initializes a lot of constants accordingly to the settings in the client.ini.php file.

Preconditions: ILIAS_WEB_DIR and CLIENT_ID must be set.

Returns
boolean true, if no error occured with client init file otherwise false

Definition at line 150 of file class.ilInitialisation.php.

151 {
152 global $ilClientIniFile;
153
154 // check whether ILIAS_WEB_DIR is set.
155 if (ILIAS_WEB_DIR == "")
156 {
157 die ("Fatal Error: ilInitialisation::initClientIniFile called without ILIAS_WEB_DIR.");
158 }
159
160 // check whether CLIENT_ID is set.
161 if (CLIENT_ID == "")
162 {
163 die ("Fatal Error: ilInitialisation::initClientIniFile called without CLIENT_ID.");
164 }
165
166 $ini_file = "./".ILIAS_WEB_DIR."/".CLIENT_ID."/client.ini.php";
167
168 // get settings from ini file
169 require_once("./Services/Init/classes/class.ilIniFile.php");
170 $ilClientIniFile = new ilIniFile($ini_file);
171 $GLOBALS['ilClientIniFile'] =& $ilClientIniFile;
172 $ilClientIniFile->read();
173
174 // if no ini-file found switch to setup routine
175 if ($ilClientIniFile->ERROR != "")
176 {
177 throw new ilException('No Client INI File!! (ClientID "'.CLIENT_ID.'" / '.$ilClientIniFile->ERROR.')');
178 return false;
179 }
180
181 // set constants
182 define ("CLIENT_DATA_DIR",ILIAS_DATA_DIR."/".CLIENT_ID);
183 define ("CLIENT_WEB_DIR",ILIAS_ABSOLUTE_PATH."/".ILIAS_WEB_DIR."/".CLIENT_ID);
184 define ("CLIENT_NAME",$ilClientIniFile->readVariable('client','name')); // Change SS
185
186 define ("ROOT_FOLDER_ID",$ilClientIniFile->readVariable('system','ROOT_FOLDER_ID'));
187
188 $val = $ilClientIniFile->readVariable("db","type");
189 if ($val == "")
190 {
191 define ("IL_DB_TYPE", "mysql");
192 }
193 else
194 {
195 define ("IL_DB_TYPE", $val);
196 }
197 return true;
198 }
Base class for ILIAS Exception handling.

References $GLOBALS, ILIAS_ABSOLUTE_PATH, and ILIAS_WEB_DIR.

◆ initCore()

static ilInitialisation::initCore ( )
staticprotected

Init core objects (level 0)

Definition at line 947 of file class.ilInitialisation.php.

948 {
949 global $ilErr;
950
952
953 // breaks CAS: must be included after CAS context isset in AuthUtils
954 //self::includePhp5Compliance();
955
957
958
959 // error handler
960 self::initGlobal("ilErr", "ilErrorHandling",
961 "./Services/Init/classes/class.ilErrorHandling.php");
962 $ilErr->setErrorHandling(PEAR_ERROR_CALLBACK, array($ilErr, 'errorHandler'));
963
964 // :TODO: obsolete?
965 PEAR::setErrorHandling(PEAR_ERROR_CALLBACK, array($ilErr, "errorHandler"));
966
967 // workaround: load old post variables if error handler 'message' was called
968 include_once "Services/Authentication/classes/class.ilSession.php";
969 if (ilSession::get("message"))
970 {
971 $_POST = ilSession::get("post_vars");
972 }
973
975
977
978 define('IL_INITIAL_WD', getcwd());
979
980 // deprecated
981 self::initGlobal("ilias", "ILIAS", "./Services/Init/classes/class.ilias.php");
982 }
const PEAR_ERROR_CALLBACK
Definition: PEAR.php:35
setErrorHandling($mode=null, $options=null)
Sets how errors generated by this object should be handled.
Definition: PEAR.php:335
static removeUnsafeCharacters()
Remove unsafe characters from GET.
static requireCommonIncludes()
get common include code files
static handleErrorReporting()
Set error reporting level.
static initIliasIniFile()
This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilI...
static get($a_var)
Get a value.

References $_POST, $ilErr, ilSession\get(), handleErrorReporting(), initGlobal(), initIliasIniFile(), PEAR_ERROR_CALLBACK, removeUnsafeCharacters(), requireCommonIncludes(), and PEAR\setErrorHandling().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initDatabase() [1/2]

static ilInitialisation::initDatabase ( )
staticprotected

initialise database object $ilDB

Definition at line 403 of file class.ilInitialisation.php.

404 {
405 // build dsn of database connection and connect
406 require_once("./Services/Database/classes/class.ilDBWrapperFactory.php");
408 $ilDB->initFromIniFile();
409 $ilDB->connect();
410
411 self::initGlobal("ilDB", $ilDB);
412 }
static getWrapper($a_type, $a_inactive_mysqli=null)
global $ilDB

References $ilDB, ilDBWrapperFactory\getWrapper(), and initGlobal().

Referenced by initClient(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initDatabase() [2/2]

ilInitialisation::initDatabase ( )

initialise database object $ilDB

Definition at line 204 of file class.ilInitialisation.php.

205 {
206 global $ilDB, $ilClientIniFile;
207
208 // build dsn of database connection and connect
209 require_once("./Services/Database/classes/class.ilDBWrapperFactory.php");
211 $ilDB->initFromIniFile();
212 $ilDB->connect();
213 $GLOBALS['ilDB'] = $ilDB;
214
215 }

References $GLOBALS, $ilDB, and ilDBWrapperFactory\getWrapper().

+ Here is the call graph for this function:

◆ initEventHandling()

ilInitialisation::initEventHandling ( )

initialise event handler ilAppEventHandler

Definition at line 220 of file class.ilInitialisation.php.

221 {
222 global $ilAppEventHandler;
223
224 // build dsn of database connection and connect
225 require_once("./Services/EventHandling/classes/class.ilAppEventHandler.php");
226 $ilAppEventHandler = new ilAppEventHandler();
227 $GLOBALS['ilAppEventHandler'] =& $ilAppEventHandler;
228 }
Global event handler.

References $GLOBALS.

◆ initGlobal()

static ilInitialisation::initGlobal (   $a_name,
  $a_class,
  $a_source_file = null 
)
staticprotected

Initialize global instance.

Parameters
string$a_name
string$a_class
string$a_source_file

Definition at line 802 of file class.ilInitialisation.php.

803 {
804 if($a_source_file)
805 {
806 include_once $a_source_file;
807 $GLOBALS[$a_name] = new $a_class;
808 }
809 else
810 {
811 $GLOBALS[$a_name] = $a_class;
812 }
813 }

References $GLOBALS.

Referenced by initAccessHandling(), initClient(), initClientIniFile(), initCore(), initDatabase(), initIliasIniFile(), initLog(), initSettings(), initStyle(), initUser(), and requireCommonIncludes().

+ Here is the caller graph for this function:

◆ initILIAS() [1/2]

ilInitialisation::initILIAS (   $context = "web")

ilias initialisation

Parameters
string$contextthis is used for circumvent redirects to the login page if called e.g. by soap

Definition at line 235 of file class.ilInitialisation.php.

236 {
237 global $ilDB, $ilUser, $ilLog, $ilErr, $ilClientIniFile, $ilIliasIniFile,
238 $ilSetting, $ilias, $https, $ilObjDataCache,
239 $ilLog, $objDefinition, $lng, $ilCtrl, $ilBrowser, $ilHelp,
240 $ilTabs, $ilMainMenu, $rbacsystem, $ilNavigationHistory;
241
242 // remove unsafe characters
243 $this->removeUnsafeCharacters();
244
245 // error reporting
246 // remove notices from error reporting
247 if (version_compare(PHP_VERSION, '5.3.0', '>='))
248 {
249 error_reporting((ini_get("error_reporting") & ~E_NOTICE) & ~E_DEPRECATED);
250 }
251 else
252 {
253 error_reporting(ini_get('error_reporting') & ~E_NOTICE);
254 }
255
256 $ilUser = new ilObjUserMin();
257 $GLOBALS['ilUser'] =& $ilUser;
258
259
260 // include common code files
261 $this->requireCommonIncludes();
262 global $ilBench;
263 // $ilIliasIniFile initialisation
264 $this->initIliasIniFile();
265
266
267 // CLIENT_ID determination
268 $this->determineClient();
269
270 // $ilAppEventHandler initialisation
271 //$this->initEventHandling();
272
273
274 // $ilClientIniFile initialisation
275 if (!$this->initClientIniFile())
276 {
277 die("no client");
278 }
279
280 // $ilDB initialisation
281 $this->initDatabase();
282 $this->initLog();
283
284 // settings
285 $ilSetting = new ilSetting();
286 $GLOBALS['ilSetting'] = & $ilSetting;
287
288 // init tree
289 require_once "./Services/Tree/classes/class.ilTree.php";
290 $tree = new ilTree(ROOT_FOLDER_ID);
291 $GLOBALS['tree'] =& $tree;
292
293
294 if ((string) $_GET['do'] == "unload") {
295 include_once './Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
296 ilSCORM2004StoreData::scormPlayerUnload(null, (int)$_GET['package_id']);
297 }
298 else $this->persistCMIData();
299 }
scormPlayerUnload($userId=null, $packageId, $time_from_lms)
ILIAS Setting Class.
global $ilBench
Definition: ilias.php:18
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40
global $ilSetting
Definition: privfeed.php:40
global $ilUser
Definition: imgupload.php:15

References $_GET, $GLOBALS, $https, $ilBench, $ilCtrl, $ilDB, $ilErr, $ilIliasIniFile, $ilLog, $ilSetting, $ilUser, $lng, determineClient(), initClientIniFile(), initDatabase(), initIliasIniFile(), initLog(), persistCMIData(), removeUnsafeCharacters(), requireCommonIncludes(), and ilSCORM2004StoreData\scormPlayerUnload().

+ Here is the call graph for this function:

◆ initILIAS() [2/2]

static ilInitialisation::initILIAS ( )
static

ilias initialisation

Definition at line 860 of file class.ilInitialisation.php.

861 {
862 if (self::$already_initialized)
863 {
864 // workaround for bug #17990
865 // big mess. we prevent double initialisations with ILIAS 5.1, which is good, but...
866 // the style service uses $_GET["ref_id"] to determine
867 // the context styles. $_GET["ref_id"] is "corrected" by the "goto" procedure and which calls
868 // initILIAS again.
869 // we need a mechanism that detemines our repository context and stores that in an information object
870 // usable by the style component afterwars. This needs new concepts and a refactoring.
872 {
873 global $tpl;
874 if (is_object($tpl))
875 {
876 // load style sheet depending on user's settings
877 $location_stylesheet = ilUtil::getStyleSheetLocation();
878 $tpl->setVariable("LOCATION_STYLESHEET", $location_stylesheet);
879 }
880 }
881
882 return;
883 }
884
885 self::$already_initialized = true;
886
887 global $tree;
888
890
892 {
894
895 if (ilContext::hasUser())
896 {
898
900 {
902 }
903 }
904
905 // init after Auth otherwise breaks CAS
907
908 // language may depend on user setting
909 self::initLanguage();
910 $tree->initLangCode();
911
913 {
914 include_once('./Services/WebServices/ECS/classes/class.ilECSTaskScheduler.php');
916
917 self::initHTML();
918 }
919 }
920 }
global $tpl
Definition: ilias.php:8
static doAuthentication()
Try authentication.
static hasUser()
Based on user authentication?
static initClient()
Init client.
static start()
Start task scheduler for each server instance.
static initClient()
Init client-based objects (level 1)
static initCore()
Init core objects (level 0)
static includePhp5Compliance()
This is a hack for authentication.
static authenticate()
Try authentication.
static initUser()
Init user / authentification (level 2)
static getStyleSheetLocation($mode="output", $a_css_name="", $a_css_location="")
get full style sheet file name (path inclusive) of current user

References $tpl, authenticate(), ilContext\doAuthentication(), ilUtil\getStyleSheetLocation(), ilContext\hasHTML(), ilContext\hasUser(), includePhp5Compliance(), ilContext\initClient(), initClient(), initCore(), initUser(), and ilECSTaskScheduler\start().

Referenced by ilSoapAdministration\getClientInfoXML(), ilSoapAdministration\getInstallationInfoXML(), ilCalendarRemoteAccessHandler\initIlias(), ilWebAccessChecker\initILIAS(), ilSoapAdministration\initIlias(), and reinitILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initIliasIniFile() [1/2]

static ilInitialisation::initIliasIniFile ( )
staticprotected

This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilIliasIniFile.

It initializes a lot of constants accordingly to the settings in the ilias.ini.php file.

Definition at line 109 of file class.ilInitialisation.php.

110 {
111 require_once("./Services/Init/classes/class.ilIniFile.php");
112 $ilIliasIniFile = new ilIniFile("./ilias.ini.php");
113 $ilIliasIniFile->read();
114 self::initGlobal('ilIliasIniFile', $ilIliasIniFile);
115
116 // initialize constants
117 define("ILIAS_DATA_DIR",$ilIliasIniFile->readVariable("clients","datadir"));
118 define("ILIAS_WEB_DIR",$ilIliasIniFile->readVariable("clients","path"));
119 define("ILIAS_ABSOLUTE_PATH",$ilIliasIniFile->readVariable('server','absolute_path'));
120
121 // logging
122 define ("ILIAS_LOG_DIR",$ilIliasIniFile->readVariable("log","path"));
123 define ("ILIAS_LOG_FILE",$ilIliasIniFile->readVariable("log","file"));
124 define ("ILIAS_LOG_ENABLED",$ilIliasIniFile->readVariable("log","enabled"));
125 define ("ILIAS_LOG_LEVEL",$ilIliasIniFile->readVariable("log","level"));
126 define ("SLOW_REQUEST_TIME",$ilIliasIniFile->readVariable("log","slow_request_time"));
127
128 // read path + command for third party tools from ilias.ini
129 define ("PATH_TO_CONVERT",$ilIliasIniFile->readVariable("tools","convert"));
130 define ("PATH_TO_FFMPEG",$ilIliasIniFile->readVariable("tools","ffmpeg"));
131 define ("PATH_TO_ZIP",$ilIliasIniFile->readVariable("tools","zip"));
132 define ("PATH_TO_MKISOFS",$ilIliasIniFile->readVariable("tools","mkisofs"));
133 define ("PATH_TO_UNZIP",$ilIliasIniFile->readVariable("tools","unzip"));
134 define ("PATH_TO_GHOSTSCRIPT",$ilIliasIniFile->readVariable("tools","ghostscript"));
135 define ("PATH_TO_JAVA",$ilIliasIniFile->readVariable("tools","java"));
136 define ("PATH_TO_HTMLDOC",$ilIliasIniFile->readVariable("tools","htmldoc"));
137 define ("URL_TO_LATEX",$ilIliasIniFile->readVariable("tools","latex"));
138 define ("PATH_TO_FOP",$ilIliasIniFile->readVariable("tools","fop"));
139
140 // read virus scanner settings
141 switch ($ilIliasIniFile->readVariable("tools", "vscantype"))
142 {
143 case "sophos":
144 define("IL_VIRUS_SCANNER", "Sophos");
145 define("IL_VIRUS_SCAN_COMMAND", $ilIliasIniFile->readVariable("tools", "scancommand"));
146 define("IL_VIRUS_CLEAN_COMMAND", $ilIliasIniFile->readVariable("tools", "cleancommand"));
147 break;
148
149 case "antivir":
150 define("IL_VIRUS_SCANNER", "AntiVir");
151 define("IL_VIRUS_SCAN_COMMAND", $ilIliasIniFile->readVariable("tools", "scancommand"));
152 define("IL_VIRUS_CLEAN_COMMAND", $ilIliasIniFile->readVariable("tools", "cleancommand"));
153 break;
154
155 case "clamav":
156 define("IL_VIRUS_SCANNER", "ClamAV");
157 define("IL_VIRUS_SCAN_COMMAND", $ilIliasIniFile->readVariable("tools", "scancommand"));
158 define("IL_VIRUS_CLEAN_COMMAND", $ilIliasIniFile->readVariable("tools", "cleancommand"));
159 break;
160
161 default:
162 define("IL_VIRUS_SCANNER", "None");
163 break;
164 }
165
166 include_once './Services/Calendar/classes/class.ilTimeZone.php';
168 define ("IL_TIMEZONE", $tz);
169 }
static initDefaultTimeZone(ilIniFile $ini)
Initialize default timezone from system settings.

References $ilIliasIniFile, $tz, ilTimeZone\initDefaultTimeZone(), and initGlobal().

Referenced by initCore(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initIliasIniFile() [2/2]

ilInitialisation::initIliasIniFile ( )

This method provides a global instance of class ilIniFile for the ilias.ini.php file in variable $ilIliasIniFile.

It initializes a lot of constants accordingly to the settings in the ilias.ini.php file.

Definition at line 88 of file class.ilInitialisation.php.

89 {
90 global $ilIliasIniFile;
91
92 require_once("./Services/Init/classes/class.ilIniFile.php");
93 $ilIliasIniFile = new ilIniFile("./ilias.ini.php");
94 $GLOBALS['ilIliasIniFile'] =& $ilIliasIniFile;
95 $ilIliasIniFile->read();
96
97 // initialize constants
98 define("ILIAS_DATA_DIR",$ilIliasIniFile->readVariable("clients","datadir"));
99 define("ILIAS_WEB_DIR",$ilIliasIniFile->readVariable("clients","path"));
100 define("ILIAS_ABSOLUTE_PATH",$ilIliasIniFile->readVariable('server','absolute_path'));
101
102 // logging
103 define ("ILIAS_LOG_DIR",$ilIliasIniFile->readVariable("log","path"));
104 define ("ILIAS_LOG_FILE",$ilIliasIniFile->readVariable("log","file"));
105 define ("ILIAS_LOG_ENABLED",$ilIliasIniFile->readVariable("log","enabled"));
106 define ("ILIAS_LOG_LEVEL",$ilIliasIniFile->readVariable("log","level"));
107
108
109 $tz = $ilIliasIniFile->readVariable("server","timezone");
110 if ($tz != "")
111 {
112 if (function_exists('date_default_timezone_set'))
113 {
114 date_default_timezone_set($tz);
115 }
116 }
117 define ("IL_TIMEZONE", $ilIliasIniFile->readVariable("server","timezone"));
118 }

References $GLOBALS, $ilIliasIniFile, and $tz.

◆ initLocale()

static ilInitialisation::initLocale ( )
staticprotected

Init Locale.

Definition at line 595 of file class.ilInitialisation.php.

596 {
597 global $ilSetting;
598
599 if (trim($ilSetting->get("locale") != ""))
600 {
601 $larr = explode(",", trim($ilSetting->get("locale")));
602 $ls = array();
603 $first = $larr[0];
604 foreach ($larr as $l)
605 {
606 if (trim($l) != "")
607 {
608 $ls[] = $l;
609 }
610 }
611 if (count($ls) > 0)
612 {
613 setlocale(LC_ALL, $ls);
614
615 // #15347 - making sure that floats are not changed
616 setlocale(LC_NUMERIC, "C");
617
618 if (class_exists("Collator"))
619 {
620 $GLOBALS["ilCollator"] = new Collator($first);
621 }
622 }
623 }
624 }
global $l
Definition: afr.php:30

References $GLOBALS, $ilSetting, and $l.

Referenced by initClient().

+ Here is the caller graph for this function:

◆ initLog() [1/2]

static ilInitialisation::initLog ( )
staticprotected

Init log instance.

Definition at line 785 of file class.ilInitialisation.php.

786 {
787 include_once './Services/Logging/classes/public/class.ilLoggerFactory.php';
789
790 self::initGlobal("ilLog", $log);
791 // deprecated
792 self::initGlobal("log", $log);
793 }
static getRootLogger()
The unique root logger has a fixed error level.

References $log, ilLoggerFactory\getRootLogger(), and initGlobal().

Referenced by initClient(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initLog() [2/2]

ilInitialisation::initLog ( )

Definition at line 300 of file class.ilInitialisation.php.

300 {
301 global $ilLog;
302 $log = new ilLog(ILIAS_LOG_DIR,ILIAS_LOG_FILE,CLIENT_ID,ILIAS_LOG_ENABLED,ILIAS_LOG_LEVEL);
303 $GLOBALS['log'] = $log;
304 $ilLog = $log;
305 $GLOBALS['ilLog'] = $ilLog;
306 }
logging
Definition: class.ilLog.php:19

References $GLOBALS, $ilLog, and $log.

◆ initSettings()

static ilInitialisation::initSettings ( )
staticprotected

initialise $ilSettings object and define constants

Used in Soap

Definition at line 490 of file class.ilInitialisation.php.

491 {
492 global $ilSetting;
493
494 self::initGlobal("ilSetting", "ilSetting",
495 "Services/Administration/classes/class.ilSetting.php");
496
497 // check correct setup
498 if (!$ilSetting->get("setup_ok"))
499 {
500 self::abortAndDie("Setup is not completed. Please run setup routine again.");
501 }
502
503 // set anonymous user & role id and system role id
504 define ("ANONYMOUS_USER_ID", $ilSetting->get("anonymous_user_id"));
505 define ("ANONYMOUS_ROLE_ID", $ilSetting->get("anonymous_role_id"));
506 define ("SYSTEM_USER_ID", $ilSetting->get("system_user_id"));
507 define ("SYSTEM_ROLE_ID", $ilSetting->get("system_role_id"));
508 define ("USER_FOLDER_ID", 7);
509
510 // recovery folder
511 define ("RECOVERY_FOLDER_ID", $ilSetting->get("recovery_folder_id"));
512
513 // installation id
514 define ("IL_INST_ID", $ilSetting->get("inst_id",0));
515
516 // define default suffix replacements
517 define ("SUFFIX_REPL_DEFAULT", "php,php3,php4,inc,lang,phtml,htaccess");
518 define ("SUFFIX_REPL_ADDITIONAL", $ilSetting->get("suffix_repl_additional"));
519
521 {
523 }
524
525 // payment setting
526 require_once('Services/Payment/classes/class.ilPaymentSettings.php');
527 define('IS_PAYMENT_ENABLED', ilPaymentSettings::_isPaymentEnabled());
528 }
static buildHTTPPath()
builds http path

References $ilSetting, ilPaymentSettings\_isPaymentEnabled(), abortAndDie(), buildHTTPPath(), initGlobal(), and ilContext\usesHTTP().

Referenced by initClient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initStyle()

static ilInitialisation::initStyle ( )
staticprotected

provide $styleDefinition object

Definition at line 533 of file class.ilInitialisation.php.

534 {
535 global $styleDefinition, $ilPluginAdmin;
536
537 // load style definitions
538 self::initGlobal("styleDefinition", "ilStyleDefinition",
539 "./Services/Style/classes/class.ilStyleDefinition.php");
540
541 // add user interface hook for style initialisation
542 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE, "UIComponent", "uihk");
543 foreach ($pl_names as $pl)
544 {
545 $ui_plugin = ilPluginAdmin::getPluginObject(IL_COMP_SERVICE, "UIComponent", "uihk", $pl);
546 $gui_class = $ui_plugin->getUIClassInstance();
547 $gui_class->modifyGUI("Services/Init", "init_style", array("styleDefinition" => $styleDefinition));
548 }
549
550 $styleDefinition->startParsing();
551 }
const IL_COMP_SERVICE
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.

References ilPluginAdmin\getPluginObject(), IL_COMP_SERVICE, and initGlobal().

+ Here is the call graph for this function:

◆ initUser()

static ilInitialisation::initUser ( )
staticprotected

Init user / authentification (level 2)

Definition at line 1071 of file class.ilInitialisation.php.

1072 {
1073 global $ilias, $ilAuth, $ilUser;
1074
1076 {
1077 // allow login by submitting user data
1078 // in query string when DEVMODE is enabled
1079 if( DEVMODE
1080 && isset($_GET['username']) && strlen($_GET['username'])
1081 && isset($_GET['password']) && strlen($_GET['password'])
1082 ){
1083 $_POST['username'] = $_GET['username'];
1084 $_POST['password'] = $_GET['password'];
1085 }
1086 }
1087
1088 // $ilAuth
1089 require_once "Auth/Auth.php";
1090 require_once "./Services/AuthShibboleth/classes/class.ilShibboleth.php";
1091 include_once("./Services/Authentication/classes/class.ilAuthUtils.php");
1093 $ilias->auth = $ilAuth;
1094
1095 // $ilUser
1096 self::initGlobal("ilUser", "ilObjUser",
1097 "./Services/User/classes/class.ilObjUser.php");
1098 $ilias->account =& $ilUser;
1099
1101
1102
1103 // force login
1104 if ((isset($_GET["cmd"]) && $_GET["cmd"] == "force_login"))
1105 {
1106 $ilAuth->logout();
1107
1108 // we need to do this for the session statistics
1109 // could we use session_destroy() instead?
1110 // [this is done after every $ilAuth->logout() call elsewhere]
1112
1113 // :TODO: keep session because of cart content?
1114 if(!isset($_GET['forceShoppingCartRedirect']))
1115 {
1116 $_SESSION = array();
1117 }
1118 else
1119 {
1120 ilSession::set("AccountId", "");
1121 }
1122 }
1123
1124 }
$_SESSION["AccountId"]
static initAccessHandling()
$ilAccess and $rbac... initialisation

References $_GET, $_POST, $_SESSION, $ilUser, ilSession\_destroy(), ilAuthUtils\_initAuth(), initAccessHandling(), initGlobal(), ilSession\SESSION_CLOSE_LOGIN, ilSession\set(), and ilContext\usesHTTP().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ persistCMIData()

ilInitialisation::persistCMIData ( )

Definition at line 308 of file class.ilInitialisation.php.

309 {
310 global $ilLog, $ilDB, $ilUser;
311 $packageId=(int)$_GET['package_id'];
312 $lm_set = $ilDB->queryF('SELECT default_lesson_mode, interactions, objectives, comments FROM sahs_lm WHERE id = %s',
313 array('integer'),array($packageId));
314
315 while($lm_rec = $ilDB->fetchAssoc($lm_set))
316 {
317 $defaultLessonMode=($lm_rec["default_lesson_mode"]);
318 $interactions=(ilUtil::yn2tf($lm_rec["interactions"]));
319 $objectives=(ilUtil::yn2tf($lm_rec["objectives"]));
320 $comments=(ilUtil::yn2tf($lm_rec["comments"]));
321 }
322 $data = file_get_contents('php://input');
323 $ilUser->setId($data->p);
324
325 include_once './Modules/Scorm2004/classes/class.ilSCORM2004StoreData.php';
327 $defaultLessonMode, $comments,
328 $interactions, $objectives,$data);
329 }
persistCMIData($userId=null, $packageId, $defaultLessonMode, $comments, $interactions, $objectives, $time_from_lms, $data=null)
static yn2tf($a_yn)
convert "y"/"n" to true/false
$data
$packageId
$lm_set

References $_GET, $data, $ilDB, $ilLog, $ilUser, $lm_set, $packageId, ilSCORM2004StoreData\persistCMIData(), and ilUtil\yn2tf().

Referenced by initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ recursivelyRemoveUnsafeCharacters()

static ilInitialisation::recursivelyRemoveUnsafeCharacters (   $var)
staticprotected

Definition at line 41 of file class.ilInitialisation.php.

41 {
42 if (is_array($var)) {
43 $mod = array();
44 foreach ($var as $k => $v) {
47 }
48 return $mod;
49 }
50 return strip_tags(
51 str_replace(
52 array("\x00", "\n", "\r", "\\", "'", '"', "\x1a"),
53 "",
54 $var
55 )
56 );
57 }
static recursivelyRemoveUnsafeCharacters($var)

References recursivelyRemoveUnsafeCharacters().

Referenced by recursivelyRemoveUnsafeCharacters(), and removeUnsafeCharacters().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ redirect()

static ilInitialisation::redirect (   $a_target,
  $a_message_id,
  $a_message_static 
)
staticprotected

Redirects to target url if context supports it.

Parameters
string$a_target
string$a_message_id
array$a_message_details

Definition at line 1481 of file class.ilInitialisation.php.

1482 {
1483 // #12739
1484 if(defined("ILIAS_HTTP_PATH") &&
1485 !stristr($a_target, ILIAS_HTTP_PATH))
1486 {
1487 $a_target = ILIAS_HTTP_PATH."/".$a_target;
1488 }
1489
1491 {
1492 ilUtil::redirect($a_target);
1493 }
1494 else
1495 {
1496 $message = self::translateMessage($a_message_id, $a_message_static);
1497
1498 // user-directed linked message
1500 {
1501 $link = self::translateMessage("init_error_redirect_click",
1502 array("en" => 'Please click to continue.',
1503 "de" => 'Bitte klicken um fortzufahren.'));
1504 $mess = $message.
1505 '<br /><a href="'.$a_target.'">'.$link.'</a>';
1506 }
1507 // plain text
1508 else
1509 {
1510 // not much we can do here
1511 $mess = $message;
1512
1513 if(!trim($mess))
1514 {
1515 $mess = self::translateMessage("init_error_redirect_info",
1516 array("en" => 'Redirect not supported by context.',
1517 "de" => 'Weiterleitungen werden durch Kontext nicht unterstützt.')).
1518 ' ('.$a_target.')';
1519 }
1520 }
1521
1522 self::abortAndDie($mess);
1523 }
1524 }
static supportsRedirects()
Are redirects supported?
static redirect($a_script)
http redirect to other script

References abortAndDie(), ilContext\hasHTML(), ilUtil\redirect(), ilContext\supportsRedirects(), translateMessage(), and ilContext\usesHTTP().

Referenced by goToLogin(), goToPublicSection(), handleMaintenanceMode(), and initClientIniFile().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ reinitILIAS()

static ilInitialisation::reinitILIAS ( )
static

Definition at line 852 of file class.ilInitialisation.php.

852 {
853 self::$already_initialized = false;
855 }
static initILIAS()
ilias initialisation

References initILIAS().

Referenced by ilWebAccessChecker\initILIAS(), and ilSoapUserAdministration\loginStudipUser().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeUnsafeCharacters() [1/2]

static ilInitialisation::removeUnsafeCharacters ( )
staticprotected

Remove unsafe characters from GET.

Definition at line 32 of file class.ilInitialisation.php.

33 {
34 // Remove unsafe characters from GET parameters.
35 // We do not need this characters in any case, so it is
36 // feasible to filter them everytime. POST parameters
37 // need attention through ilUtil::stripSlashes() and similar functions)
39 }

References $_GET, and recursivelyRemoveUnsafeCharacters().

Referenced by initCore(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ removeUnsafeCharacters() [2/2]

ilInitialisation::removeUnsafeCharacters ( )

Remove unsafe characters from GET.

Definition at line 25 of file class.ilInitialisation.php.

26 {
27 // Remove unsafe characters from GET parameters.
28 // We do not need this characters in any case, so it is
29 // feasible to filter them everytime. POST parameters
30 // need attention through ilUtil::stripSlashes() and similar functions)
31 if (is_array($_GET))
32 {
33 foreach($_GET as $k => $v)
34 {
35 // \r\n used for IMAP MX Injection
36 // ' used for SQL Injection
37 $_GET[$k] = str_replace(array("\x00", "\n", "\r", "\\", "'", '"', "\x1a"), "", $v);
38
39 // this one is for XSS of any kind
40 $_GET[$k] = strip_tags($_GET[$k]);
41 }
42 }
43 }

References $_GET.

◆ requireCommonIncludes() [1/2]

static ilInitialisation::requireCommonIncludes ( )
staticprotected

get common include code files

Definition at line 62 of file class.ilInitialisation.php.

63 {
64 // pear
65 require_once("include/inc.get_pear.php");
66 require_once("include/inc.check_pear.php");
67 require_once "PEAR.php";
68
69 // ilTemplate
71 {
72 // HTML_Template_IT support
73 require_once "HTML/Template/ITX.php";
74 require_once "./Services/UICore/classes/class.ilTemplateHTMLITX.php";
75 require_once "./Services/UICore/classes/class.ilTemplate.php";
76 }
77
78 // really always required?
79 require_once "./Services/Utilities/classes/class.ilUtil.php";
80 require_once "./Services/Utilities/classes/class.ilFormat.php";
81 require_once "./Services/Calendar/classes/class.ilDatePresentation.php";
82 require_once "include/inc.ilias_version.php";
83
84 self::initGlobal("ilBench", "ilBenchmark", "./Services/Utilities/classes/class.ilBenchmark.php");
85 }
static usesTemplate()
Uses template engine.

References initGlobal(), and ilContext\usesTemplate().

Referenced by initCore(), and initILIAS().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ requireCommonIncludes() [2/2]

ilInitialisation::requireCommonIncludes ( )

get common include code files

Definition at line 48 of file class.ilInitialisation.php.

49 {
50 global $ilBench;
51
52 // get pear
53 require_once("include/inc.get_pear.php");
54 require_once("include/inc.check_pear.php");
55
56 //include class.util first to start StopWatch
57 require_once "./Services/Utilities/classes/class.ilUtil.php";
58 require_once "./Services/Utilities/classes/class.ilBenchmark.php";
59 $ilBench = new ilBenchmark();
60 $GLOBALS['ilBench'] = $ilBench;
61
62 // Major PEAR Includes
63 require_once "PEAR.php";
64 //require_once "DB.php";
65 // require_once "Auth/Auth.php";
66
67
68
69 //include classes and function libraries
70 require_once "./Services/Database/classes/class.ilDB.php";
71 // require_once "classes/class.ilias.php";
72 // require_once './Services/User/classes/class.ilObjUser.php';
73 require_once "./Services/Logging/classes/class.ilLog.php";
74// require_once "classes/class.ilObjectDataCache.php";
75 require_once "./Services/Init/classes/class.ilErrorHandling.php";
76
77 require_once "./Services/Administration/classes/class.ilSetting.php";
78 }
performance measurement class

References $GLOBALS, and $ilBench.

◆ setCookieParams()

static ilInitialisation::setCookieParams ( )
staticprotected

set session cookie params for path, domain, etc.

Definition at line 443 of file class.ilInitialisation.php.

444 {
445 global $ilSetting;
446
447 include_once 'Services/Authentication/classes/class.ilAuthFactory.php';
449 {
450 $cookie_path = '/';
451 }
452 elseif ($GLOBALS['COOKIE_PATH'])
453 {
454 // use a predefined cookie path from WebAccessChecker
455 $cookie_path = $GLOBALS['COOKIE_PATH'];
456 }
457 else
458 {
459 $cookie_path = dirname( $_SERVER['PHP_SELF'] );
460 }
461
462 /* if ilias is called directly within the docroot $cookie_path
463 is set to '/' expecting on servers running under windows..
464 here it is set to '\'.
465 in both cases a further '/' won't be appended due to the following regex
466 */
467 $cookie_path .= (!preg_match("/[\/|\\\\]$/", $cookie_path)) ? "/" : "";
468
469 if($cookie_path == "\\") $cookie_path = '/';
470
471 include_once './Services/Http/classes/class.ilHTTPS.php';
472 $cookie_secure = !$ilSetting->get('https', 0) && ilHTTPS::getInstance()->isDetected();
473
474 define('IL_COOKIE_EXPIRE',0);
475 define('IL_COOKIE_PATH',$cookie_path);
476 define('IL_COOKIE_DOMAIN','');
477 define('IL_COOKIE_SECURE', $cookie_secure); // Default Value
478
479 define('IL_COOKIE_HTTPONLY',true); // Default Value
480 session_set_cookie_params(
481 IL_COOKIE_EXPIRE, IL_COOKIE_PATH, IL_COOKIE_DOMAIN, IL_COOKIE_SECURE, IL_COOKIE_HTTPONLY
482 );
483 }
static getInstance()
Get https instance.
const IL_COOKIE_PATH
Definition: index.php:6

References $_SERVER, $GLOBALS, $ilSetting, ilAuthFactory\CONTEXT_HTTP, ilAuthFactory\getContext(), ilHTTPS\getInstance(), and IL_COOKIE_PATH.

Referenced by initClient().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setSessionHandler()

static ilInitialisation::setSessionHandler ( )
static

set session handler to db

Used in Soap/CAS

Definition at line 419 of file class.ilInitialisation.php.

420 {
421 if(ini_get('session.save_handler') != 'user')
422 {
423 ini_set("session.save_handler", "user");
424 }
425
426 require_once "Services/Authentication/classes/class.ilSessionDBHandler.php";
427 $db_session_handler = new ilSessionDBHandler();
428 if (!$db_session_handler->setSaveHandler())
429 {
430 self::abortAndDie("Please turn off Safe mode OR set session.save_handler to \"user\" in your php.ini");
431 }
432
433 // Do not accept external session ids
434 if (!ilSession::_exists(session_id()) && !defined('IL_PHPUNIT_TEST'))
435 {
436 session_regenerate_id();
437 }
438 }
Database Session Handling.
static _exists($a_session_id)
Check whether session exists.

References ilSession\_exists(), and abortAndDie().

Referenced by goToPublicSection(), initClient(), and CASClient\renameSession().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ showingLoginForm()

static ilInitialisation::showingLoginForm (   $a_current_script)
staticprotected

Is current view the login form?

Returns
boolean

Definition at line 1397 of file class.ilInitialisation.php.

1398 {
1399 if($a_current_script == "login.php")
1400 {
1401 return true;
1402 }
1403
1404 if($_REQUEST["baseClass"] == "ilStartUpGUI" &&
1405 self::getCurrentCmd() == "showLogin")
1406 {
1407 return true;
1408 }
1409
1410 return false;
1411 }

References $_REQUEST.

◆ translateMessage()

static ilInitialisation::translateMessage (   $a_message_id,
array  $a_message_static = null 
)
staticprotected

Translate message if possible.

Parameters
string$a_message_id
array$a_message_static
Returns
string

Definition at line 1420 of file class.ilInitialisation.php.

1421 {
1422 global $ilDB, $lng, $ilSetting, $ilClientIniFile, $ilUser;
1423
1424 // current language
1425 if(!$lng)
1426 {
1427 $lang = "en";
1428 if($ilUser)
1429 {
1430 $lang = $ilUser->getLanguage();
1431 }
1432 else if($_REQUEST["lang"])
1433 {
1434 $lang = (string)$_REQUEST["lang"];
1435 }
1436 else if($ilSetting)
1437 {
1438 $lang = $ilSetting->get("language");
1439 }
1440 else if($ilClientIniFile)
1441 {
1442 $lang = $ilClientIniFile->readVariable("language", "default");
1443 }
1444 }
1445 else
1446 {
1447 $lang = $lng->getLangKey();
1448 }
1449
1450 $message = "";
1451 if($ilDB && $a_message_id)
1452 {
1453 if(!$lng)
1454 {
1455 require_once "./Services/Language/classes/class.ilLanguage.php";
1456 $lng = new ilLanguage($lang);
1457 }
1458
1459 $lng->loadLanguageModule("init");
1460 $message = $lng->txt($a_message_id);
1461 }
1462 else if(is_array($a_message_static))
1463 {
1464 if(!isset($a_message_static[$lang]))
1465 {
1466 $lang = "en";
1467 }
1468 $message = $a_message_static[$lang];
1469 }
1470
1471 return utf8_decode($message);
1472 }
language handling

References $_REQUEST, $ilDB, $ilSetting, $ilUser, $lang, and $lng.

Referenced by handleMaintenanceMode(), and redirect().

+ Here is the caller graph for this function:

Field Documentation

◆ $already_initialized

ilInitialisation::$already_initialized
staticprotected

Definition at line 849 of file class.ilInitialisation.php.


The documentation for this class was generated from the following files: