25 $ilCtrl->saveParameter($this, array(
"rep_ref_id",
"lang",
"target",
"client_id"));
35 $cmd = $this->ctrl->getCmd(
"processIndexPHP",array(
'processIndexPHP',
'showLogin'));
36 $ilLog->write(__METHOD__.
' cmd = '.
$cmd);
37 $next_class = $this->ctrl->getNextClass($this);
41 case 'ilpageobjectgui':
44 case "ilaccountregistrationgui":
45 require_once(
"Services/Registration/classes/class.ilAccountRegistrationGUI.php");
48 case "ilpasswordassistancegui":
49 require_once(
"Services/Init/classes/class.ilPasswordAssistanceGUI.php");
62 $this->ctrl->setCmdClass(
"ilaccountregistrationgui");
63 $this->ctrl->setCmd(
"");
72 $this->ctrl->setCmdClass(
"ilpasswordassistancegui");
73 $this->ctrl->setCmd(
"");
86 $status = $ilAuth->getStatus();
87 if ($status ==
"" && isset(
$_GET[
"auth_stat"]))
89 $status =
$_GET[
"auth_stat"];
92 if($ilAuth->getAuth() && !$status)
95 if (
$_GET[
"rep_ref_id"] !=
"")
113 if (empty(
$_GET[
'cookies']))
115 $additional_params =
'';
117 if(IS_PAYMENT_ENABLED)
121 $additional_params .=
'&login_to_purchase_object=1&forceShoppingCartRedirect=1';
127 "&ext_uid=".
$_GET[
"ext_uid"].
"&cookies=nocookies&client_id=".
128 rawurlencode(CLIENT_ID).
"&lang=".$lng->getLangKey().$additional_params);
137 unset(
$_GET[
'cookies']);
140 if ($ilSetting->get(
"shib_active") && $ilSetting->get(
"shib_hos_type"))
142 require_once
"./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
147 if (isset($WAYF) && $WAYF->isSelection())
149 if ($WAYF->isValidSelection())
152 $WAYF->setSAMLCookie();
161 if(IS_PAYMENT_ENABLED)
163 if(isset(
$_GET[
'forceShoppingCartRedirect']) && (
int)
$_GET[
'forceShoppingCartRedirect'] == 1)
165 $this->ctrl->setParameter($this,
'forceShoppingCartRedirect', 1);
169 if (isset(
$_GET[
'login_to_purchase_object']) &&
$_GET[
'login_to_purchase_object'])
171 $lng->loadLanguageModule(
'payment');
172 $failure = $lng->txt(
"payment_login_to_buy_object");
178 if (isset(
$_GET[
'reg_confirmation_msg']) && strlen(trim(
$_GET[
'reg_confirmation_msg'])))
180 $lng->loadLanguageModule(
'registration');
181 if(
$_GET[
'reg_confirmation_msg'] ==
'reg_account_confirmation_successful')
190 else if(isset(
$_GET[
'reached_session_limit']) &&
$_GET[
'reached_session_limit'])
192 $failure = $lng->txt(
"reached_session_limit");
194 else if(isset(
$_GET[
'accdel']) &&
$_GET[
'accdel'])
196 $lng->loadLanguageModule(
'user');
197 $failure = $lng->txt(
"user_account_deleted_confirmation");
210 $failure = $lng->txt(
"err_session_expired");
214 $failure = $lng->txt(
"err_auth_cas_no_ilias_user");
218 $failure = $lng->txt(
"err_auth_soap_no_ilias_user");
222 $failure = $lng->txt(
"err_auth_ldap_no_ilias_user");
226 $failure = $lng->txt(
"err_auth_radius_no_ilias_user");
230 $failure = $lng->txt(
"err_auth_mode_inactive");
234 $failure = $lng->txt(
"err_auth_apache_failed");
246 $failure = $lng->txt(
"wrong_ip_detected").
" (".$_SERVER[
"REMOTE_ADDR"].
")";
254 $failure = $lng->txt(
"simultaneous_login_detected");
259 $username = $ilAuth->getUsername();
263 if($ilSetting->get(
'user_reactivate_code'))
270 $failure = $lng->txt(
"time_limit_reached");
278 $failure = $lng->txt(
"err_inactive");
287 $auth_error = $ilias->getAuthError();
288 if (is_object($auth_error))
290 $add =
"<br>".$auth_error->getMessage();
292 $failure = $lng->txt(
"err_wrong_login").$add;
299 $lng->loadLanguageModule(
"auth");
300 $success = $lng->txt(
"auth_account_code_used");
307 $tpl->addBlockFile(
"CONTENT",
"content",
"tpl.startup_screen.html",
"Services/Init");
309 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.login.html",
"Services/Init");
337 $tpl->setVariable(
"PAGETITLE", $lng->txt(
"startpage"));
338 $tpl->setVariable(
"ILIAS_RELEASE", $ilSetting->get(
"ilias_version"));
340 $this->ctrl->setTargetScript(
"ilias.php");
341 $tpl->setVariable(
"PHP_SELF", $_SERVER[
'PHP_SELF']);
344 if (isset(
$_GET[
'cookies']) &&
$_GET[
'cookies'] ==
'nocookies')
349 if(strlen($page_editor_html))
351 $tpl->setVariable(
'LPE',$page_editor_html);
354 $tpl->fillCssFiles();
355 $tpl->fillJavaScriptFiles();
357 $tpl->show(
"DEFAULT",
false);
364 $tpl->addBlockFile(
"CONTENT",
"content",
"tpl.startup_screen.html",
"Services/Init");
366 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.login_reactivate_code.html",
369 $this->
showFailure($lng->txt(
"time_limit_reached"));
376 $tpl->setVariable(
"FORM", $a_form->getHTML());
377 $tpl->show(
"DEFAULT",
false);
384 $lng->loadLanguageModule(
"auth");
386 include_once
'Services/Form/classes/class.ilPropertyFormGUI.php';
389 $form->setFormAction($ilCtrl->getFormAction($this,
'showcodeform'));
390 $form->setTitle($lng->txt(
'auth_account_code_title'));
392 $count =
new ilTextInputGUI($lng->txt(
'auth_account_code'),
'code');
394 $count->setInfo($lng->txt(
'auth_account_code_info'));
395 $form->addItem($count);
399 $uname->setValue($a_username);
400 $form->addItem($uname);
402 $form->addCommandButton(
'processCode', $lng->txt(
'send'));
414 if($uname && $form->checkInput())
416 $code = $form->getInput(
"code");
418 include_once
"Services/User/classes/class.ilAccountCode.php";
429 $invalid_code =
false;
432 if($valid_until ===
"0")
434 $user->setTimeLimitUnlimited(
true);
438 if(is_numeric($valid_until))
440 $valid_until = strtotime(
"+".$valid_until.
"days");
444 $valid_until = explode(
"-", $valid_until);
445 $valid_until = mktime(23, 59, 59, $valid_until[1],
446 $valid_until[2], $valid_until[0]);
447 if($valid_until < time())
449 $invalid_code =
true;
455 $user->setTimeLimitUnlimited(
false);
456 $user->setTimeLimitUntil($valid_until);
462 $user->setActive(
true);
467 $ilCtrl->setParameter($this,
"cu", 1);
468 $ilCtrl->redirect($this,
"showLogin");
472 $lng->loadLanguageModule(
"user");
473 $field = $form->getItemByPostVar(
"code");
474 $field->setAlert($lng->txt(
"user_account_code_not_valid"));
477 $form->setValuesByPost();
497 $ilSetting->get(
"shib_auth_allow_local")) &&
498 $ilSetting->get(
"auth_mode") !=
AUTH_CAS)
500 include_once(
"Services/Form/classes/class.ilPropertyFormGUI.php");
503 $form->setFormAction($this->ctrl->getFormAction($this,
''));
504 $form->setName(
"formlogin");
505 $form->setShowTopButtons(
false);
506 $form->setTitle($lng->txt(
"login_to_ilias"));
509 include_once(
'./Services/Authentication/classes/class.ilAuthModeDetermination.php');
513 $visible_auth_methods = array();
517 if(isset($option[
'hide_in_ui']) && $option[
'hide_in_ui'])
523 $radg->addOption($op1);
524 if (isset($option[
'checked']))
526 $radg->setValue($key);
528 $visible_auth_methods[] = $op1;
531 if(count($visible_auth_methods) == 1)
533 $first_auth_method = current($visible_auth_methods);
535 $hidden_auth_method->setValue($first_auth_method->getValue());
536 $form->addItem($hidden_auth_method);
540 $form->addItem($radg);
553 $pi->setAutocomplete(
true);
555 $form->addCommandButton(
"showLogin", $lng->txt(
"log_in"));
556 #$form->addCommandButton("butSubmit", $lng->txt("log_in"));
567 return $page_editor_html;
579 if(strlen($page_editor_html))
582 return $page_editor_html;
585 $loginSettings =
new ilSetting(
"login_settings");
586 $information = $loginSettings->get(
"login_message_".$lng->getLangKey());
588 if(strlen(trim($information)))
590 $tpl->setVariable(
"TXT_LOGIN_INFORMATION", $information);
592 return $page_editor_html;
607 if ($ilSetting->get(
"cas_active"))
609 $tpl =
new ilTemplate(
'tpl.login_form_cas.html',
true,
true,
'Services/Init');
610 $tpl->setVariable(
"TXT_CAS_LOGIN", $lng->txt(
"login_to_ilias_via_cas"));
612 $tpl->setVariable(
"TXT_CAS_LOGIN_INSTRUCTIONS", $ilSetting->get(
"cas_login_instructions"));
613 $this->ctrl->setParameter($this,
"forceCASLogin",
"1");
614 $tpl->setVariable(
"TARGET_CAS_LOGIN",$this->ctrl->getLinkTarget($this,
"showLogin"));
615 $this->ctrl->setParameter($this,
"forceCASLogin",
"");
621 '[list-cas-login-form]',
625 return $page_editor_html;
638 if ($ilSetting->get(
"shib_active"))
640 $tpl =
new ilTemplate(
'tpl.login_form_shibboleth.html',
true,
true,
'Services/Init');
642 $tpl->setVariable(
'SHIB_FORMACTION',
'./shib_login.php');
644 if($ilSetting->get(
"shib_hos_type") ==
'external_wayf')
646 $tpl->setCurrentBlock(
"shibboleth_login");
647 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
648 $tpl->setVariable(
"IL_TARGET",
$_GET[
"target"]);
649 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
650 $tpl->setVariable(
"TXT_SHIB_LOGIN_BUTTON", $ilSetting->get(
"shib_login_button"));
651 $tpl->setVariable(
"TXT_SHIB_LOGIN_INSTRUCTIONS",
653 $lng->txt(
"shib_general_login_instructions"),
654 $ilSetting->get(
"shib_federation_name")) .
655 ' <a href="mailto:' . $ilSetting->get(
"admin_email") .
'">ILIAS ' . $lng->txt(
"administrator") .
'</a>.'
657 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS",$ilSetting->get(
"shib_login_instructions"));
658 $tpl->parseCurrentBlock();
660 elseif($ilSetting->get(
"shib_hos_type") ==
'embedded_wayf')
662 $tpl->setCurrentBlock(
"shibboleth_custom_login");
663 $customInstructions = stripslashes( $ilSetting->get(
"shib_login_instructions"));
664 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $customInstructions);
665 $tpl->parseCurrentBlock();
669 $tpl->setCurrentBlock(
"shibboleth_wayf_login");
670 $tpl->setVariable(
"TXT_SHIB_LOGIN", $lng->txt(
"login_to_ilias_via_shibboleth"));
671 $tpl->setVariable(
"TXT_SHIB_FEDERATION_NAME", $ilSetting->get(
"shib_federation_name"));
673 "TXT_SELECT_HOME_ORGANIZATION",
674 sprintf($lng->txt(
"shib_select_home_organization"), $ilSetting->get(
"shib_federation_name")));
675 $tpl->setVariable(
"TXT_CONTINUE", $lng->txt(
"btn_next"));
676 $tpl->setVariable(
"TXT_SHIB_HOME_ORGANIZATION", $lng->txt(
"shib_home_organization"));
677 $tpl->setVariable(
"TXT_SHIB_LOGIN_INSTRUCTIONS",
678 $lng->txt(
"shib_general_wayf_login_instructions").
679 ' <a href="mailto:'.$ilSetting->get(
"admin_email").
'">ILIAS '. $lng->txt(
"administrator").
'</a>.'
681 $tpl->setVariable(
"TXT_SHIB_CUSTOM_LOGIN_INSTRUCTIONS", $ilSetting->get(
"shib_login_instructions"));
683 require_once
"./Services/AuthShibboleth/classes/class.ilShibbolethWAYF.php";
686 $tpl->setVariable(
"TXT_SHIB_INVALID_SELECTION", $WAYF->showNotice());
687 $tpl->setVariable(
"SHIB_IDP_LIST", $WAYF->generateSelection());
688 $tpl->setVariable(
"ILW_TARGET",
$_GET[
"target"]);
689 $tpl->parseCurrentBlock();
696 '[list-shibboleth-login-form]',
701 return $page_editor_html;
716 if(!strlen($page_editor_html))
718 $tpl->setVariable($fallback_tplvar,$element_html);
719 return $page_editor_html;
722 if(!stristr($page_editor_html, $placeholder))
724 $tpl->setVariable($fallback_tplvar,$element_html);
725 return $page_editor_html;
727 return str_replace($placeholder, $element_html, $page_editor_html);
738 include_once
'./Services/Authentication/classes/class.ilAuthLoginPageEditorSettings.php';
740 $active_lang = $lpe->getIliasEditorLanguage($lng->getLangKey());
748 include_once
'./Services/COPage/classes/class.ilPageUtil.php';
754 include_once
'./Services/COPage/classes/class.ilPageObject.php';
755 include_once
'./Services/COPage/classes/class.ilPageObjectGUI.php';
757 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
759 $tpl->setCurrentBlock(
"SyntaxStyle");
761 $tpl->parseCurrentBlock();
771 include_once(
"./Services/Style/classes/class.ilObjStyleSheet.php");
772 $page_gui->setStyleId(0,
'auth');
774 $page_gui->setIntLinkHelpDefault(
"RepositoryItem", $active_lang);
779 $page_gui->setPresentationTitle(
"");
780 $page_gui->setTemplateOutput(
false);
781 $page_gui->setHeader(
"");
782 $page_gui->setEnabledRepositoryObjects(
true);
783 $page_gui->setEnabledLoginPage(
true);
784 $page_gui->setEnabledFileLists(
false);
785 $page_gui->setEnabledPCTabs(
true);
786 $page_gui->setEnabledMaps(
true);
787 $ret = $page_gui->showPage();
800 $languages = $lng->getInstalledLanguages();
801 if(count($languages) <= 1)
803 return $page_editor_html;
806 $ltpl =
new ilTemplate(
'tpl.login_form_lang_selection.html',
true,
true,
'Services/Init');
807 foreach ($languages as $lang_key)
809 $ltpl->setCurrentBlock(
"languages");
810 $ltpl->setVariable(
"LANG_KEY", $lang_key);
811 $ltpl->setVariable(
"LANG_NAME",
813 $ltpl->setVariable(
"BORDER", 0);
814 $ltpl->setVariable(
"VSPACE", 0);
815 $ltpl->parseCurrentBlock();
817 $ltpl->setCurrentBlock(
'lang_selection');
818 $ltpl->setVariable(
"TXT_OK", $lng->txt(
"ok"));
819 $ltpl->setVariable(
"LANG_FORM_ACTION",$this->ctrl->getFormAction($this));
820 $ltpl->setVariable(
"TXT_CHOOSE_LANGUAGE", $lng->txt(
"choose_language"));
821 $ltpl->setVariable(
"LANG_ID", $lng->getLangKey());
822 $ltpl->parseCurrentBlock();
828 '[list-language-selection]',
846 $rtpl =
new ilTemplate(
'tpl.login_registration_links.html',
true,
true,
'Services/Init');
849 include_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
852 $rtpl->setCurrentBlock(
"new_registration");
853 $rtpl->setVariable(
"REGISTER", $lng->txt(
"registration"));
854 $rtpl->setVariable(
"CMD_REGISTER",
855 $this->ctrl->getLinkTargetByClass(
"ilaccountregistrationgui",
""));
856 $rtpl->parseCurrentBlock();
859 if ($ilSetting->get(
"password_assistance"))
861 $rtpl->setCurrentBlock(
"password_assistance");
862 $rtpl->setVariable(
"FORGOT_PASSWORD", $lng->txt(
"forgot_password"));
863 $rtpl->setVariable(
"FORGOT_USERNAME", $lng->txt(
"forgot_username"));
864 $rtpl->setVariable(
"CMD_FORGOT_PASSWORD",
865 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
""));
866 $rtpl->setVariable(
"CMD_FORGOT_USERNAME",
867 $this->ctrl->getLinkTargetByClass(
"ilpasswordassistancegui",
"showUsernameAssistanceForm"));
868 $rtpl->setVariable(
"LANG_ID", $lng->getLangKey());
869 $rtpl->parseCurrentBlock();
872 if ($ilSetting->get(
"pub_section") &&
873 $ilAccess->checkAccessOfUser(ANONYMOUS_USER_ID,
"read",
"", ROOT_FOLDER_ID))
875 $rtpl->setCurrentBlock(
"homelink");
876 $rtpl->setVariable(
"CLIENT_ID",
"?client_id=".
$_COOKIE[
"ilClientId"].
"&lang=".$lng->getLangKey());
877 $rtpl->setVariable(
"TXT_HOME",$lng->txt(
"home"));
878 $rtpl->parseCurrentBlock();
881 if ($ilIliasIniFile->readVariable(
"clients",
"list"))
883 $rtpl->setCurrentBlock(
"client_list");
884 $rtpl->setVariable(
"TXT_CLIENT_LIST", $lng->txt(
"to_client_list"));
885 $rtpl->setVariable(
"CMD_CLIENT_LIST",$this->ctrl->getLinkTarget($this,
"showClientList"));
886 $rtpl->parseCurrentBlock();
893 '[list-registration-link]',
894 'REG_PWD_CLIENT_LINKS'
907 $utpl =
new ilTemplate(
'tpl.login_user_agreement_link.html',
true,
true,
'Services/Init');
908 $utpl->setVariable(
"USER_AGREEMENT", $lng->txt(
"usr_agreement"));
909 $utpl->setVariable(
"LINK_USER_AGREEMENT",$this->ctrl->getLinkTarget($this,
"showUserAgreement"));
915 '[list-user-agreement]',
930 '[list-language-selection] ',
931 '[list-registration-link]',
932 '[list-user-agreement]',
934 '[list-cas-login-form]',
935 '[list-shibboleth-login-form]',
936 '[list-openid-login-form]'
938 array(
'',
'',
'',
'',
'',
'',
''),
948 $tpl->setCurrentBlock(
"warning");
949 $tpl->setVariable(
'TXT_MSG_LOGIN_FAILED', $a_mess);
950 $tpl->setVariable(
"MESSAGE_HEADING", $lng->txt(
"failure_message"));
951 $tpl->setVariable(
"ALT_IMAGE", $lng->txt(
"icon").
" ".$lng->txt(
"failure_message"));
953 $tpl->parseCurrentBlock();
960 $tpl->setCurrentBlock(
'success');
961 $tpl->setVariable(
'TXT_MSG_LOGIN_SUCCESS', $a_mess);
962 $tpl->setVariable(
'MESSAGE_HEADING', $lng->txt(
'success_message'));
963 $tpl->setVariable(
'ALT_IMAGE', $lng->txt(
'icon').
' '.$lng->txt(
'success_message'));
965 $tpl->parseCurrentBlock();
979 $lng->loadLanguageModule(
'auth');
980 $tpl->addBlockFile(
"CONTENT",
982 "tpl.startup_screen.html",
985 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.login_account_migration.html",
989 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
991 $form->setFormAction($this->ctrl->getFormAction($this,
'migrateAccount'));
993 $form->setTitle($lng->txt(
'auth_account_migration'));
994 $form->addCommandButton(
'migrateAccount', $lng->txt(
'save'));
995 $form->addCommandButton(
'showLogin', $lng->txt(
'cancel'));
1000 $keep =
new ilRadioOption($lng->txt(
'auth_account_migration_keep'),1,$lng->txt(
'auth_info_migrate'));
1004 $user->setMaxLength(128);
1009 $pass->setRetype(
false);
1011 $pass->setMaxLength(128);
1012 $keep->addSubItem(
$pass);
1013 $rad->addOption($keep);
1015 $new =
new ilRadioOption($lng->txt(
'auth_account_migration_new'),2,$lng->txt(
'auth_info_add'));
1016 $rad->addOption($new);
1018 $form->addItem($rad);
1020 $tpl->setVariable(
'MIG_FORM',$form->getHTML());
1022 if(strlen($a_message))
1027 $tpl->show(
'DEFAULT');
1038 global
$lng,$ilClientIniFile,
$ilLog,$rbacadmin;
1040 $lng->loadLanguageModule(
'auth');
1042 if(!isset(
$_POST[
'account_migration']))
1048 if(
$_POST[
'account_migration'] == 1 and (!strlen(
$_POST[
'mig_username']) or !strlen(
$_POST[
'mig_password'])))
1054 if(
$_POST[
'account_migration'] == 1)
1064 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1065 include_once
'./Services/Database/classes/class.ilAuthContainerMDB2.php';
1069 if(!$ilAuth->checkAuth())
1078 $user->setExternalAccount(
ilSession::get(
'tmp_external_account'));
1079 $user->setActive(
true);
1087 $rbacadmin->assignUser((
int) $role,$user->getId());
1092 $ilLog->write(__METHOD__.
': Migrated '.
ilSession::get(
'tmp_external_account').
' to ILIAS account '.$user->getLogin().
'.');
1094 elseif(
$_POST[
'account_migration'] == 2)
1102 include_once(
'Services/AuthApache/classes/class.ilAuthContainerApache.php');
1104 $container->forceCreation(
true);
1113 include_once(
'Services/LDAP/classes/class.ilAuthContainerLDAP.php');
1115 $container->forceCreation(
true);
1124 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1125 include_once
'./Services/Radius/classes/class.ilAuthContainerRadius.php';
1128 $container->forceCreation(
true);
1140 include_once
'./Services/Authentication/classes/class.ilAuthFactory.php';
1141 include_once
'./Services/OpenId/classes/class.ilAuthContainerOpenId.php';
1144 $container->forceCreation(
true);
1146 include_once
'./Services/OpenId/classes/class.ilAuthOpenId.php';
1156 ilUtil::redirect(
"ilias.php?baseClass=ilStartUpGUI&cmdClass=ilstartupgui&target=".
$_GET[
"target"].
"&cmd=getAcceptance");
1178 $tpl->addBlockFile(
"CONTENT",
"content",
"tpl.startup_screen.html",
1181 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.logout.html",
1184 if ($ilSetting->get(
"pub_section"))
1186 $tpl->setCurrentBlock(
"homelink");
1187 $tpl->setVariable(
"CLIENT_ID",
"?client_id=".
$client_id.
"&lang=".$lng->getLangKey());
1188 $tpl->setVariable(
"TXT_HOME",$lng->txt(
"home"));
1189 $tpl->parseCurrentBlock();
1192 if ($ilIliasIniFile->readVariable(
"clients",
"list"))
1194 $tpl->setCurrentBlock(
"client_list");
1195 $tpl->setVariable(
"TXT_CLIENT_LIST", $lng->txt(
"to_client_list"));
1196 $this->ctrl->setParameter($this,
"client_id",
$client_id);
1197 $tpl->setVariable(
"CMD_CLIENT_LIST",
1198 $this->ctrl->getLinkTarget($this,
"showClientList"));
1199 $tpl->parseCurrentBlock();
1200 $this->ctrl->setParameter($this,
"client_id",
"");
1203 $tpl->setVariable(
"TXT_PAGEHEADLINE", $lng->txt(
"logout"));
1204 $tpl->setVariable(
"TXT_LOGOUT_TEXT", $lng->txt(
"logout_text"));
1205 $tpl->setVariable(
"TXT_LOGIN", $lng->txt(
"login_to_ilias"));
1206 $tpl->setVariable(
"CLIENT_ID",
"?client_id=".
$client_id.
"&lang=".$lng->getLangKey());
1219 $valid = $ilAuth->getValidationData();
1221 $tpl->addBlockFile(
"CONTENT",
"content",
"tpl.user_mapping_selection.html",
1231 include_once(
'./Services/User/classes/class.ilObjUser.php');
1232 if (count($email_user) == 1)
1235 $tpl->setCurrentBlock(
"one_user");
1236 $tpl->setVariable(
"TXT_USERNAME", $lng->txt(
"username"));
1237 $tpl->setVariable(
"VAL_USERNAME", current($email_user));
1238 $tpl->setVariable(
"USER_ID", key($email_user));
1239 $tpl->parseCurrentBlock();
1243 foreach($email_user as $key => $login)
1245 $tpl->setCurrentBlock(
"user");
1246 $tpl->setVariable(
"USR_ID", $key);
1247 $tpl->setVariable(
"VAL_USER", $login);
1248 $tpl->parseCurrentBlock();
1250 $tpl->setCurrentBlock(
"multpiple_user");
1251 $tpl->parseCurrentBlock();
1254 $tpl->setCurrentBlock(
"content");
1255 $this->ctrl->setParameter($this,
"ext_uid", urlencode(
$_GET[
"ext_uid"]));
1256 $this->ctrl->setParameter($this,
"soap_pw", urlencode(
$_GET[
"soap_pw"]));
1257 $this->ctrl->setParameter($this,
"auth_stat",
$_GET[
"auth_stat"]);
1258 $tpl->setVariable(
"FORMACTION",
1259 $this->ctrl->getFormAction($this));
1260 $tpl->setVariable(
"TXT_ILIAS_LOGIN", $lng->txt(
"login_to_ilias"));
1261 if (count($email_user) == 1)
1263 $tpl->setVariable(
"TXT_EXPLANATION", $lng->txt(
"ums_explanation"));
1264 $tpl->setVariable(
"TXT_EXPLANATION_2", $lng->txt(
"ums_explanation_2"));
1268 $tpl->setVariable(
"TXT_EXPLANATION", $lng->txt(
"ums_explanation_3"));
1269 $tpl->setVariable(
"TXT_EXPLANATION_2", $lng->txt(
"ums_explanation_4"));
1271 $tpl->setVariable(
"TXT_CREATE_USER", $lng->txt(
"ums_create_new_account"));
1272 $tpl->setVariable(
"TXT_PASSWORD", $lng->txt(
"password"));
1274 $tpl->setVariable(
"TXT_SUBMIT", $lng->txt(
"login"));
1286 if (!$ilIliasIniFile->readVariable(
"clients",
"list"))
1292 $tpl =
new ilTemplate(
"tpl.main.html",
true,
true);
1295 $tpl->setVariable(
"PAGETITLE",
"Client List");
1296 $tpl->setVariable(
"LOCATION_STYLESHEET",
"./templates/default/delos.css");
1299 $tpl->addBlockfile(
"CONTENT",
"content",
"tpl.startup_screen.html",
1302 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.client_list.html",
1307 $tpl->addBlockfile(
"CLIENT_LIST",
"client_list",
"tpl.table.html");
1310 $tpl->addBlockfile(
"TBL_CONTENT",
"tbl_content",
"tpl.obj_tbl_rows.html");
1313 require_once(
"setup/classes/class.ilClientList.php");
1314 require_once(
"setup/classes/class.ilClient.php");
1315 require_once(
"setup/classes/class.ilDBConnections.php");
1316 require_once(
"./Services/Table/classes/class.ilTableGUI.php");
1319 $list = $clientlist->getClients();
1321 if (count($list) == 0)
1323 header(
"Location: ./setup/setup.php");
1327 $hasPublicSection =
false;
1328 foreach ($list as $key =>
$client)
1332 if (
$client->checkDatabaseExists(
true) and
$client->ini->readVariable(
"client",
"access") and
$client->getSetting(
"setup_ok"))
1334 $this->ctrl->setParameter($this,
"client_id", $key);
1337 $tmp[] =
"<a href=\"".
"login.php?cmd=force_login&client_id=".urlencode($key).
"\">Login page</a>";
1339 if(
$client->getSetting(
'pub_section'))
1341 $hasPublicSection =
true;
1342 $tmp[] =
"<a href=\"" .
"ilias.php?baseClass=ilRepositoryGUI&client_id=" . urlencode($key) .
"\">Start page</a>";
1357 if($hasPublicSection)
1359 $tbl->setTitle(
"Available Clients");
1360 $tbl->setHeaderNames(array(
"Installation Name",
"Login",
"Public Access"));
1361 $tbl->setHeaderVars(array(
"name",
"index",
"login"));
1362 $tbl->setColumnWidth(array(
"50%",
"25%",
"25%"));
1366 $tbl->setTitle(
"Available Clients");
1367 $tbl->setHeaderNames(array(
"Installation Name",
"Login",
''));
1368 $tbl->setHeaderVars(array(
"name",
"login",
''));
1369 $tbl->setColumnWidth(array(
"70%",
"25%",
'1px'));
1373 $tbl->setOrderColumn(
$_GET[
"sort_by"],
"name");
1374 $tbl->setOrderDirection(
$_GET[
"sort_order"]);
1375 $tbl->setLimit(
$_GET[
"limit"]);
1376 $tbl->setOffset(
$_GET[
"offset"]);
1379 $tbl->setData(
$data);
1382 $tbl->setFooter(
"tblfooter");
1385 $tbl->setStyle(
"table",
"std");
1387 $tbl->disable(
"icon");
1388 $tbl->disable(
"numinfo");
1389 $tbl->disable(
"sort");
1393 $tpl->show(
"DEFAULT",
true,
true);
1405 $str =
"<p style=\"margin:15px;\">
1406 You need to enable Session Cookies in your Browser to use ILIAS.
1409 <br/>Tools -> Options -> Privacy -> Cookies
1410 <br/>Enable 'Allow sites to set cookies' and activate option 'Keep
1411 <br/>cookies' auf 'until I close Firefox'
1413 <br/><b>Mozilla/Netscape</b>
1414 <br/>Edit -> Preferences -> Privacy&Security -> Cookies
1415 <br/>Go to 'Cookie Lifetime Policy' and check option 'Accept for current
1418 <br/><b>Internet Explorer</b>
1419 <br/>Tools -> Internet Options -> Privacy -> Advanced
1420 <br/>- Check 'Override automatic cookie handling'
1421 <br/>- Check 'Always allow session cookies'
1423 $tpl->setVariable(
"CONTENT", $str);
1442 require_once
"./Services/User/classes/class.ilUserAgreement.php";
1444 $tpl->addBlockFile(
"CONTENT",
"content",
"tpl.startup_screen.html",
1447 $tpl->addBlockFile(
"STARTUP_CONTENT",
"startup_content",
"tpl.view_usr_agreement.html",
1449 $tpl->addBlockFile(
"STATUSLINE",
"statusline",
"tpl.statusline.html");
1456 $lang_opts = array();
1457 foreach ($lng->getInstalledLanguages() as $lang_key)
1462 if(
sizeof($lang_opts) > 1)
1464 $tpl->setVariable(
"TXT_CHOOSE_LANGUAGE", $lng->txt(
"choose_language"));
1465 $tpl->setVariable(
"TXT_OK", $lng->txt(
"ok"));
1469 foreach($lang_opts as $lang_key => $lang_caption)
1471 $tpl->setCurrentBlock(
"languages");
1472 $tpl->setVariable(
"LANG_VAL_CMD", $this->ctrl->getCmd());
1473 $tpl->setVariable(
"AGR_LANG_ACTION",
1474 $this->ctrl->getFormAction($this));
1475 $tpl->setVariable(
"LANG_NAME", $lang_caption);
1476 $tpl->setVariable(
"LANG_ICON", $lang_key);
1477 $tpl->setVariable(
"LANG_KEY", $lang_key);
1478 if($lang_key == $lng->lang_key)
1480 $tpl->setVariable(
"SELECTED_LANG",
' selected="selected"');
1482 $tpl->setVariable(
"BORDER", 0);
1483 $tpl->setVariable(
"VSPACE", 0);
1484 $tpl->parseCurrentBlock();
1488 $tpl->setCurrentBlock(
"content");
1491 $tpl->setVariable(
"TXT_PAGEHEADLINE", $lng->txt(
"usr_agreement"));
1492 $tpl->setVariable(
"TXT_PAGETITLE",
"ILIAS3 - ".$lng->txt(
"usr_agreement"));
1495 if ($this->ctrl->getCmd() ==
"getAcceptance")
1497 if (
$_POST[
"status"]==
"accepted")
1499 $ilUser->writeAccepted();
1502 $tpl->setVariable(
"VAL_CMD",
"getAcceptance");
1503 $tpl->setCurrentBlock(
"get_acceptance");
1504 $tpl->setVariable(
"FORM_ACTION",
1505 $this->ctrl->getFormAction($this));
1507 $tpl->setVariable(
"ACCEPT_AGREEMENT", $lng->txt(
"accept_usr_agreement"));
1508 $tpl->setVariable(
"TXT_SUBMIT", $lng->txt(
"submit"));
1509 $tpl->parseCurrentBlock();
1513 $tpl->setCurrentBlock(
"back");
1514 $tpl->setVariable(
"BACK", $lng->txt(
"back"));
1515 $tpl->setVariable(
"LINK_BACK",
1516 $this->ctrl->getLinkTargetByClass(
"ilstartupgui",
"showLogin"));
1517 $tpl->parseCurrentBlock();
1533 if (!isset(
$_GET[
"client_id"]) &&
1534 $_GET[
"cmd"] ==
"" &&
1535 $ilIliasIniFile->readVariable(
"clients",
"list"))
1540 if($ilAuth->getAuth() && $ilAuth->getStatus() ==
"")
1551 if ($ilSetting->get(
"pub_section") &&
$_POST[
"sendLogin"] !=
"1"
1552 && ($ilAuth->getStatus() != -101 &&
$_GET[
"soap_pw"] ==
""))
1573 if ($ilUser->getId() == ANONYMOUS_USER_ID)
1582 if(IS_PAYMENT_ENABLED)
1584 include_once
'./Services/Payment/classes/class.ilPaymentShoppingCart.php';
1587 if((
int)
$_GET[
'forceShoppingCartRedirect'])
1589 ilUtil::redirect(
'ilias.php?baseClass=ilShopController&cmd=redirect&redirect_class=ilshopshoppingcartgui');
1593 if(!
$_GET[
"target"])
1596 include_once
'./Services/User/classes/class.ilUserUtil.php';
1609 global $objDefinition, $ilPluginAdmin,
$ilUser;
1611 if (is_object($ilPluginAdmin))
1614 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_SERVICE,
"UIComponent",
"uihk");
1617 foreach ($pl_names as $pl)
1620 $gui_class = $ui_plugin->getUIClassInstance();
1621 $resp = $gui_class->checkGotoHook($a_target);
1622 if ($resp[
"target"] !==
false)
1624 $a_target = $resp[
"target"];
1630 if ($a_target ==
"")
1635 $t_arr = explode(
"_", $a_target);
1643 if ($type ==
"pg" | $type ==
"st")
1648 $class = $objDefinition->getClassName($type);
1653 $location = $objDefinition->getLocation($type);
1654 $full_class =
"ilObj".$class.
"Access";
1655 include_once(
$location.
"/class.".$full_class.
".php");
1657 $ret = call_user_func(array($full_class,
"_checkGoto"), $a_target);
1661 !stristr($a_target,
"_wsp") &&
1662 $ilUser->getId() != ANONYMOUS_USER_ID &&
1663 !$objDefinition->isAdministrationObject($type) &&
1664 $objDefinition->isRBACObject($type) &&
1667 global $tree, $rbacsystem;
1670 if($t_arr[0] ==
"pg")
1672 if(isset($t_arr[2]))
1691 include_once
"Services/Membership/classes/class.ilParticipants.php";
1692 $block_obj = array();
1697 foreach(
$path as $path_ref_id)
1699 $redirect_infopage =
false;
1700 $add_member_role =
false;
1708 include_once
"Modules/Course/classes/class.ilCourseParticipant.php";
1710 if(!$participants->isAssigned())
1713 include_once
"Modules/Course/classes/class.ilObjCourse.php";
1717 $block_obj[] = $path_ref_id;
1718 $add_member_role =
true;
1722 $redirect_infopage =
true;
1726 else if($ptype ==
"grp")
1729 include_once
"Modules/Group/classes/class.ilGroupParticipants.php";
1733 include_once
"Modules/Group/classes/class.ilObjGroup.php";
1735 if($group_obj->isRegistrationEnabled())
1737 $block_obj[] = $path_ref_id;
1738 $add_member_role =
true;
1742 $redirect_infopage =
true;
1748 if($add_member_role)
1751 $rbacsystem->resetPACache($ilUser->getId(), $path_ref_id);
1752 if(!$rbacsystem->checkAccess(
"join", $path_ref_id))
1754 $redirect_infopage =
true;
1758 $rbacsystem->addTemporaryRole($ilUser->getId(),
1764 if($redirect_infopage)
1766 if($rbacsystem->checkAccess(
"visible", $path_ref_id))
1769 "&ref_id=".$path_ref_id.
"&cmd=infoScreen");
1779 $rbacsystem->resetPACache($ilUser->getId(),
$ref_id);
1780 if($rbacsystem->checkAccess(
"read",
$ref_id) &&
sizeof($block_obj))
1787 $_SESSION[
"pending_goto"] =
"goto.php?target=".$a_target;
1791 "&ref_id=".array_shift($block_obj));
1804 if(!isset(
$_GET[
'rh']) || !strlen(trim(
$_GET[
'rh'])))
1806 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg=reg_confirmation_hash_not_passed');
1811 require_once
'Services/Registration/classes/class.ilRegistrationSettings.php';
1816 $oUser->setActive(
true);
1817 if($oRegSettings->passwordGenerationEnabled())
1820 $password = $passwd[0];
1822 $oUser->setLastPasswordChangeTS( time() );
1826 $usr_lang = $oUser->getPref(
'language');
1828 if($lng->getLangKey() != $usr_lang)
1835 include_once(
"Services/Mail/classes/class.ilAccountMail.php");
1836 include_once
'./Services/User/classes/class.ilObjUserFolder.php';
1838 if (trim($amail[
"body"]) !=
"" && trim($amail[
"subject"]) !=
"")
1841 $acc_mail->setUser($oUser);
1842 if($oRegSettings->passwordGenerationEnabled())
1844 $acc_mail->setUserPassword($password);
1850 include_once
'Services/Mail/classes/class.ilMail.php';
1851 $mail_obj =
new ilMail(ANONYMOUS_USER_ID);
1854 $subject = $lng->txt(
"reg_mail_subject");
1857 $body = $lng->txt(
"reg_mail_body_salutation").
" ".$oUser->getFullname().
",\n\n".
1858 $lng->txt(
"reg_mail_body_text1").
"\n\n".
1859 $lng->txt(
"reg_mail_body_text2").
"\n".
1860 ILIAS_HTTP_PATH.
"/login.php?client_id=".CLIENT_ID.
"\n";
1861 $body .= $lng->txt(
"login").
": ".$oUser->getLogin().
"\n";
1863 if($oRegSettings->passwordGenerationEnabled())
1865 $body.= $lng->txt(
"passwd").
": ".$password.
"\n";
1869 $body.= $lng->txt(
'reg_mail_body_forgot_password_info').
"\n";
1873 $body .= ($lng->txt(
"reg_mail_body_text3").
"\n\r");
1874 $body .= $oUser->getProfileAsString($lng);
1875 $mail_obj->enableSoap(
false);
1876 $mail_obj->appendInstallationSignature(
true);
1877 $mail_obj->sendMail($oUser->getEmail(),
'',
'',
1880 array(), array(
'normal'));
1883 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg=reg_account_confirmation_successful&lang='.$usr_lang);
1887 include_once
'Services/WebServices/SOAP/classes/class.ilSoapClient.php';
1889 $soap_client->setResponseTimeout(1);
1890 $soap_client->enableWSDL(
true);
1891 $soap_client->init();
1893 $ilLog->write(__METHOD__.
': Triggered soap call (background process) for deletion of inactive user objects with expired confirmation hash values (dual opt in) ...');
1897 'deleteExpiredDualOptInUserObjects',
1901 $exception->getCode()
1905 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg='.$exception->getMessage().
"&lang=".$usr_lang);
1909 ilUtil::redirect(
'./login.php?cmd=force_login®_confirmation_msg='.$exception->getMessage().
"&lang=".$usr_lang);
1921 include_once
'./Services/OpenId/classes/class.ilOpenIdSettings.php';
1924 return $page_editor_html;
1927 $lng->loadLanguageModule(
'auth');
1929 include_once
'./Services/Form/classes/class.ilPropertyFormGUI.php';
1932 $form->setShowTopButtons(
false);
1933 $form->setFormAction($this->ctrl->getFormAction($this));
1934 $form->setTitle($lng->txt(
'login_to_ilias_via_openid'));
1936 $openid =
new ilTextInputGUI($lng->txt(
'auth_openid_login'),
'oid_username');
1938 $openid->setMaxLength(255);
1939 $openid->setRequired(
true);
1940 $openid->setCssClass(
'ilOpenIDBox');
1941 $openid->setInfo($lng->txt(
'auth_openid_login_info_a'));
1942 $form->addItem($openid);
1944 include_once
'./Services/OpenId/classes/class.ilOpenIdProviders.php';
1945 $pro =
new ilSelectInputGUI($lng->txt(
'auth_openid_provider'),
'oid_provider');
1948 $form->addItem($pro);
1949 $form->addCommandButton(
"showLogin", $lng->txt(
"log_in"));
1955 '[list-openid-login-form]',