4use Psr\Http\Message\ServerRequestInterface;
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);
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'));
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);
487 $pi->setUseStripSlashes(
false);
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');
499 $captcha->setRequired(
true);
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');
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;
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;
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);
1146 $keep->addSubItem(
$user);
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());
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']);
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());
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'),
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'),
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;
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);
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
An exception for terminatinating execution or to throw for unit testing.
Class ilPageContentProvider.
const AUTH_OPENID_CONNECT
static isUnusedCode($code)
static getCodeValidUntil($code)
static applyRoleAssignments(ilObjUser $user, $code)
static applyAccessLimits(ilObjUser $user, $code)
Class ilAccountRegistrationGUI.
Class ilAccountRegistrationMail.
Description of class class.
Auth frontend credentials for CAS auth.
Auth credentials for lti oauth based authentication.
Class ilOpenIdConnectSettingsGUI.
Class ilAuthFrontendCredentialsSaml.
Description of class class.
Description of class class.
Factory for auth frontend classes.
const CONTEXT_STANDARD_FORM
const MIG_EXTERNAL_ACCOUNT
const MIG_TRIGGER_AUTHMODE
static getInstance()
Get singelton instance.
static _getInstance()
Get instance.
const STATUS_CODE_ACTIVATION_REQUIRED
const STATUS_AUTHENTICATED
static getInstance()
Get status instance.
const STATUS_AUTHENTICATION_FAILED
const STATUS_ACCOUNT_MIGRATION_REQUIRED
static _getMultipleAuthModeOptions($lng)
static _hasMultipleAuthenticationMethods()
special template class to simplify handling of ITX/PEAR
const MESSAGE_TYPE_SUCCESS
const MESSAGE_TYPE_QUESTION
const MESSAGE_TYPE_FAILURE
static _isParticipant($a_ref_id, $a_usr_id)
Static function to check if a user is a participant of the container object.
static goToPublicSection()
go to public section
static _lookupContObjID($a_id)
get learning module / digibook id for lm object
static lookupId($a_lang_key)
Lookup obj_id of language @global ilDB $ilDB.
static getLogger($a_component_id)
Get component logger.
static _registrationEnabled($a_obj_id)
Registration enabled? Method is in Access class, since it is needed by Access/ListGUI.
static _isActivated($a_obj_id)
Is activated.
static getSyntaxStylePath()
get syntax style path
static getContentStylePath($a_style_id, $add_random=true, $add_token=true)
get content style path
static _verifyRegistrationHash($a_hash)
Verifies a registration hash.
static _lookupLogin($a_user_id)
lookup login
static _lookupId($a_user_str)
Lookup id by login.
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id
static _lookupObjId($a_id)
static _getAllReferences($a_id)
get all reference ids of object
static _lookupType($a_id, $a_reference=false)
lookup object type
const LOGIN_ELEMENT_TYPE_IMG
static getInstance()
Get singleton instance.
const LOGIN_ELEMENT_TYPE_TXT
static _existsAndNotEmpty($a_parent_type, $a_id, $a_lang="-")
checks whether page exists and is not empty (may return true on some empty pages)
static getDefaultMemberRole($a_ref_id)
Password assistance facility for users who have forgotten their password or for users for whom no pas...
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static getInstance()
Get instance.
This class represents an option in a radio group.
Class for user related exception handling in ILIAS.
Class for user related exception handling in ILIAS.
Class ilObjAuthSettingsGUI.
static _lookupRegistrationType()
Class ilSamlIdpSelectionTableGUI.
static getActiveIdpList()
static geIdpIdByEntityId($entityId)
static set($a_var, $a_val)
Set a value.
static setClosingContext($a_context)
set closing context (for statistics)
static get($a_var)
Get a value.
processIndexPHP()
process index.php
showLoginInformation($page_editor_html, $tpl)
Show login information.
showShibbolethLoginForm($page_editor_html)
Show shibboleth login form.
showLoginPage(ilPropertyFormGUI $form=null)
showCASLoginForm($page_editor_html)
Show cas login @global ilSetting $ilSetting.
showAccountMigration(string $message='')
Show account migration screen.
static _checkGoto($a_target)
doStandardAuthentication()
Check form input; authenticate user.
getAcceptance()
Get terms of service.
doApacheAuthentication()
Try apache auth.
showCodeForm($a_username=null, $a_form=null)
doOpenIdConnectAuthentication()
do open id connect authentication
__construct(\ilObjUser $user=null, \ilTermsOfServiceDocumentEvaluation $termsOfServiceEvaluation=null, \ilGlobalTemplate $mainTemplate=null, ServerRequestInterface $httpRequest=null)
ilStartUpGUI constructor.
const ACCOUNT_MIGRATION_MIGRATE
purgePlaceholders($page_editor_html)
Purge page editor html from unused placeholders.
initStandardLoginForm()
Initialize the standard.
doShibbolethAuthentication()
Trying shibboleth authentication.
migrateAccount()
Migrate Account.
static printToGlobalTemplate($tpl)
substituteLoginPageElements($tpl, $page_editor_html, $element_html, $placeholder, $fallback_tplvar)
Substitute login page elements.
retrieveMessagesFromSession()
const ACCOUNT_MIGRATION_NEW
jumpToPasswordAssistance()
jump to password assistance
showLogout()
Show logout screen.
showTermsOfService(bool $accepted=false)
Show terms of service.
showSamlIdpSelection(\ilSamlAuth $auth, array $idps)
doLTIAuthentication()
Handle lti requests.
jumpToRegistration()
jump to registration gui
showLoginForm($page_editor_html, ilPropertyFormGUI $form=null)
Show login form @global ilSetting $ilSetting.
executeCommand()
execute command
$termsOfServiceEvaluation
getLoginPageEditorHTML()
Get HTML of ILIAS login page editor.
initCodeForm($a_username)
doLogout()
show logout screen
doCasAuthentication()
Try CAS auth.
showNoCookiesScreen()
show help screen, if cookies are disabled
showOpenIdConnectLoginForm($page_editor_html)
showRegistrationLinks($page_editor_html)
Show registration, password forgotten, client slection links @global ilLanguage $lng @global ilSettin...
showTermsOfServiceLink(string $page_editor_html)
Show terms of service link.
showSamlLoginForm($page_editor_html)
special template class to simplify handling of ITX/PEAR
Class ilTermsOfServiceHelper.
Class ilTermsOfServiceWithdrawalGUIHelper.
This class represents a text property in a property form.
static appendUrlParameterString($a_url, $a_par, $xml_style=false)
append URL parameter string ("par1=value1&par2=value2...") to given URL string
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static setCookie($a_cookie_name, $a_cookie_value='', $a_also_set_super_global=true, $a_set_cookie_invalid=false)
static redirect($a_script)
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static generatePasswords($a_number)
Generate a number of passwords.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
Interface ilTermsOfServiceDocumentEvaluation.
if($DIC->http() ->request() ->getMethod()=="GET" &&isset($DIC->http() ->request() ->getQueryParams()['tex'])) $tpl
static http()
Fetches the global http state from ILIAS.