4 require_once
'Services/TermsOfService/classes/class.ilTermsOfServiceHelper.php';
27 $ilCtrl->saveParameter($this, array(
"rep_ref_id",
"lang",
"target",
"client_id"));
37 $cmd = $this->ctrl->getCmd(
"processIndexPHP",array(
'processIndexPHP',
'showLogin'));
38 $ilLog->write(__METHOD__.
' cmd = '.
$cmd);
39 $next_class = $this->ctrl->getNextClass($this);
43 case 'ilLoginPageGUI':
46 case "ilaccountregistrationgui":
47 require_once(
"Services/Registration/classes/class.ilAccountRegistrationGUI.php");
50 case "ilpasswordassistancegui":
51 require_once(
"Services/Init/classes/class.ilPasswordAssistanceGUI.php");
64 $this->ctrl->setCmdClass(
"ilaccountregistrationgui");
65 $this->ctrl->setCmd(
"");
74 $this->ctrl->setCmdClass(
"ilpasswordassistancegui");
75 $this->ctrl->setCmd(
"");
88 $status = $ilAuth->getStatus();
89 if ($status ==
"" && isset(
$_GET[
"auth_stat"]))
91 $status =
$_GET[
"auth_stat"];
94 if($ilAuth->getAuth() && !$status)
97 if (
$_GET[
"rep_ref_id"] !=
"")
101 $this->processStartingPage();
115 if (empty(
$_GET[
'cookies']))
117 $additional_params =
'';
119 if(IS_PAYMENT_ENABLED)
123 $additional_params .=
'&login_to_purchase_object=1&forceShoppingCartRedirect=1';
129 "&ext_uid=".
$_GET[
"ext_uid"].
"&cookies=nocookies&client_id=".
130 rawurlencode(CLIENT_ID).
"&lang=".$lng->getLangKey().$additional_params);
139 unset(
$_GET[
'cookies']);
142 if ($ilSetting->get(
"shib_active") && $ilSetting->get(
"shib_hos_type"))
144 require_once
"./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
149 if (isset($WAYF) && $WAYF->is_selection())
151 if ($WAYF->is_valid_selection())
154 $WAYF->setSAMLCookie();
163 if(IS_PAYMENT_ENABLED)
165 if(isset(
$_GET[
'forceShoppingCartRedirect']) && (
int)
$_GET[
'forceShoppingCartRedirect'] == 1)
167 $this->ctrl->setParameter($this,
'forceShoppingCartRedirect', 1);
171 if (isset(
$_GET[
'login_to_purchase_object']) &&
$_GET[
'login_to_purchase_object'])
173 $lng->loadLanguageModule(
'payment');
174 $failure = $lng->txt(
"payment_login_to_buy_object");
180 if (isset(
$_GET[
'reg_confirmation_msg']) && strlen(trim(
$_GET[
'reg_confirmation_msg'])))
182 $lng->loadLanguageModule(
'registration');
183 if(
$_GET[
'reg_confirmation_msg'] ==
'reg_account_confirmation_successful')
192 else if(isset(
$_GET[
'reached_session_limit']) &&
$_GET[
'reached_session_limit'])
194 $failure = $lng->txt(
"reached_session_limit");
196 else if(isset(
$_GET[
'accdel']) &&
$_GET[
'accdel'])
198 $lng->loadLanguageModule(
'user');
199 $failure = $lng->txt(
"user_account_deleted_confirmation");
212 $failure = $lng->txt(
"err_session_expired");
216 $failure = $lng->txt(
"err_auth_cas_no_ilias_user");
220 $failure = $lng->txt(
"err_auth_soap_no_ilias_user");
224 $failure = $lng->txt(
"err_auth_ldap_no_ilias_user");
228 $failure = $lng->txt(
"err_auth_radius_no_ilias_user");
232 $failure = $lng->txt(
"err_auth_mode_inactive");
236 $failure = $lng->txt(
"err_auth_apache_failed");
240 $lng->loadLanguageModule(
'cptch');
244 $failure = $lng->txt(
"cptch_wrong_input");
255 $failure = $lng->txt(
"wrong_ip_detected").
" (".$_SERVER[
"REMOTE_ADDR"].
")";
263 $failure = $lng->txt(
"simultaneous_login_detected");
268 $username = $ilAuth->getExceededUserName();
272 if($ilSetting->get(
'user_reactivate_code'))
279 $failure = $lng->txt(
"time_limit_reached");
287 $failure = $lng->txt(
"err_inactive");
296 $auth_error = $ilias->getAuthError();
297 if (is_object($auth_error))
299 $add =
"<br>".$auth_error->getMessage();
301 $failure = $lng->txt(
"err_wrong_login").$add;
308 $lng->loadLanguageModule(
"auth");
309 $success = $lng->txt(
"auth_account_code_used");
316 self::initStartUpTemplate(
"tpl.login.html");
336 $page_editor_html = $this->showTermsOfServiceLink($page_editor_html);
344 $tpl->setVariable(
"PAGETITLE", $lng->txt(
"startpage"));
345 $tpl->setVariable(
"ILIAS_RELEASE", $ilSetting->get(
"ilias_version"));
347 $this->ctrl->setTargetScript(
"ilias.php");
348 $tpl->setVariable(
"PHP_SELF", $_SERVER[
'PHP_SELF']);
351 if (isset(
$_GET[
'cookies']) &&
$_GET[
'cookies'] ==
'nocookies')
356 if(strlen($page_editor_html))
358 $tpl->setVariable(
'LPE',$page_editor_html);
361 $tpl->fillCssFiles();
362 $tpl->fillJavaScriptFiles();
364 $tpl->show(
"DEFAULT",
false);
371 self::initStartUpTemplate(
"tpl.login_reactivate_code.html");
380 $tpl->setVariable(
"FORM", $a_form->getHTML());
381 $tpl->show(
"DEFAULT",
false);
388 $lng->loadLanguageModule(
"auth");
390 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
393 $form->setFormAction($ilCtrl->getFormAction($this,
'showcodeform'));
394 $form->setTitle($lng->txt(
'auth_account_code_title'));
396 $count =
new ilTextInputGUI($lng->txt(
'auth_account_code'),
'code');
398 $count->setInfo($lng->txt(
'auth_account_code_info'));
399 $form->addItem($count);
403 $uname->setValue($a_username);
404 $form->addItem($uname);
406 $form->addCommandButton(
'processCode', $lng->txt(
'send'));
418 if($uname && $form->checkInput())
420 $code = $form->getInput(
"code");
422 include_once
"Services/User/classes/class.ilAccountCode.php";
433 $invalid_code =
false;
436 if($valid_until ===
"0")
438 $user->setTimeLimitUnlimited(
true);
442 if(is_numeric($valid_until))
444 $valid_until = strtotime(
"+".$valid_until.
"days");
448 $valid_until = explode(
"-", $valid_until);
449 $valid_until = mktime(23, 59, 59, $valid_until[1],
450 $valid_until[2], $valid_until[0]);
451 if($valid_until < time())
453 $invalid_code =
true;
459 $user->setTimeLimitUnlimited(
false);
460 $user->setTimeLimitUntil($valid_until);
466 $user->setActive(
true);
471 $ilCtrl->setParameter($this,
"cu", 1);
472 $ilCtrl->redirect($this,
"showLogin");
476 $lng->loadLanguageModule(
"user");
477 $field = $form->getItemByPostVar(
"code");
478 $field->setAlert($lng->txt(
"user_account_code_not_valid"));
481 $form->setValuesByPost();
501 $ilSetting->get(
"shib_auth_allow_local")) &&
502 $ilSetting->get(
"auth_mode") !=
AUTH_CAS)
504 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
507 $form->setFormAction($this->ctrl->getFormAction($this,
''));
508 $form->setName(
"formlogin");
509 $form->setShowTopButtons(
false);
510 $form->setTitle($lng->txt(
"login_to_ilias"));
513 include_once(
'./Services/Authentication/classes/class.ilAuthModeDetermination.php');
517 $visible_auth_methods = array();
521 if(isset($option[
'hide_in_ui']) && $option[
'hide_in_ui'])
527 $radg->addOption($op1);
528 if (isset($option[
'checked']))
530 $radg->setValue($key);
532 $visible_auth_methods[] = $op1;
535 if(count($visible_auth_methods) == 1)
537 $first_auth_method = current($visible_auth_methods);
539 $hidden_auth_method->setValue($first_auth_method->getValue());
540 $form->addItem($hidden_auth_method);
544 $form->addItem($radg);
550 $ti->setRequired(
true);
556 $pi->setDisableHtmlAutoComplete(
false);
557 $pi->setRequired(
true);
559 $form->addCommandButton(
"showLogin", $lng->txt(
"log_in"));
561 require_once
'Services/Captcha/classes/class.ilCaptchaUtil.php';
562 if(ilCaptchaUtil::isActiveForLogin())
564 require_once
'Services/Captcha/classes/class.ilCaptchaInputGUI.php';
567 $form->addItem($captcha);
579 return $page_editor_html;
591 if(strlen($page_editor_html))
594 return $page_editor_html;
597 $loginSettings =
new ilSetting(
"login_settings");
598 $information = $loginSettings->get(
"login_message_".$lng->getLangKey());
600 if(strlen(trim($information)))
602 $tpl->setVariable(
"TXT_LOGIN_INFORMATION", $information);
604 return $page_editor_html;
619 if ($ilSetting->get(
"cas_active"))
621 $tpl =
new ilTemplate(
'tpl.login_form_cas.html',
true,
true,
'Services/Init');
622 $tpl->setVariable(
"TXT_CAS_LOGIN", $lng->txt(
"login_to_ilias_via_cas"));
624 $tpl->setVariable(
"TXT_CAS_LOGIN_INSTRUCTIONS", $ilSetting->get(
"cas_login_instructions"));
625 $this->ctrl->setParameter($this,
"forceCASLogin",
"1");
626 $tpl->setVariable(
"TARGET_CAS_LOGIN",$this->ctrl->getLinkTarget($this,
"showLogin"));
627 $this->ctrl->setParameter($this,
"forceCASLogin",
"");
633 '[list-cas-login-form]',
637 return $page_editor_html;
653 if ($ilSetting->get(
"shib_active")) {
654 $tpl =
new ilTemplate(
'tpl.login_form_shibboleth.html',
true,
true,
'Services/Init');
656 $tpl->setVariable(
'SHIB_FORMACTION',
'./shib_login.php');
658 if ($ilSetting->get(
"shib_hos_type") ==
'external_wayf') {
659 $tpl->setCurrentBlock(
"shibboleth_login");
660 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
661 $tpl->setVariable(
"IL_TARGET",
$_GET[
"target"]);
662 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
663 $tpl->setVariable(
"TXT_SHIB_LOGIN_BUTTON", $ilSetting->get(
"shib_login_button"));
664 $tpl->setVariable(
"TXT_SHIB_LOGIN_INSTRUCTIONS", sprintf($lng->txt(
"shib_general_login_instructions"), $ilSetting->get(
"shib_federation_name")) .
' <a href="mailto:' . $ilSetting->get(
"admin_email") .
'">ILIAS ' . $lng->txt(
"administrator") .
'</a>.');
665 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get(
"shib_login_instructions"));
666 $tpl->parseCurrentBlock();
667 } elseif ($ilSetting->get(
"shib_hos_type") ==
'embedded_wayf') {
668 $tpl->setCurrentBlock(
"shibboleth_custom_login");
669 $customInstructions = stripslashes($ilSetting->get(
"shib_login_instructions"));
670 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $customInstructions);
671 $tpl->parseCurrentBlock();
673 $tpl->setCurrentBlock(
"shibboleth_wayf_login");
674 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
675 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
676 $tpl->setVariable(
"TXT_SELECT_HOME_ORGANIZATION", sprintf($lng->txt(
"shib_select_home_organization"), $ilSetting->get(
"shib_federation_name")));
677 $tpl->setVariable(
"TXT_CONTINUE", $lng->txt(
"btn_next"));
678 $tpl->setVariable(
"TXT_SHIB_HOME_ORGANIZATION", $lng->txt(
"shib_home_organization"));
679 $tpl->setVariable(
"TXT_SHIB_LOGIN_INSTRUCTIONS", $lng->txt(
"shib_general_wayf_login_instructions") .
' <a href="mailto:' . $ilSetting->get(
"admin_email") .
'">ILIAS ' . $lng->txt(
"administrator") .
'</a>.');
680 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get(
"shib_login_instructions"));
682 require_once
"./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
685 $tpl->setVariable(
"TXT_SHIB_INVALID_SELECTION", $WAYF->showNotice());
686 $tpl->setVariable(
"SHIB_IDP_LIST", $WAYF->generateSelection());
687 $tpl->setVariable(
"ILW_TARGET",
$_GET[
"target"]);
688 $tpl->parseCurrentBlock();
694 return $page_editor_html;
709 if(!strlen($page_editor_html))
711 $tpl->setVariable($fallback_tplvar,$element_html);
712 return $page_editor_html;
715 if(!stristr($page_editor_html, $placeholder))
717 $tpl->setVariable($fallback_tplvar,$element_html);
718 return $page_editor_html;
720 return str_replace($placeholder, $element_html, $page_editor_html);
731 include_once
'./Services/Authentication/classes/class.ilAuthLoginPageEditorSettings.php';
733 $active_lang = $lpe->getIliasEditorLanguage($lng->getLangKey());
741 include_once
'./Services/COPage/classes/class.ilPageUtil.php';
747 include_once
'./Services/Authentication/classes/class.ilLoginPage.php';
748 include_once
'./Services/Authentication/classes/class.ilLoginPageGUI.php';
750 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
752 $tpl->setCurrentBlock(
"SyntaxStyle");
754 $tpl->parseCurrentBlock();
759 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
760 $page_gui->setStyleId(0,
'auth');
762 $page_gui->setPresentationTitle(
"");
763 $page_gui->setTemplateOutput(
false);
764 $page_gui->setHeader(
"");
765 $ret = $page_gui->showPage();
778 $languages = $lng->getInstalledLanguages();
779 if(count($languages) <= 1)
781 return $page_editor_html;
784 $ltpl =
new ilTemplate(
'tpl.login_form_lang_selection.html',
true,
true,
'Services/Init');
785 foreach ($languages as $lang_key)
787 $ltpl->setCurrentBlock(
"languages");
788 $ltpl->setVariable(
"LANG_KEY", $lang_key);
789 $ltpl->setVariable(
"LANG_NAME",
791 $ltpl->setVariable(
"BORDER", 0);
792 $ltpl->setVariable(
"VSPACE", 0);
793 $ltpl->parseCurrentBlock();
795 $ltpl->setCurrentBlock(
'lang_selection');
796 $ltpl->setVariable(
"TXT_OK", $lng->txt(
"ok"));
797 $ltpl->setVariable(
"LANG_FORM_ACTION",$this->ctrl->getFormAction($this));
798 $ltpl->setVariable(
"TXT_CHOOSE_LANGUAGE", $lng->txt(
"choose_language"));
799 $ltpl->setVariable(
"LANG_ID", $lng->getLangKey());
800 $ltpl->parseCurrentBlock();
806 '[list-language-selection]',
824 $rtpl =
new ilTemplate(
'tpl.login_registration_links.html',
true,
true,
'Services/Init');
827 include_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
830 $rtpl->setCurrentBlock(
"new_registration");
831 $rtpl->setVariable(
"REGISTER", $lng->txt(
"registration"));
832 $rtpl->setVariable(
"CMD_REGISTER",
833 $this->ctrl->getLinkTargetByClass(
"ilaccountregistrationgui",
""));
834 $rtpl->parseCurrentBlock();
837 if ($ilSetting->get(
"password_assistance"))
839 $rtpl->setCurrentBlock(
"password_assistance");
840 $rtpl->setVariable(
"FORGOT_PASSWORD", $lng->txt(
"forgot_password"));
841 $rtpl->setVariable(
"FORGOT_USERNAME", $lng->txt(
"forgot_username"));
842 $rtpl->setVariable(
"CMD_FORGOT_PASSWORD",
843 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
""));
844 $rtpl->setVariable(
"CMD_FORGOT_USERNAME",
845 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
"showUsernameAssistanceForm"));
846 $rtpl->setVariable(
"LANG_ID", $lng->getLangKey());
847 $rtpl->parseCurrentBlock();
850 if ($ilSetting->get(
"pub_section") &&
851 $ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", ROOT_FOLDER_ID))
853 $rtpl->setCurrentBlock(
"homelink");
854 $rtpl->setVariable(
"CLIENT_ID",
"?client_id=".
$_COOKIE[
"ilClientId"].
"&lang=".$lng->getLangKey());
855 $rtpl->setVariable(
"TXT_HOME",$lng->txt(
"home"));
856 $rtpl->parseCurrentBlock();
859 if ($ilIliasIniFile->readVariable(
"clients",
"list"))
861 $rtpl->setCurrentBlock(
"client_list");
862 $rtpl->setVariable(
"TXT_CLIENT_LIST", $lng->txt(
"to_client_list"));
863 $rtpl->setVariable(
"CMD_CLIENT_LIST",$this->ctrl->getLinkTarget($this,
"showClientList"));
864 $rtpl->parseCurrentBlock();
871 '[list-registration-link]',
872 'REG_PWD_CLIENT_LINKS'
881 protected function showTermsOfServiceLink($page_editor_html)
891 require_once
'Services/TermsOfService/classes/class.ilTermsOfServiceSignableDocumentFactory.php';
894 $utpl =
new ilTemplate(
'tpl.login_terms_of_service_link.html',
true,
true,
'Services/Init');
895 $utpl->setVariable(
'TXT_TERMS_OF_SERVICE', $lng->txt(
'usr_agreement'));
896 $utpl->setVariable(
'LINK_TERMS_OF_SERVICE', $this->ctrl->getLinkTarget($this,
'showTermsOfService'));
902 '[list-user-agreement]',
915 '[list-user-agreement]',
929 '[list-language-selection] ',
930 '[list-registration-link]',
931 '[list-user-agreement]',
933 '[list-cas-login-form]',
934 '[list-shibboleth-login-form]',
935 '[list-openid-login-form]'
937 array(
'',
'',
'',
'',
'',
'',
''),
946 public function showAccountMigration($a_message =
'')
954 $lng->loadLanguageModule(
'auth');
955 self::initStartUpTemplate(
'tpl.login_account_migration.html');
957 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
959 $form->setFormAction($this->ctrl->getFormAction($this,
'migrateAccount'));
961 $form->setTitle($lng->txt(
'auth_account_migration'));
962 $form->addCommandButton(
'migrateAccount', $lng->txt(
'save'));
963 $form->addCommandButton(
'showLogin', $lng->txt(
'cancel'));
968 $keep =
new ilRadioOption($lng->txt(
'auth_account_migration_keep'),1,$lng->txt(
'auth_info_migrate'));
970 $user->setRequired(
true);
973 $user->setMaxLength(128);
977 $pass->setRetype(
false);
978 $pass->setRequired(
true);
981 $pass->setMaxLength(128);
982 $keep->addSubItem(
$pass);
983 $rad->addOption($keep);
985 $new =
new ilRadioOption($lng->txt(
'auth_account_migration_new'),2,$lng->txt(
'auth_info_add'));
986 $rad->addOption($new);
988 $form->addItem($rad);
990 $tpl->setVariable(
'MIG_FORM',$form->getHTML());
992 if(strlen($a_message))
997 $tpl->show(
'DEFAULT');
1008 global
$lng,$ilClientIniFile,
$ilLog,$rbacadmin;
1010 $lng->loadLanguageModule(
'auth');
1012 if(!isset(
$_POST[
'account_migration']))
1014 $this->showAccountMigration($lng->txt(
'err_choose_migration_type'));
1018 if(
$_POST[
'account_migration'] == 1 and (!strlen(
$_POST[
'mig_username']) or !strlen(
$_POST[
'mig_password'])))
1020 $this->showAccountMigration($lng->txt(
'err_wrong_login'));
1024 if(
$_POST[
'account_migration'] == 1)
1028 $this->showAccountMigration($lng->txt(
'err_wrong_login'));
1034 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1035 include_once
'./Services/Database/classes/class.ilAuthContainerMDB2.php';
1039 if(!$ilAuth->checkAuth())
1042 $this->showAccountMigration($lng->txt(
'err_wrong_login'));
1048 $user->setExternalAccount(
ilSession::get(
'tmp_external_account'));
1049 $user->setActive(
true);
1057 $rbacadmin->assignUser((
int) $role,$user->getId());
1062 $ilLog->write(__METHOD__.
': Migrated '.
ilSession::get(
'tmp_external_account').
' to ILIAS account '.$user->getLogin().
'.');
1064 elseif(
$_POST[
'account_migration'] == 2)
1072 include_once(
'Services/AuthApache/classes/class.ilAuthContainerApache.php');
1074 $container->forceCreation(
true);
1083 include_once(
'Services/LDAP/classes/class.ilAuthContainerLDAP.php');
1085 $container->forceCreation(
true);
1094 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1095 include_once
'./Services/Radius/classes/class.ilAuthContainerRadius.php';
1098 $container->forceCreation(
true);
1110 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1111 include_once
'./Services/OpenId/classes/class.ilAuthContainerOpenId.php';
1114 $container->forceCreation(
true);
1116 include_once
'./Services/OpenId/classes/class.ilAuthOpenId.php';
1126 ilUtil::redirect(
"ilias.php?baseClass=ilStartUpGUI&cmdClass=ilstartupgui&target=".
$_GET[
"target"].
"&cmd=getAcceptance");
1148 self::initStartUpTemplate(
"tpl.logout.html");
1150 if ($ilSetting->get(
"pub_section"))
1152 $tpl->setCurrentBlock(
"homelink");
1153 $tpl->setVariable(
"CLIENT_ID",
"?client_id=".
$client_id.
"&lang=".$lng->getLangKey());
1154 $tpl->setVariable(
"TXT_HOME",$lng->txt(
"home"));
1155 $tpl->parseCurrentBlock();
1158 if ($ilIliasIniFile->readVariable(
"clients",
"list"))
1160 $tpl->setCurrentBlock(
"client_list");
1161 $tpl->setVariable(
"TXT_CLIENT_LIST", $lng->txt(
"to_client_list"));
1162 $this->ctrl->setParameter($this,
"client_id",
$client_id);
1163 $tpl->setVariable(
"CMD_CLIENT_LIST",
1164 $this->ctrl->getLinkTarget($this,
"showClientList"));
1165 $tpl->parseCurrentBlock();
1166 $this->ctrl->setParameter($this,
"client_id",
"");
1169 $tpl->setVariable(
"TXT_PAGEHEADLINE", $lng->txt(
"logout"));
1170 $tpl->setVariable(
"TXT_LOGOUT_TEXT", $lng->txt(
"logout_text"));
1171 $tpl->setVariable(
"TXT_LOGIN", $lng->txt(
"login_to_ilias"));
1172 $tpl->setVariable(
"CLIENT_ID",
"?client_id=".
$client_id.
"&lang=".$lng->getLangKey());
1185 $valid = $ilAuth->getValidationData();
1187 self::initStartUpTemplate(
"tpl.user_mapping_selection.html");
1196 include_once(
'./Services/User/classes/class.ilObjUser.php');
1197 if (count($email_user) == 1)
1200 $tpl->setCurrentBlock(
"one_user");
1201 $tpl->setVariable(
"TXT_USERNAME", $lng->txt(
"username"));
1202 $tpl->setVariable(
"VAL_USERNAME", current($email_user));
1203 $tpl->setVariable(
"USER_ID", key($email_user));
1204 $tpl->parseCurrentBlock();
1208 foreach($email_user as $key => $login)
1210 $tpl->setCurrentBlock(
"user");
1211 $tpl->setVariable(
"USR_ID", $key);
1212 $tpl->setVariable(
"VAL_USER", $login);
1213 $tpl->parseCurrentBlock();
1215 $tpl->setCurrentBlock(
"multpiple_user");
1216 $tpl->parseCurrentBlock();
1219 $tpl->setCurrentBlock(
"content");
1220 $this->ctrl->setParameter($this,
"ext_uid", urlencode(
$_GET[
"ext_uid"]));
1221 $this->ctrl->setParameter($this,
"soap_pw", urlencode(
$_GET[
"soap_pw"]));
1222 $this->ctrl->setParameter($this,
"auth_stat",
$_GET[
"auth_stat"]);
1223 $tpl->setVariable(
"FORMACTION",
1224 $this->ctrl->getFormAction($this));
1225 $tpl->setVariable(
"TXT_ILIAS_LOGIN", $lng->txt(
"login_to_ilias"));
1226 if (count($email_user) == 1)
1228 $tpl->setVariable(
"TXT_EXPLANATION", $lng->txt(
"ums_explanation"));
1229 $tpl->setVariable(
"TXT_EXPLANATION_2", $lng->txt(
"ums_explanation_2"));
1233 $tpl->setVariable(
"TXT_EXPLANATION", $lng->txt(
"ums_explanation_3"));
1234 $tpl->setVariable(
"TXT_EXPLANATION_2", $lng->txt(
"ums_explanation_4"));
1236 $tpl->setVariable(
"TXT_CREATE_USER", $lng->txt(
"ums_create_new_account"));
1237 $tpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
1239 $tpl->setVariable(
"TXT_SUBMIT", $lng->txt(
"login"));
1251 if (!$ilIliasIniFile->readVariable(
"clients",
"list"))
1257 $tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
1258 $tpl->setAddFooter(
false);
1261 $tpl->setVariable(
"PAGETITLE",
"Client List");
1262 $tpl->setVariable(
"LOCATION_STYLESHEET",
"./templates/default/delos.css");
1265 self::initStartUpTemplate(
"tpl.client_list.html");
1268 $tpl->addBlockfile(
"CLIENT_LIST",
"client_list",
"tpl.table.html");
1271 $tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.obj_tbl_rows.html");
1274 require_once(
"setup/classes/class.ilClientList.php");
1275 require_once(
"setup/classes/class.ilClient.php");
1276 require_once(
"setup/classes/class.ilDBConnections.php");
1277 require_once(
"./Services/Table/classes/class.ilTableGUI.php");
1280 $list = $clientlist->getClients();
1282 if (count($list) == 0)
1284 header(
"Location: ./setup/setup.php");
1288 $hasPublicSection =
false;
1289 foreach ($list as $key =>
$client)
1293 if (
$client->checkDatabaseExists(
true) and
$client->ini->readVariable(
"client",
"access") and
$client->getSetting(
"setup_ok"))
1295 $this->ctrl->setParameter($this,
"client_id", $key);
1298 $tmp[] =
"<a href=\"".
"login.php?cmd=force_login&client_id=".urlencode($key).
"\">Login page</a>";
1300 if(
$client->getSetting(
'pub_section'))
1302 $hasPublicSection =
true;
1303 $tmp[] =
"<a href=\"" .
"ilias.php?baseClass=ilRepositoryGUI&client_id=" . urlencode($key) .
"\">Start page</a>";
1318 if($hasPublicSection)
1320 $tbl->setTitle(
"Available Clients");
1321 $tbl->setHeaderNames(array(
"Installation Name",
"Login",
"Public Access"));
1322 $tbl->setHeaderVars(array(
"name",
"index",
"login"));
1323 $tbl->setColumnWidth(array(
"50%",
"25%",
"25%"));
1327 $tbl->setTitle(
"Available Clients");
1328 $tbl->setHeaderNames(array(
"Installation Name",
"Login",
''));
1329 $tbl->setHeaderVars(array(
"name",
"login",
''));
1330 $tbl->setColumnWidth(array(
"70%",
"25%",
'1px'));
1334 $tbl->setOrderColumn(
$_GET[
"sort_by"],
"name");
1335 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
1336 $tbl->setLimit(
$_GET[
"limit"]);
1337 $tbl->setOffset(
$_GET[
"offset"]);
1340 $tbl->setData($data);
1343 $tbl->setFooter(
"tblfooter");
1346 $tbl->setStyle(
"table",
"std");
1348 $tbl->disable(
"icon");
1349 $tbl->disable(
"numinfo");
1350 $tbl->disable(
"sort");
1354 $tpl->show(
"DEFAULT",
true,
true);
1366 $str =
"<p style=\"margin:15px;\">
1367 You need to enable Session Cookies in your Browser to use ILIAS.
1370 <br/>Tools -> Options -> Privacy -> Cookies
1371 <br/>Enable 'Allow sites to set cookies' and activate option 'Keep
1372 <br/>cookies' auf 'until I close Firefox'
1374 <br/><b>Mozilla/Netscape</b>
1375 <br/>Edit -> Preferences -> Privacy&Security -> Cookies
1376 <br/>Go to 'Cookie Lifetime Policy' and check option 'Accept for current
1379 <br/><b>Internet Explorer</b>
1380 <br/>Tools -> Internet Options -> Privacy -> Advanced
1381 <br/>- Check 'Override automatic cookie handling'
1382 <br/>- Check 'Always allow session cookies'
1384 $tpl->setVariable(
"CONTENT", $str);
1393 $this->showTermsOfService();
1399 protected function showTermsOfService()
1409 $back_to_login = (
'getAcceptance' != $this->ctrl->getCmd());
1411 self::initStartUpTemplate(
'tpl.view_terms_of_service.html', $back_to_login, !$back_to_login);
1412 $tpl->setVariable(
'TXT_PAGEHEADLINE', $lng->txt(
'usr_agreement'));
1415 $lang_opts = array();
1416 foreach($lng->getInstalledLanguages() as $lang_key)
1421 if(
sizeof($lang_opts) > 1)
1424 foreach($lang_opts as $lang_key => $lang_caption)
1426 $tpl->setCurrentBlock(
'lang_headline_languages');
1427 $tpl->setVariable(
'LANG_HEADLINE_LANGUAGES_LANG_NAME', $lang_caption);
1428 $tpl->setVariable(
'LANG_HEADLINE_LANGUAGES_LANG_KEY', $lang_key);
1429 if($lang_key == $lng->getLangKey())
1431 $tpl->setVariable(
'LANG_HEADLINE_LANGUAGES_SELECTED_LANG',
' selected="selected"');
1433 $tpl->parseCurrentBlock();
1436 $tpl->setCurrentBlock(
'lang_headline');
1437 $tpl->setVariable(
'LANG_CHANGE_CMD', $this->ctrl->getCmd());
1438 $tpl->setVariable(
'LANG_CHANGE_FORMACTION', $this->ctrl->getFormAction($this, $this->ctrl->getCmd()));
1439 $tpl->setVariable(
'LANG_CHANGE_TXT_OK', $lng->txt(
'ok'));
1440 $tpl->setVariable(
'LANG_CHANGE_TXT_CHOOSE_LANGUAGE', $lng->txt(
'choose_language'));
1441 $tpl->setCurrentBlock(
'lang_headline');
1446 require_once
'Services/TermsOfService/classes/class.ilTermsOfServiceSignableDocumentFactory.php';
1449 if(
'getAcceptance' == $this->ctrl->getCmd())
1451 if(isset(
$_POST[
'status']) &&
'accepted' ==
$_POST[
'status'])
1453 require_once
'Services/TermsOfService/classes/class.ilTermsOfServiceHelper.php';
1468 $tpl->setVariable(
'FORM_ACTION', $this->ctrl->getFormAction($this, $this->ctrl->getCmd()));
1470 $tpl->setVariable(
'ACCEPT_TERMS_OF_SERVICE', $lng->txt(
'accept_usr_agreement'));
1471 $tpl->setVariable(
'TXT_SUBMIT', $lng->txt(
'submit'));
1474 $tpl->setVariable(
'TERMS_OF_SERVICE_CONTENT', $document->getContent());
1478 $tpl->setVariable(
'TERMS_OF_SERVICE_CONTENT', sprintf($lng->txt(
'no_agreement_description'),
'mailto:' . $ilSetting->get(
'feedback_recipient')));
1492 if (!isset(
$_GET[
"client_id"]) &&
1493 $_GET[
"cmd"] ==
"" &&
1494 $ilIliasIniFile->readVariable(
"clients",
"list"))
1499 if($ilAuth->getAuth() && $ilAuth->getStatus() ==
"")
1501 $this->processStartingPage();
1510 if ($ilSetting->get(
"pub_section") &&
$_POST[
"sendLogin"] !=
"1"
1511 && ($ilAuth->getStatus() != -101 &&
$_GET[
"soap_pw"] ==
""))
1527 function processStartingPage()
1535 if ($ilUser->getId() == ANONYMOUS_USER_ID)
1544 if(IS_PAYMENT_ENABLED)
1546 include_once
'./Services/Payment/classes/class.ilPaymentShoppingCart.php';
1549 if((
int)
$_GET[
'forceShoppingCartRedirect'])
1551 ilUtil::redirect(
'ilias.php?baseClass=ilShopController&cmd=redirect&redirect_class=ilshopshoppingcartgui');
1555 if(!
$_GET[
"target"])
1558 include_once
'./Services/User/classes/class.ilUserUtil.php';
1571 global $objDefinition, $ilPluginAdmin,
$ilUser;
1573 if (is_object($ilPluginAdmin))
1576 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
1579 foreach ($pl_names as $pl)
1582 $gui_class = $ui_plugin->getUIClassInstance();
1583 $resp = $gui_class->checkGotoHook($a_target);
1584 if ($resp[
"target"] !==
false)
1586 $a_target = $resp[
"target"];
1592 if ($a_target ==
"")
1597 $t_arr = explode(
"_", $a_target);
1605 if ($type ==
"pg" | $type ==
"st")
1610 $class = $objDefinition->getClassName($type);
1616 $location = $objDefinition->getLocation($type);
1617 $full_class =
"ilObj".$class.
"Access";
1618 include_once(
$location.
"/class.".$full_class.
".php");
1620 $ret = call_user_func(array($full_class,
"_checkGoto"), $a_target);
1624 !stristr($a_target,
"_wsp") &&
1625 $ilUser->getId() != ANONYMOUS_USER_ID &&
1626 !$objDefinition->isAdministrationObject($type) &&
1627 $objDefinition->isRBACObject($type) &&
1630 global $tree, $rbacsystem, $ilAccess;
1633 if($t_arr[0] ==
"pg")
1635 if(isset($t_arr[2]))
1654 include_once
"Services/Membership/classes/class.ilParticipants.php";
1655 $block_obj = array();
1660 foreach(
$path as $path_ref_id)
1662 $redirect_infopage =
false;
1663 $add_member_role =
false;
1669 if(!$ilAccess->doActivationCheck(
"read",
"", $path_ref_id, $ilUser->getId(), $pobj_id, $ptype) ||
1670 !$ilAccess->doStatusCheck(
"read",
"", $path_ref_id, $ilUser->getId(), $pobj_id, $ptype))
1675 else if($ptype ==
"crs")
1678 include_once
"Modules/Course/classes/class.ilCourseParticipant.php";
1680 if(!$participants->isAssigned())
1683 include_once
"Modules/Course/classes/class.ilObjCourse.php";
1687 $block_obj[] = $path_ref_id;
1688 $add_member_role =
true;
1692 $redirect_infopage =
true;
1696 else if($ptype ==
"grp")
1699 include_once
"Modules/Group/classes/class.ilGroupParticipants.php";
1703 include_once
"Modules/Group/classes/class.ilObjGroup.php";
1705 if($group_obj->isRegistrationEnabled())
1707 $block_obj[] = $path_ref_id;
1708 $add_member_role =
true;
1712 $redirect_infopage =
true;
1718 if($add_member_role)
1721 $rbacsystem->resetPACache($ilUser->getId(), $path_ref_id);
1722 if(!$rbacsystem->checkAccess(
"join", $path_ref_id))
1724 $redirect_infopage =
true;
1728 $rbacsystem->addTemporaryRole($ilUser->getId(),
1734 if($redirect_infopage)
1736 if($rbacsystem->checkAccess(
"visible", $path_ref_id))
1739 "&ref_id=".$path_ref_id.
"&cmd=infoScreen");
1749 $rbacsystem->resetPACache($ilUser->getId(),
$ref_id);
1750 if($rbacsystem->checkAccess(
"read",
$ref_id) &&
sizeof($block_obj))
1757 $_SESSION[
"pending_goto"] =
"goto.php?target=".$a_target;
1761 "&ref_id=".array_shift($block_obj));
1774 if(!isset(
$_GET[
'rh']) || !strlen(trim(
$_GET[
'rh'])))
1776 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg=reg_confirmation_hash_not_passed');
1781 require_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
1786 $oUser->setActive(
true);
1787 if($oRegSettings->passwordGenerationEnabled())
1790 $password = $passwd[0];
1792 $oUser->setLastPasswordChangeTS( time() );
1796 $usr_lang = $oUser->getPref(
'language');
1798 if($lng->getLangKey() != $usr_lang)
1805 include_once(
"Services/Mail/classes/class.ilAccountMail.php");
1806 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1808 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"")
1811 $acc_mail->setUser($oUser);
1812 if($oRegSettings->passwordGenerationEnabled())
1814 $acc_mail->setUserPassword($password);
1820 include_once
'Services/Mail/classes/class.ilMail.php';
1821 $mail_obj =
new ilMail(ANONYMOUS_USER_ID);
1824 $subject = $lng->txt(
"reg_mail_subject");
1827 $body = $lng->txt(
"reg_mail_body_salutation").
" ".$oUser->getFullname().
",\n\n".
1828 $lng->txt(
"reg_mail_body_text1").
"\n\n".
1829 $lng->txt(
"reg_mail_body_text2").
"\n".
1830 ILIAS_HTTP_PATH.
"/login.php?client_id=".CLIENT_ID.
"\n";
1831 $body .= $lng->txt(
"login").
": ".$oUser->getLogin().
"\n";
1833 if($oRegSettings->passwordGenerationEnabled())
1835 $body.= $lng->txt(
"passwd").
": ".$password.
"\n";
1839 $body.= $lng->txt(
'reg_mail_body_forgot_password_info').
"\n";
1843 $body .= ($lng->txt(
"reg_mail_body_text3").
"\n\r");
1844 $body .= $oUser->getProfileAsString($lng);
1845 $mail_obj->enableSoap(
false);
1846 $mail_obj->appendInstallationSignature(
true);
1847 $mail_obj->sendMail($oUser->getEmail(),
'',
'',
1850 array(), array(
'normal'));
1853 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg=reg_account_confirmation_successful&lang='.$usr_lang);
1857 include_once
'Services/WebServices/SOAP/classes/class.ilSoapClient.php';
1859 $soap_client->setResponseTimeout(1);
1860 $soap_client->enableWSDL(
true);
1861 $soap_client->init();
1863 $ilLog->write(__METHOD__.
': Triggered soap call (background process) for deletion of inactive user objects with expired confirmation hash values (dual opt in) ...');
1867 'deleteExpiredDualOptInUserObjects',
1871 $exception->getCode()
1875 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg='.$exception->getMessage().
"&lang=".$usr_lang);
1879 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg='.$exception->getMessage().
"&lang=".$usr_lang);
1891 include_once
'./Services/OpenId/classes/class.ilOpenIdSettings.php';
1894 return $page_editor_html;
1897 $lng->loadLanguageModule(
'auth');
1899 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
1902 $form->setShowTopButtons(
false);
1903 $form->setFormAction($this->ctrl->getFormAction($this));
1904 $form->setTitle($lng->txt(
'login_to_ilias_via_openid'));
1906 $openid =
new ilTextInputGUI($lng->txt(
'auth_openid_login'),
'oid_username');
1908 $openid->setMaxLength(255);
1909 $openid->setRequired(
true);
1910 $openid->setCssClass(
'ilOpenIDBox');
1911 $openid->setInfo($lng->txt(
'auth_openid_login_info_a'));
1912 $form->addItem($openid);
1914 include_once
'./Services/OpenId/classes/class.ilOpenIdProviders.php';
1915 $pro =
new ilSelectInputGUI($lng->txt(
'auth_openid_provider'),
'oid_provider');
1918 $form->addItem($pro);
1919 $form->addCommandButton(
"showLogin", $lng->txt(
"log_in"));
1925 '[list-openid-login-form]',
1936 public static function initStartUpTemplate($a_tmpl, $a_show_back =
false, $a_show_logout =
false)
1948 include_once(
"./Services/jQuery/classes/class.iljQueryUtil.php");
1951 $tpl->addBlockfile(
'CONTENT',
'content',
'tpl.startup_screen.html',
'Services/Init');
1957 $param =
'client_id=' .
$_COOKIE[
'ilClientId'] .
'&lang=' . $lng->getLangKey();
1959 $tpl->setCurrentBlock(
'link_item_bl');
1960 $tpl->setVariable(
'LINK_TXT', $lng->txt(
'login_to_ilias'));
1961 $tpl->setVariable(
'LINK_URL',
'login.php?cmd=force_login&'.$param);
1962 $tpl->parseCurrentBlock();
1964 if($ilSetting->get(
'pub_section') &&
1965 $ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
'read',
'', ROOT_FOLDER_ID))
1967 $tpl->setVariable(
'LINK_URL',
'index.php?'.$param);
1968 $tpl->setVariable(
'LINK_TXT', $lng->txt(
'home'));
1969 $tpl->parseCurrentBlock();
1972 else if($a_show_logout)
1974 $tpl->setCurrentBlock(
'link_item_bl');
1975 $tpl->setVariable(
'LINK_TXT', $lng->txt(
'logout'));
1976 $tpl->setVariable(
'LINK_URL', ILIAS_HTTP_PATH .
'/logout.php');
1977 $tpl->parseCurrentBlock();
1980 if(is_array($a_tmpl))
1982 $template_file = $a_tmpl[0];
1983 $template_dir = $a_tmpl[1];
1987 $template_file = $a_tmpl;
1988 $template_dir =
'Services/Init';
1990 $tpl->addBlockFile(
'STARTUP_CONTENT',
'startup_content', $template_file, $template_dir);