86 $this->
help = $DIC->help();
88 $this->ctrl = $DIC->ctrl();
89 $this->lng = $DIC->language();
90 $this->lng->loadLanguageModule(
'auth');
93 $this->ctrl->saveParameter($this, array(
"rep_ref_id",
"lang",
"target",
"client_id"));
95 $this->
user->setLanguage($this->lng->getLangKey());
96 $this->
help->setScreenIdComponent(
'init');
105 $cmd = $this->ctrl->getCmd(
"processIndexPHP", array(
'processIndexPHP',
'showLoginPage'));
106 $next_class = $this->ctrl->getNextClass($this);
108 switch ($next_class) {
109 case 'ilLoginPageGUI':
112 case "ilaccountregistrationgui":
113 require_once(
"Services/Registration/classes/class.ilAccountRegistrationGUI.php");
116 case "ilpasswordassistancegui":
117 require_once(
"Services/Init/classes/class.ilPasswordAssistanceGUI.php");
121 if (method_exists($this, $cmd)) {
122 return $this->$cmd();
142 $this->ctrl->setCmdClass(
"ilaccountregistrationgui");
143 $this->ctrl->setCmd(
"");
153 $this->ctrl->setCmdClass(
"ilpasswordassistancegui");
154 $this->ctrl->setCmd(
"");
161 protected function showLoginPageOrStartupPage()
167 $auth_session =
$GLOBALS[
'DIC'][
'ilAuthSession'];
168 $ilAppEventHandler =
$GLOBALS[
'DIC'][
'ilAppEventHandler'];
170 $force_login =
false;
172 !is_array($_REQUEST[
'cmd']) &&
173 strcmp($_REQUEST[
'cmd'],
'force_login') === 0
179 $this->logger->debug(
'Force login');
180 if ($auth_session->isValid()) {
182 $this->logger->debug(
'Valid session -> logout current user');
184 $auth_session->logout();
186 $ilAppEventHandler->raise(
187 'Services/Authentication',
190 'username' => $this->
user->getLogin()
194 $this->logger->debug(
'Show login page');
198 $this->mainTemplate->setOnScreenMessage(
$type, $content);
207 if ($auth_session->isValid()) {
208 $this->logger->debug(
'Valid session -> redirect to starting page');
209 return ilInitialisation::redirectToStartingPage();
211 $this->logger->debug(
'No valid session -> show login');
225 $this->
help->setSubScreenId(
'login');
227 $this->
getLogger()->debug(
'Showing login page');
231 if (isset($this->httpRequest->getQueryParams()[
'ext_uid'])) {
232 $extUid = $this->httpRequest->getQueryParams()[
'ext_uid'];
234 if (isset($this->httpRequest->getQueryParams()[
'soap_pw'])) {
235 $soapPw = $this->httpRequest->getQueryParams()[
'soap_pw'];
238 require_once
'Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsSoap.php';
242 $credentials->tryAuthenticationOnLoginPage();
245 include_once
'./Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentialsApache.php';
247 $frontend->tryAuthenticationOnLoginPage();
250 $tpl = self::initStartUpTemplate(
"tpl.login.html");
258 $page_editor_html = $this->
showLoginForm($page_editor_html, $form);
268 if (
$GLOBALS[
'DIC'][
'ilAuthSession']->isExpired() || $this->httpRequest->getQueryParams()[
'session_expired'] ??
false) {
272 if (strlen($page_editor_html)) {
273 $tpl->setVariable(
'LPE', $page_editor_html);
277 $tosWithdrawalGui->setWithdrawalInfoForLoginScreen($this->httpRequest);
279 self::printToGlobalTemplate($tpl);
287 $gtpl->setContent(
$tpl->get());
288 $gtpl->printToStdout(
"DEFAULT",
false,
true);
313 $this->
help->setSubScreenId(
'code_input');
315 self::initStartUpTemplate(
"tpl.login_reactivate_code.html");
323 $tpl->setVariable(
"FORM", $a_form->getHTML());
324 $tpl->printToStdout(
"DEFAULT",
false);
329 global
$lng, $ilCtrl;
331 $lng->loadLanguageModule(
"auth");
333 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
336 $form->setFormAction($ilCtrl->getFormAction($this,
'showcodeform'));
337 $form->setTitle($lng->txt(
'auth_account_code_title'));
339 $count =
new ilTextInputGUI($lng->txt(
'auth_account_code'),
'code');
340 $count->setRequired(
true);
341 $count->setInfo($lng->txt(
'auth_account_code_info'));
342 $form->addItem($count);
346 $uname->setValue($a_username);
347 $form->addItem($uname);
349 $form->addCommandButton(
'processCode', $lng->txt(
'send'));
363 global
$lng, $ilAuth, $ilCtrl;
368 if ($uname && $form->checkInput()) {
369 $code = $form->getInput(
"code");
371 include_once
"Services/User/classes/class.ilAccountCode.php";
380 $invalid_code =
false;
383 if ($valid_until ===
"0") {
384 $user->setTimeLimitUnlimited(
true);
386 if (is_numeric($valid_until)) {
387 $valid_until = strtotime(
"+" . $valid_until .
"days");
389 $valid_until = explode(
"-", $valid_until);
390 $valid_until = mktime(
398 if ($valid_until < time()) {
399 $invalid_code =
true;
403 if (!$invalid_code) {
404 $user->setTimeLimitUnlimited(
false);
405 $user->setTimeLimitUntil($valid_until);
409 if (!$invalid_code) {
410 $user->setActive(
true);
422 $ilCtrl->setParameter($this,
"cu", 1);
423 $GLOBALS[
'DIC']->language()->loadLanguageModule(
'auth');
424 ilUtil::sendSuccess(
$GLOBALS[
'DIC']->
language()->txt(
'auth_activation_code_success'),
true);
425 $ilCtrl->redirect($this,
"showLoginPage");
429 $lng->loadLanguageModule(
"user");
430 $field = $form->getItemByPostVar(
"code");
431 $field->setAlert($lng->txt(
"user_account_code_not_valid"));
434 $form->setValuesByPost();
445 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
447 $form->setFormAction($this->ctrl->getFormAction($this,
''));
448 $form->setName(
"formlogin");
449 $form->setShowTopButtons(
false);
450 $form->setTitle($this->lng->txt(
"login_to_ilias"));
452 include_once
'./Services/Authentication/classes/class.ilAuthModeDetermination.php';
456 $visible_auth_methods = array();
459 if (isset($option[
'hide_in_ui']) && $option[
'hide_in_ui']) {
464 $radg->addOption($op1);
465 if (isset($option[
'checked'])) {
466 $radg->setValue($key);
468 $visible_auth_methods[] = $op1;
471 if (count($visible_auth_methods) == 1) {
472 $first_auth_method = current($visible_auth_methods);
474 $hidden_auth_method->setValue($first_auth_method->getValue());
475 $form->addItem($hidden_auth_method);
477 $form->addItem($radg);
481 $ti =
new ilTextInputGUI($this->lng->txt(
"username"),
"username");
483 $ti->setRequired(
true);
488 $pi->setRetype(
false);
489 $pi->setSkipSyntaxCheck(
true);
491 $pi->setDisableHtmlAutoComplete(
false);
492 $pi->setRequired(
true);
495 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
496 if (ilCaptchaUtil::isActiveForLogin()) {
497 require_once
'Services/Captcha/classes/class.ilCaptchaInputGUI.php';
498 $captcha =
new ilCaptchaInputGUI($this->lng->txt(
'captcha_code'),
'captcha_code');
500 $form->addItem($captcha);
503 $form->addCommandButton(
"doStandardAuthentication", $this->lng->txt(
"log_in"));
513 $this->
getLogger()->debug(
'Trying shibboleth authentication');
515 include_once
'./Services/AuthShibboleth/classes/class.ilAuthFrontendCredentialsShibboleth.php';
517 $credentials->initFromRequest();
519 include_once
'./Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
521 $provider = $provider_factory->getProviderByAuthMode($credentials,
AUTH_SHIBBOLETH);
523 include_once
'./Services/Authentication/classes/class.ilAuthStatus.php';
526 include_once
'./Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
529 $frontend = $frontend_factory->getFrontend(
536 $frontend->authenticate();
538 switch ($status->getStatus()) {
541 include_once
'./Services/Init/classes/class.ilInitialisation.php';
542 ilInitialisation::redirectToStartingPage();
546 return $GLOBALS[
'ilCtrl']->redirect($this,
'showAccountMigration');
550 $GLOBALS[
'ilCtrl']->redirect($this,
'showLoginPage');
566 $this->
getLogger()->debug(
'Trying cas authentication');
568 include_once
'./Services/CAS/classes/class.ilAuthFrontendCredentialsCAS.php';
571 include_once
'./Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
573 $provider = $provider_factory->getProviderByAuthMode($credentials,
AUTH_CAS);
575 include_once
'./Services/Authentication/classes/class.ilAuthStatus.php';
578 include_once
'./Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
581 $frontend = $frontend_factory->getFrontend(
588 $frontend->authenticate();
589 switch ($status->getStatus()) {
591 $this->
getLogger()->debug(
'Authentication successful.');
592 ilInitialisation::redirectToStartingPage();
608 $this->
getLogger()->debug(
'Trying lti authentication');
611 $credentials->initFromRequest();
614 $provider = $provider_factory->getProviderByAuthMode($credentials,
AUTH_PROVIDER_LTI);
620 $frontend = $frontend_factory->getFrontend(
627 $frontend->authenticate();
629 switch ($status->getStatus()) {
632 ilInitialisation::redirectToStartingPage();
636 return $GLOBALS[
'ilCtrl']->redirect($this,
'showAccountMigration');
640 $GLOBALS[
'ilCtrl']->redirect($this,
'showLoginPage');
655 $this->
getLogger()->debug(
'Trying apache authentication');
657 $credentials = new \ilAuthFrontendCredentialsApache($this->httpRequest, $this->ctrl);
658 $credentials->initFromRequest();
660 $provider_factory = new \ilAuthProviderFactory();
661 $provider = $provider_factory->getProviderByAuthMode($credentials,
AUTH_APACHE);
665 $frontend_factory = new \ilAuthFrontendFactory();
667 $frontend = $frontend_factory->getFrontend(
674 $frontend->authenticate();
676 switch ($status->getStatus()) {
677 case \ilAuthStatus::STATUS_AUTHENTICATED:
678 if ($credentials->hasValidTargetUrl()) {
680 'Authentication successful. Redirecting to starting page: %s',
681 $credentials->getTargetUrl()
683 $this->ctrl->redirectToURL($credentials->getTargetUrl());
686 'Authentication successful, but no valid target URL given. Redirecting to default starting page.' 688 \ilInitialisation::redirectToStartingPage();
692 case \ilAuthStatus::STATUS_ACCOUNT_MIGRATION_REQUIRED:
693 $this->ctrl->redirect($this,
'showAccountMigration');
696 case \ilAuthStatus::STATUS_AUTHENTICATION_FAILED:
699 $this->ctrl->getLinkTarget($this,
'showLoginPage',
'',
false,
false),
716 if ($form->checkInput()) {
717 $this->
getLogger()->debug(
'Trying to authenticate user.');
719 include_once
'./Services/Authentication/classes/Frontend/class.ilAuthFrontendCredentials.php';
721 $credentials->setUsername($form->getInput(
'username'));
722 $credentials->setPassword($form->getInput(
'password'));
723 $credentials->setCaptchaCode($form->getInput(
'captcha_code'));
726 include_once
'./Services/Authentication/classes/class.ilAuthModeDetermination.php';
729 $credentials->setAuthMode($form->getInput(
'auth_mode'));
732 include_once
'./Services/Authentication/classes/Provider/class.ilAuthProviderFactory.php';
734 $providers = $provider_factory->getProviders($credentials);
736 include_once
'./Services/Authentication/classes/class.ilAuthStatus.php';
739 include_once
'./Services/Authentication/classes/Frontend/class.ilAuthFrontendFactory.php';
742 $frontend = $frontend_factory->getFrontend(
749 $frontend->authenticate();
751 switch ($status->getStatus()) {
754 include_once
'./Services/Init/classes/class.ilInitialisation.php';
755 ilInitialisation::redirectToStartingPage();
763 return $GLOBALS[
'ilCtrl']->redirect($this,
'showAccountMigration');
793 $ilSetting->get(
"shib_auth_allow_local")) &&
794 $ilSetting->get(
"auth_mode") !=
AUTH_CAS) {
807 return $page_editor_html;
819 if (strlen($page_editor_html)) {
821 return $page_editor_html;
824 $loginSettings =
new ilSetting(
"login_settings");
825 $information = $loginSettings->get(
"login_message_" . $lng->getLangKey());
827 if (strlen(trim($information))) {
828 $tpl->setVariable(
"TXT_LOGIN_INFORMATION", $information);
830 return $page_editor_html;
845 if ($ilSetting->get(
"cas_active")) {
846 $tpl =
new ilTemplate(
'tpl.login_form_cas.html',
true,
true,
'Services/Init');
847 $tpl->setVariable(
"TXT_CAS_LOGIN", $lng->txt(
"login_to_ilias_via_cas"));
849 $tpl->setVariable(
"TXT_CAS_LOGIN_INSTRUCTIONS", $ilSetting->get(
"cas_login_instructions"));
850 $this->ctrl->setParameter($this,
"forceCASLogin",
"1");
851 $tpl->setVariable(
"TARGET_CAS_LOGIN", $this->ctrl->getLinkTarget($this,
"doCasAuthentication"));
852 $this->ctrl->setParameter($this,
"forceCASLogin",
"");
858 '[list-cas-login-form]',
862 return $page_editor_html;
878 if ($ilSetting->get(
"shib_active")) {
879 $tpl =
new ilTemplate(
'tpl.login_form_shibboleth.html',
true,
true,
'Services/Init');
881 $tpl->setVariable(
'SHIB_FORMACTION',
'./shib_login.php');
882 $federation_name = $ilSetting->get(
"shib_federation_name");
883 $admin_mail =
' <a href="mailto:' . $ilSetting->get(
"admin_email") .
'">ILIAS ' . $lng->txt(
886 if ($ilSetting->get(
"shib_hos_type") ==
'external_wayf') {
887 $tpl->setCurrentBlock(
"shibboleth_login");
888 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
889 $tpl->setVariable(
"IL_TARGET",
$_GET[
"target"]);
890 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
891 $tpl->setVariable(
"TXT_SHIB_LOGIN_BUTTON", $ilSetting->get(
"shib_login_button"));
893 "TXT_SHIB_LOGIN_INSTRUCTIONS",
895 $lng->txt(
"shib_general_login_instructions"),
900 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get(
"shib_login_instructions"));
901 $tpl->parseCurrentBlock();
902 } elseif ($ilSetting->get(
"shib_hos_type") ==
'embedded_wayf') {
903 $tpl->setCurrentBlock(
"shibboleth_custom_login");
904 $customInstructions = stripslashes($ilSetting->get(
"shib_login_instructions"));
905 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $customInstructions);
906 $tpl->parseCurrentBlock();
908 $tpl->setCurrentBlock(
"shibboleth_wayf_login");
909 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
910 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
911 $tpl->setVariable(
"TXT_SELECT_HOME_ORGANIZATION", sprintf($lng->txt(
"shib_select_home_organization"), $ilSetting->get(
"shib_federation_name")));
912 $tpl->setVariable(
"TXT_CONTINUE", $lng->txt(
"btn_next"));
913 $tpl->setVariable(
"TXT_SHIB_HOME_ORGANIZATION", $lng->txt(
"shib_home_organization"));
915 "TXT_SHIB_LOGIN_INSTRUCTIONS",
917 $lng->txt(
"shib_general_wayf_login_instructions"),
921 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get(
"shib_login_instructions"));
923 require_once
"./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
926 $tpl->setVariable(
"TXT_SHIB_INVALID_SELECTION", $WAYF->showNotice());
927 $tpl->setVariable(
"SHIB_IDP_LIST", $WAYF->generateSelection());
928 $tpl->setVariable(
"ILW_TARGET",
$_GET[
"target"]);
929 $tpl->parseCurrentBlock();
935 return $page_editor_html;
950 if (!strlen($page_editor_html)) {
951 $tpl->setVariable($fallback_tplvar, $element_html);
952 return $page_editor_html;
955 if (!stristr($page_editor_html, $placeholder)) {
956 $tpl->setVariable($fallback_tplvar, $element_html);
957 return $page_editor_html;
959 return str_replace($placeholder, $element_html, $page_editor_html);
970 include_once
'./Services/Authentication/classes/class.ilAuthLoginPageEditorSettings.php';
972 $active_lang = $lpe->getIliasEditorLanguage($lng->getLangKey());
979 include_once
'./Services/COPage/classes/class.ilPageUtil.php';
987 include_once(
"./Services/Style/Content/classes/class.ilObjStyleSheet.php");
988 $page_gui->setStyleId(0,
'auth');
990 $page_gui->setPresentationTitle(
"");
991 $page_gui->setTemplateOutput(
false);
992 $page_gui->setHeader(
"");
993 $ret = $page_gui->showPage();
1010 $rtpl =
new ilTemplate(
'tpl.login_registration_links.html',
true,
true,
'Services/Init');
1013 include_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
1015 $rtpl->setCurrentBlock(
"new_registration");
1016 $rtpl->setVariable(
"REGISTER", $lng->txt(
"registration"));
1019 $this->ctrl->getLinkTargetByClass(
"ilaccountregistrationgui",
"")
1021 $rtpl->parseCurrentBlock();
1024 if ($ilSetting->get(
"password_assistance")) {
1025 $rtpl->setCurrentBlock(
"password_assistance");
1026 $rtpl->setVariable(
"FORGOT_PASSWORD", $lng->txt(
"forgot_password"));
1027 $rtpl->setVariable(
"FORGOT_USERNAME", $lng->txt(
"forgot_username"));
1029 "CMD_FORGOT_PASSWORD",
1030 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
"")
1033 "CMD_FORGOT_USERNAME",
1034 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
"showUsernameAssistanceForm")
1036 $rtpl->setVariable(
"LANG_ID", $lng->getLangKey());
1037 $rtpl->parseCurrentBlock();
1042 $rtpl->setCurrentBlock(
"homelink");
1043 $rtpl->setVariable(
"CLIENT_ID",
"?client_id=" .
CLIENT_ID .
"&lang=" . $lng->getLangKey());
1044 $rtpl->setVariable(
"TXT_HOME", $lng->txt(
"home"));
1045 $rtpl->parseCurrentBlock();
1052 '[list-registration-link]',
1053 'REG_PWD_CLIENT_LINKS' 1064 if (!$this->
user->getId()) {
1069 if ($helper->isGloballyEnabled() && $this->termsOfServiceEvaluation->hasDocument()) {
1070 $utpl =
new ilTemplate(
'tpl.login_terms_of_service_link.html',
true,
true,
'Services/Init');
1071 $utpl->setVariable(
'TXT_TERMS_OF_SERVICE', $this->lng->txt(
'usr_agreement'));
1072 $utpl->setVariable(
'LINK_TERMS_OF_SERVICE', $this->ctrl->getLinkTarget($this,
'showTermsOfService'));
1078 '[list-user-agreement]',
1087 '[list-user-agreement]',
1101 '[list-language-selection] ',
1102 '[list-registration-link]',
1103 '[list-user-agreement]',
1104 '[list-login-form]',
1105 '[list-cas-login-form]',
1106 '[list-saml-login]',
1107 '[list-shibboleth-login-form]' 1109 array(
'',
'',
'',
'',
'',
'',
''),
1120 $this->
help->setSubScreenId(
'account_migration');
1122 $tpl = self::initStartUpTemplate(
'tpl.login_account_migration.html');
1125 $form->setFormAction($this->ctrl->getFormAction($this,
'migrateAccount'));
1127 $form->setTitle($this->lng->txt(
'auth_account_migration'));
1128 $form->addCommandButton(
'migrateAccount', $this->lng->txt(
'save'));
1129 $form->addCommandButton(
'showLogin', $this->lng->txt(
'cancel'));
1131 $rad =
new ilRadioGroupInputGUI($this->lng->txt(
'auth_account_migration_name'),
'account_migration');
1135 $this->lng->txt(
'auth_account_migration_keep'),
1136 static::ACCOUNT_MIGRATION_MIGRATE,
1137 $this->lng->txt(
'auth_info_migrate')
1140 $user->setRequired(
true);
1142 (
string) ($this->httpRequest->getParsedBody()[
'mig_username'] ??
'')
1145 $user->setMaxLength(128);
1149 $pass->setRetype(
false);
1150 $pass->setRequired(
true);
1152 (
string) ($this->httpRequest->getParsedBody()[
'mig_password'] ??
'')
1155 $pass->setMaxLength(128);
1156 $keep->addSubItem(
$pass);
1157 $rad->addOption($keep);
1160 $this->lng->txt(
'auth_account_migration_new'),
1161 static::ACCOUNT_MIGRATION_NEW,
1162 $this->lng->txt(
'auth_info_add')
1164 $rad->addOption($new);
1166 $form->addItem($rad);
1168 $tpl->setVariable(
'MIG_FORM', $form->getHTML());
1174 self::printToGlobalTemplate(
$tpl);
1183 if (!isset($this->httpRequest->getParsedBody()[
'account_migration'])) {
1185 $this->lng->txt(
'select_one')
1191 ((
int) $this->httpRequest->getParsedBody()[
'account_migration'] === self::ACCOUNT_MIGRATION_MIGRATE) &&
1193 !isset($this->httpRequest->getParsedBody()[
'mig_username']) ||
1194 !is_string($this->httpRequest->getParsedBody()[
'mig_username']) ||
1195 0 === strlen($this->httpRequest->getParsedBody()[
'mig_username']) ||
1196 !isset($this->httpRequest->getParsedBody()[
'mig_password']) ||
1197 !is_string($this->httpRequest->getParsedBody()[
'mig_password'])
1201 $this->lng->txt(
'err_wrong_login')
1206 if ((
int) $this->httpRequest->getParsedBody()[
'account_migration'] == self::ACCOUNT_MIGRATION_MIGRATE) {
1208 } elseif ((
int) $this->httpRequest->getParsedBody()[
'account_migration'] == static::ACCOUNT_MIGRATION_NEW) {
1224 $this->logger->debug(
'Using provider: ' . get_class($provider) .
' for further processing.');
1230 $frontend = $frontend_factory->getFrontend(
1237 if ($frontend->migrateAccountNew()) {
1238 ilInitialisation::redirectToStartingPage();
1242 $this->ctrl->redirect($this,
'showAccountMigration');
1252 $this->logger->debug(
'Starting account migration for user: ' . (
string)
ilSession::get(
'mig_ext_account'));
1255 $credentials->setUsername((
string)
$_POST[
'mig_username']);
1256 $credentials->setPassword((
string) $_POST[
'mig_password']);
1259 $provider = $provider_factory->getProviderByAuthMode($credentials,
AUTH_LOCAL);
1265 $frontend = $frontend_factory->getFrontend(
1272 $frontend->authenticate();
1274 switch ($status->getStatus()) {
1276 $this->
getLogger()->debug(
'Account migration: authentication successful for ' . (
string) $_POST[
'mig_username']);
1278 $provider = $provider_factory->getProviderByAuthMode(
1283 $frontend = $frontend_factory->getFrontend(
1290 $frontend->migrateAccount(
$GLOBALS[
'DIC'][
'ilAuthSession'])
1292 ilInitialisation::redirectToStartingPage();
1295 $this->ctrl->redirect($this,
'showAccountMigration');
1300 $this->
getLogger()->info(
'Account migration failed for user ' . (
string) $_POST[
'mig_username']);
1313 $lng = $DIC->language();
1316 $this->
help->setSubScreenId(
'logout');
1318 $tpl = self::initStartUpTemplate(
"tpl.logout.html");
1323 $tpl->setCurrentBlock(
"homelink");
1324 $tpl->setVariable(
"CLIENT_ID",
"?client_id=" .
$client_id .
"&lang=" .
$lng->getLangKey());
1325 $tpl->setVariable(
"TXT_HOME",
$lng->txt(
"home"));
1326 $tpl->parseCurrentBlock();
1331 $tpl->setVariable(
"TXT_PAGEHEADLINE",
$lng->txt(
"logout"));
1334 $lng->txt(
"logout_text") . $tosWithdrawalGui->getWithdrawalTextForLogoutScreen($this->httpRequest)
1336 $tpl->setVariable(
"TXT_LOGIN",
$lng->txt(
"login_to_ilias"));
1337 $tpl->setVariable(
"CLIENT_ID",
"?client_id=" .
$client_id .
"&cmd=force_login&lang=" .
$lng->getLangKey());
1339 self::printToGlobalTemplate(
$tpl);
1352 $user = $DIC->user();
1353 $lng = $DIC->language();
1355 $ilAppEventHandler = $DIC[
'ilAppEventHandler'];
1357 $ilAppEventHandler->raise(
1358 'Services/Authentication',
1361 'user_id' => $this->
user->getId()
1365 $user_language =
$user->getLanguage();
1368 $tosWithdrawalGui->handleWithdrawalLogoutRequest($this->httpRequest, $this);
1370 $had_external_authentication =
ilSession::get(
'used_external_auth');
1373 $GLOBALS[
'DIC'][
'ilAuthSession']->logout();
1375 $GLOBALS[
'ilAppEventHandler']->raise(
1376 'Services/Authentication',
1379 'username' => $this->
user->getLogin()
1383 if ((
int) $this->
user->getAuthMode(
true) ==
AUTH_SAML && $had_external_authentication) {
1384 $this->logger->info(
'Redirecting user to SAML logout script');
1385 $this->ctrl->redirectToURL(
'saml.php?action=logout&logout_url=' . urlencode(ILIAS_HTTP_PATH .
'/login.php'));
1392 $this->ctrl->setParameter($this,
'client_id',
CLIENT_ID);
1393 $this->ctrl->setParameter($this,
'lang', $user_language);
1394 $this->ctrl->redirect($this,
'showLogout');
1406 $str =
"<p style=\"margin:15px;\"> 1407 You need to enable Session Cookies in your Browser to use ILIAS. 1410 <br/>Tools -> Options -> Privacy -> Cookies 1411 <br/>Enable 'Allow sites to set cookies' and activate option 'Keep 1412 <br/>cookies' auf 'until I close Firefox' 1414 <br/><b>Mozilla/Netscape</b> 1415 <br/>Edit -> Preferences -> Privacy&Security -> Cookies 1416 <br/>Go to 'Cookie Lifetime Policy' and check option 'Accept for current 1419 <br/><b>Internet Explorer</b> 1420 <br/>Tools -> Internet Options -> Privacy -> Advanced 1421 <br/>- Check 'Override automatic cookie handling' 1422 <br/>- Check 'Always allow session cookies' 1424 $tpl->setVariable(
"CONTENT", $str);
1425 $tpl->printToStdout();
1443 if (!$this->
user->getId()) {
1446 $back_to_login =
false;
1447 if ($this->
user->getPref(
'consent_withdrawal_requested') != 1) {
1448 $back_to_login =
true;
1450 $tpl = self::initStartUpTemplate(
'tpl.view_terms_of_service.html', $back_to_login, !$back_to_login);
1453 $handleDocument = $helper->isGloballyEnabled() && $this->termsOfServiceEvaluation->hasDocument();
1454 if ($handleDocument) {
1455 $document = $this->termsOfServiceEvaluation->document();
1456 if (
'confirmWithdrawal' === $this->ctrl->getCmd()) {
1457 if (isset($this->httpRequest->getParsedBody()[
'status']) &&
'withdrawn' === $this->httpRequest->getParsedBody()[
'status']) {
1458 $helper->deleteAcceptanceHistoryByUser((
int) $this->
user->getId());
1459 $this->ctrl->redirectToUrl(
'logout.php');
1463 $tpl->setVariable(
'FORM_ACTION', $this->ctrl->getFormAction($this, $this->ctrl->getCmd()));
1465 $tpl->setVariable(
'ACCEPT_TERMS_OF_SERVICE', $this->lng->txt(
'accept_usr_agreement'));
1466 $tpl->setVariable(
'TXT_SUBMIT', $this->lng->txt(
'submit'));
1468 $tpl->setPermanentLink(
'usr', null,
'agreement');
1469 $tpl->setVariable(
'TERMS_OF_SERVICE_CONTENT', $document->content());
1472 'TERMS_OF_SERVICE_CONTENT',
1474 $this->lng->txt(
'no_agreement_description'),
1480 self::printToGlobalTemplate(
$tpl);
1492 $this->
help->setSubScreenId(
'terms_of_service');
1494 $back_to_login = (
'getAcceptance' != $this->ctrl->getCmd());
1496 if (!$this->
user->getId()) {
1500 $tpl = self::initStartUpTemplate(
'tpl.view_terms_of_service.html', $back_to_login, !$back_to_login);
1502 $this->mainTemplate->setTitle($this->lng->txt(
'accept_usr_agreement'));
1503 $this->mainTemplate->setOnScreenMessage(
'info', $this->lng->txt(
'accept_usr_agreement_intro'));
1506 $handleDocument = $helper->isGloballyEnabled() && $this->termsOfServiceEvaluation->hasDocument();
1507 if ($handleDocument) {
1508 $document = $this->termsOfServiceEvaluation->document();
1510 'confirmAcceptance' === $this->ctrl->getCmd() ||
1511 'getAcceptance' === $this->ctrl->getCmd()
1514 $helper->trackAcceptance($this->
user, $document);
1525 $tpl->setVariable(
'FORM_ACTION', $this->ctrl->getFormAction($this, $this->ctrl->getCmd()));
1526 $tpl->setVariable(
'ACCEPT_TERMS_OF_SERVICE', $this->lng->txt(
'accept_usr_agreement'));
1527 $tpl->setVariable(
'TXT_ACCEPT', $this->lng->txt(
'accept_usr_agreement_btn'));
1528 $tpl->setVariable(
'DENY_TERMS_OF_SERVICE', $this->lng->txt(
'deny_usr_agreement'));
1531 $this->dic->ui()->renderer()->render(
1532 $this->dic->ui()->factory()->button()->standard(
1533 $this->dic->language()->txt(
'deny_usr_agreement_btn'),
1534 'logout.php?withdraw_consent' 1540 $tpl->setPermanentLink(
'usr', null,
'agreement');
1541 $tpl->setVariable(
'TERMS_OF_SERVICE_CONTENT', $document->content());
1544 'TERMS_OF_SERVICE_CONTENT',
1546 $this->lng->txt(
'no_agreement_description'),
1552 self::printToGlobalTemplate(
$tpl);
1563 if (
$GLOBALS[
'DIC'][
'ilAuthSession']->isValid()) {
1565 $this->httpRequest->getServerParams()[
'SERVER_NAME']
1567 ilInitialisation::redirectToStartingPage();
1584 global $objDefinition, $ilPluginAdmin,
$ilUser;
1586 $access = $DIC->access();
1589 if (is_object($ilPluginAdmin)) {
1591 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
1594 foreach ($pl_names as $pl) {
1596 $gui_class = $ui_plugin->getUIClassInstance();
1597 $resp = $gui_class->checkGotoHook($a_target);
1598 if (
$resp[
"target"] !==
false) {
1599 $a_target =
$resp[
"target"];
1605 if ($a_target ==
"") {
1609 $t_arr = explode(
"_", $a_target);
1612 if (
$type ==
"git") {
1620 $class = $objDefinition->getClassName(
$type);
1626 $full_class =
"ilObj" . $class .
"Access";
1627 include_once(
$location .
"/class." . $full_class .
".php");
1629 $ret = call_user_func(array($full_class,
"_checkGoto"), $a_target);
1633 !stristr($a_target,
"_wsp") &&
1635 !$objDefinition->isAdministrationObject(
$type) &&
1636 $objDefinition->isRBACObject(
$type) &&
1638 global $tree, $rbacsystem, $ilAccess;
1641 if ($t_arr[0] ==
"pg") {
1642 if (isset($t_arr[2])) {
1643 $ref_id = $t_arr[2];
1648 $ref_id = array_shift($ref_id);
1652 $ref_id = $t_arr[1];
1655 include_once
"Services/Membership/classes/class.ilParticipants.php";
1656 $block_obj = array();
1659 $path = $tree->getPathId($ref_id);
1661 foreach ($path as $path_ref_id) {
1662 $redirect_infopage =
false;
1663 $add_member_role =
false;
1670 !$access->doActivationCheck(
'read',
'', $path_ref_id, $ilUser->getId(), $pobj_id, $ptype) ||
1671 !$access->doStatusCheck(
'read',
'', $path_ref_id, $ilUser->getId(), $pobj_id, $ptype)
1675 } elseif ($ptype ==
"crs") {
1677 include_once
"Modules/Course/classes/class.ilCourseParticipant.php";
1679 if (!$participants->isAssigned()) {
1681 include_once
"Modules/Course/classes/class.ilObjCourse.php";
1684 $block_obj[] = $path_ref_id;
1685 $add_member_role =
true;
1687 $redirect_infopage =
true;
1690 } elseif ($ptype ==
"grp") {
1692 include_once
"Modules/Group/classes/class.ilGroupParticipants.php";
1695 include_once
"Modules/Group/classes/class.ilObjGroup.php";
1697 if ($group_obj->isRegistrationEnabled()) {
1698 $block_obj[] = $path_ref_id;
1699 $add_member_role =
true;
1701 $redirect_infopage =
true;
1707 if ($add_member_role) {
1709 $rbacsystem->resetPACache($ilUser->getId(), $path_ref_id);
1710 if (!$rbacsystem->checkAccess(
"join", $path_ref_id)) {
1711 $redirect_infopage =
true;
1713 $rbacsystem->addTemporaryRole(
1721 if ($redirect_infopage) {
1722 if ($rbacsystem->checkAccess(
"visible", $path_ref_id)) {
1724 "&ref_id=" . $path_ref_id .
"&cmd=infoScreen");
1733 $rbacsystem->resetPACache($ilUser->getId(), $ref_id);
1734 if ($rbacsystem->checkAccess(
"read", $ref_id) &&
sizeof($block_obj)) {
1740 $_SESSION[
"pending_goto"] =
"goto.php?target=" . $a_target;
1744 "&ref_id=" . array_shift($block_obj));
1751 public function confirmRegistration()
1755 $this->lng->loadLanguageModule(
'registration');
1757 if (!isset(
$_GET[
'rh']) || !strlen(trim(
$_GET[
'rh']))) {
1759 $this->ctrl->redirectToURL(sprintf(
1760 './login.php?cmd=force_login&lang=%s',
1761 $this->lng->getLangKey()
1771 $user->setActive(
true);
1773 if ($oRegSettings->passwordGenerationEnabled()) {
1777 $user->setLastPasswordChangeTS(time());
1781 $target =
$user->getPref(
'reg_target');
1782 if (strlen($target) > 0) {
1784 $_GET[
'target'] = $target;
1792 $accountMail->withEmailConfirmationRegistrationMode()->send(
$user,
$password);
1795 $this->ctrl->redirectToURL(sprintf(
1796 './login.php?cmd=force_login&lang=%s',
1797 $user->getLanguage()
1801 $soap_client->setResponseTimeout(1);
1802 $soap_client->enableWSDL(
true);
1803 $soap_client->init();
1805 $this->logger->info(
'Triggered soap call (background process) for deletion of inactive user objects with expired confirmation hash values (dual opt in) ...');
1808 'deleteExpiredDualOptInUserObjects',
1811 $exception->getCode()
1816 $this->ctrl->redirectToURL(sprintf(
1817 './login.php?cmd=force_login&lang=%s',
1818 $this->lng->getLangKey()
1822 $this->ctrl->redirectToURL(sprintf(
1823 './login.php?cmd=force_login&lang=%s',
1824 $this->lng->getLangKey()
1835 public static function initStartUpTemplate($a_tmpl, $a_show_back =
false, $a_show_logout =
false)
1847 $tpl->addBlockfile(
'CONTENT',
'content',
'tpl.startup_screen.html',
'Services/Init');
1849 $view_title = $lng->txt(
'login_to_ilias');
1854 $tpl->setCurrentBlock(
'link_item_bl');
1855 $tpl->setVariable(
'LINK_TXT', $view_title);
1856 $tpl->setVariable(
'LINK_URL',
'login.php?cmd=force_login&' .
$param);
1857 $tpl->parseCurrentBlock();
1859 include_once
'./Services/Init/classes/class.ilPublicSectionSettings.php';
1862 $tpl->setVariable(
'LINK_URL',
'index.php?' .
$param);
1863 $tpl->setVariable(
'LINK_TXT', $lng->txt(
'home'));
1864 $tpl->parseCurrentBlock();
1866 } elseif ($a_show_logout) {
1867 $view_title = $lng->txt(
'logout');
1868 $tpl->setCurrentBlock(
'link_item_bl');
1869 $tpl->setVariable(
'LINK_TXT', $view_title);
1870 $tpl->setVariable(
'LINK_URL', ILIAS_HTTP_PATH .
'/logout.php');
1871 $tpl->parseCurrentBlock();
1874 if (is_array($a_tmpl)) {
1875 $template_file = $a_tmpl[0];
1876 $template_dir = $a_tmpl[1];
1878 $template_file = $a_tmpl;
1879 $template_dir =
'Services/Init';
1882 $tpl->addBlockFile(
'STARTUP_CONTENT',
'startup_content', $template_file, $template_dir);
1884 PageContentProvider::setViewTitle($view_title);
1885 $short_title = $ilSetting->get(
'short_inst_name');
1886 if (trim($short_title) ===
"") {
1887 $short_title =
'ILIAS';
1889 PageContentProvider::setShortTitle($short_title);
1891 $header_title = (string) ilObjSystemFolder::_getHeaderTitle();
1892 PageContentProvider::setTitle($header_title);
1903 require_once
'Services/Saml/classes/class.ilSamlIdp.php';
1904 require_once
'Services/Saml/classes/class.ilSamlSettings.php';
1907 $tpl =
new ilTemplate(
'tpl.login_form_saml.html',
true,
true,
'Services/Saml');
1910 if (isset(
$_GET[
'target'])) {
1914 $tpl->setVariable(
'SAML_SCRIPT_URL',
'./saml.php' . $return);
1916 $tpl->setVariable(
'LOGIN_TO_ILIAS_VIA_SAML',
$GLOBALS[
'DIC']->
language()->txt(
'login_to_ilias_via_saml'));
1917 $tpl->setVariable(
'TXT_SAML_LOGIN_TXT',
$GLOBALS[
'DIC']->
language()->txt(
'saml_login_form_txt'));
1918 $tpl->setVariable(
'TXT_SAML_LOGIN_INFO_TXT',
$GLOBALS[
'DIC']->
language()->txt(
'saml_login_form_info_txt'));
1924 '[list-saml-login]',
1929 return $page_editor_html;
1940 $lang = $DIC->language();
1943 if ($oidc_settings->getActive()) {
1944 $tpl =
new ilTemplate(
'tpl.login_element.html',
true,
true,
'Services/OpenIdConnect');
1946 $lang->loadLanguageModule(
'auth');
1947 $tpl->setVariable(
'TXT_OIDCONNECT_HEADER',
$lang->txt(
'auth_oidc_login_element_info'));
1949 $target = empty(
$_GET[
'target']) ?
'' : (
'?target=' . (string)
$_GET[
'target']);
1950 switch ($oidc_settings->getLoginElementType()) {
1954 $tpl->setVariable(
'SCRIPT_OIDCONNECT_T', ILIAS_HTTP_PATH .
'/openidconnect.php' . $target);
1955 $tpl->setVariable(
'TXT_OIDC', $oidc_settings->getLoginElemenText());
1959 $tpl->setVariable(
'SCRIPT_OIDCONNECT_I', ILIAS_HTTP_PATH .
'/openidconnect.php' . $target);
1960 $tpl->setVariable(
'IMG_SOURCE', $oidc_settings->getImageFilePath());
1968 '[list-openid-connect-login]',
1969 'OPEN_ID_CONNECT_LOGIN_FORM' 1973 return $page_editor_html;
1983 $this->
getLogger()->debug(
'Trying openid connect authentication');
1986 $credentials->initFromRequest();
1995 $frontend = $frontend_factory->getFrontend(
2002 $frontend->authenticate();
2004 switch ($status->getStatus()) {
2007 include_once
'./Services/Init/classes/class.ilInitialisation.php';
2008 ilInitialisation::redirectToStartingPage();
2013 $GLOBALS[
'ilCtrl']->redirect($this,
'showLoginPage');
2030 $this->
getLogger()->debug(
'Trying saml authentication');
2032 $request = $DIC->http()->request();
2033 $params = $request->getQueryParams();
2038 if (isset($params[
'action']) && $params[
'action'] ==
'logout') {
2039 $logout_url = isset($params[
'logout_url']) ? $params[
'logout_url'] :
'';
2041 $auth->logout($logout_url);
2044 if (isset($params[
'target']) && !isset($params[
'returnTo'])) {
2045 $params[
'returnTo'] = $params[
'target'];
2047 if (isset($params[
'returnTo'])) {
2048 $auth->storeParam(
'target', $params[
'returnTo']);
2053 if (!
$auth->isAuthenticated()) {
2055 if (!isset(
$_GET[
'idpentityid']) || !isset(
$_GET[
'saml_idp_id'])) {
2057 if (1 == count($activeIdps)) {
2058 $idp = current($activeIdps);
2059 $_GET[
'idpentityid'] = $idp->getEntityId();
2060 $_GET[
'saml_idp_id'] = $idp->getIdpId();
2063 'Found exactly one active IDP with id %s: %s',
2067 } elseif (0 == count($activeIdps)) {
2069 $GLOBALS[
'DIC']->ctrl()->redirect($this,
'showLoginPage');
2077 $auth->storeParam(
'idpId', (
int)
$_GET[
'saml_idp_id']);
2079 'Stored relevant IDP id in session: %s',
2080 (
string)
$auth->getParam(
'idpId')
2089 $auth->protectResource();
2092 'SAML authentication successful, continuing with ILIAS internal authentication process...' 2095 $idpId = (int)
$auth->getParam(
'idpId');
2098 'Internal SAML IDP id fetched from session: %s',
2104 'No valid internal IDP id found (most probably due to IDP initiated SSO), trying fallback determination...' 2106 $authData =
$auth->getAuthDataArray();
2107 if (isset($authData[
'saml:sp:IdP'])) {
2110 'Searching active ILIAS IDP by entity id "%s" results in: %s',
2111 $authData[
'saml:sp:IdP'],
2116 'Could not execute fallback determination, no IDP entity ID found SAML authentication session data' 2124 $this->logger->debug(sprintf(
2125 'Retrieved "target" parameter: %s',
2126 print_r(
$_GET[
'target'],
true)
2130 $credentials->initFromRequest();
2139 $frontend = $frontend_factory->getFrontend(
2146 $frontend->authenticate();
2148 switch ($status->getStatus()) {
2151 return ilInitialisation::redirectToStartingPage();
2154 return $GLOBALS[
'DIC']->ctrl()->redirect($this,
'showAccountMigration');
2158 $GLOBALS[
'DIC']->ctrl()->redirect($this,
'showLoginPage');
2176 $this->
help->setSubScreenId(
'saml_idp_selection');
2178 self::initStartUpTemplate(array(
'tpl.saml_idp_selection.html',
'Services/Saml'));
2181 $renderer = $DIC->ui()->renderer();
2183 $DIC->ctrl()->setTargetScript(
'saml.php');
2189 foreach ($idps as $idp) {
2190 $DIC->ctrl()->setParameter($this,
'saml_idp_id', $idp->getIdpId());
2191 $DIC->ctrl()->setParameter($this,
'idpentityid', urlencode($idp->getEntityId()));
2194 'idp_link' => $renderer->render(
$factory->link()->standard($idp->getEntityId(), $DIC->ctrl()->getLinkTarget($this,
'doSamlAuthentication')))
2198 $table->setData($items);
2199 $this->mainTemplate->setVariable(
'CONTENT', $table->getHtml());
2201 $this->mainTemplate->printToStdout(
'DEFAULT',
false);
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
showLogout()
Show logout screen.
static _lookupLogin($a_user_id)
lookup login
showOpenIdConnectLoginForm($page_editor_html)
Class ilTermsOfServiceWithdrawalGUIHelper.
static applyRoleAssignments(ilObjUser $user, $code)
static _checkGoto($a_target)
static geIdpIdByEntityId($entityId)
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms public
This class represents an option in a radio group.
const ACCOUNT_MIGRATION_NEW
const ACCOUNT_MIGRATION_MIGRATE
static _lookupRegistrationType()
initCodeForm($a_username)
showLoginForm($page_editor_html, ilPropertyFormGUI $form=null)
Show login form ilSetting $ilSetting.
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
static applyAccessLimits(ilObjUser $user, $code)
showCodeForm($a_username=null, $a_form=null)
getLoginPageEditorHTML()
Get HTML of ILIAS login page editor.
const CONTEXT_STANDARD_FORM
doLTIAuthentication()
Handle lti requests.
const MESSAGE_TYPE_SUCCESS
__construct(\ilObjUser $user=null, \ilTermsOfServiceDocumentEvaluation $termsOfServiceEvaluation=null, \ilGlobalTemplate $mainTemplate=null, ServerRequestInterface $httpRequest=null)
ilStartUpGUI constructor.
const MESSAGE_TYPE_QUESTION
static _hasMultipleAuthenticationMethods()
special template class to simplify handling of ITX/PEAR
Class ilAccountRegistrationGUI.
static _registrationEnabled($a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
Class for user related exception handling in ILIAS.
const STATUS_AUTHENTICATION_FAILED
showShibbolethLoginForm($page_editor_html)
Show shibboleth login form.
const AUTH_OPENID_CONNECT
Factory for auth frontend classes.
static get($a_var)
Get a value.
static set($a_var, $a_val)
Set a value.
static _lookupId($a_user_str)
Lookup id by login.
static goToPublicSection()
go to public section
migrateAccount()
Migrate Account.
static generatePasswords($a_number)
Generate a number of passwords.
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static getDefaultMemberRole($a_ref_id)
const LOGIN_ELEMENT_TYPE_TXT
processIndexPHP()
process index.php
getAcceptance()
Get terms of service.
Interface ilTermsOfServiceDocumentEvaluation.
executeCommand()
execute command
showTermsOfService(bool $accepted=false)
Show terms of service.
static printToGlobalTemplate($tpl)
static getInstance()
Get instance.
static getInstance()
Get singleton instance.
static _getAllReferences($a_id)
get all reference ids of object
doShibbolethAuthentication()
Trying shibboleth authentication.
Class ilOpenIdConnectSettingsGUI.
static _verifyRegistrationHash($a_hash)
Verifies a registration hash.
Auth credentials for lti oauth based authentication.
initStandardLoginForm()
Initialize the standard.
showLoginPage(ilPropertyFormGUI $form=null)
Class ilAuthFrontendCredentialsSaml.
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static http()
Fetches the global http state from ILIAS.
setValue($a_value)
Set Value.
showAccountMigration(string $message='')
Show account migration screen.
Class ilAccountRegistrationMail.
static _existsAndNotEmpty($a_parent_type, $a_id, $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages) ...
Description of class class.
doApacheAuthentication()
Try apache auth.
addSubItem($a_item)
Add Subitem.
static _getMultipleAuthModeOptions($lng)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
retrieveMessagesFromSession()
static _lookupObjId($a_id)
doCasAuthentication()
Try CAS auth.
purgePlaceholders($page_editor_html)
Purge page editor html from unused placeholders.
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
$termsOfServiceEvaluation
showRegistrationLinks($page_editor_html)
Show registration, password forgotten, client slection links ilLanguage $lng ilSetting $ilSetting ...
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
Class ilSamlIdpSelectionTableGUI.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
showSamlIdpSelection(\ilSamlAuth $auth, array $idps)
static getSyntaxStylePath()
get syntax style path
showSamlLoginForm($page_editor_html)
doStandardAuthentication()
Check form input; authenticate user.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static _lookupType($a_id, $a_reference=false)
lookup object type
Password assistance facility for users who have forgotten their password or for users for whom no pas...
static getCodeValidUntil($code)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
showLoginInformation($page_editor_html, $tpl)
Show login information.
showNoCookiesScreen()
show help screen, if cookies are disabled
Class ilTermsOfServiceHelper.
const STATUS_AUTHENTICATED
const MIG_EXTERNAL_ACCOUNT
Class ilObjAuthSettingsGUI.
static _isActivated($a_obj_id)
Is activated.
const STATUS_CODE_ACTIVATION_REQUIRED
static _getInstance()
Get instance.
static setClosingContext($a_context)
set closing context (for statistics)
static getInstance()
Get status instance.
static lookupId($a_lang_key)
Lookup obj_id of language ilDB $ilDB.
Description of class class.
showTermsOfServiceLink(string $page_editor_html)
Show terms of service link.
static isUnusedCode($code)
static getLogger($a_component_id)
Get component logger.
static getInstance()
Get singelton instance.
Class for user related exception handling in ILIAS.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
static getActiveIdpList()
const LOGIN_ELEMENT_TYPE_IMG
static redirect($a_script)
const MIG_TRIGGER_AUTHMODE
showCASLoginForm($page_editor_html)
Show cas login ilSetting $ilSetting.
const MESSAGE_TYPE_FAILURE
doOpenIdConnectAuthentication()
do open id connect authentication
Description of class class.
const STATUS_ACCOUNT_MIGRATION_REQUIRED
doLogout()
show logout screen
static formCheckbox($checked, $varname, $value, $disabled=false)
??? public
jumpToPasswordAssistance()
jump to password assistance
jumpToRegistration()
jump to registration gui
Auth frontend credentials for CAS auth.