50 bool $a_call_by_reference =
false,
51 bool $a_prepare_output =
true,
53 ILIAS\
UI\Renderer $uiRenderer = null
57 if (null === $uiFactory) {
58 $uiFactory = $DIC->ui()->factory();
62 if (null === $uiRenderer) {
63 $uiRenderer = $DIC->ui()->renderer();
67 $ilCtrl = $DIC[
'ilCtrl'];
75 $this->
ctrl->saveParameter($this, array(
'obj_id',
'letter'));
76 $this->
ctrl->setParameterByClass(
"ilobjuserfoldergui",
"letter", $this->requested_letter);
82 $this->gender = array(
83 'n' =>
"salutation_n",
84 'm' =>
"salutation_m",
85 'f' =>
"salutation_f",
88 $this->user_request = new \ILIAS\User\StandardGUIRequest(
93 $this->requested_letter = $this->user_request->getLetter();
94 $this->requested_baseClass = $this->user_request->getBaseClass();
95 $this->requested_search = $this->user_request->getSearch();
100 $next_class = $this->
ctrl->getNextClass($this);
101 $cmd = $this->
ctrl->getCmd();
105 switch ($next_class) {
106 case "illearningprogressgui":
112 $this->
ctrl->forwardCommand($new_gui);
115 case "ilobjectownershipmanagementgui":
117 $this->
ctrl->forwardCommand($gui);
121 if ($cmd ==
"" || $cmd ==
"view") {
132 if (strtolower(get_class($this->
object)) ==
'ilobjuser') {
133 $this->tpl->setTitle(
'[' . $this->
object->getLogin() .
'] ' . $this->
object->getTitle());
134 $this->tpl->setDescription($this->
object->getLongDescription());
135 $this->tpl->setTitleIcon(
137 $this->
lng->txt(
"obj_" . $this->object->getType())
140 parent::setTitleAndDescription();
148 if (strtolower($this->requested_baseClass) ==
'iladministrationgui') {
149 $this->
ctrl->redirectByClass(
"ilobjuserfoldergui",
"view");
151 $this->
ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
164 $rbacsystem = $DIC[
'rbacsystem'];
165 $ilHelp = $DIC[
'ilHelp'];
167 $this->tabs_gui->clearTargets();
169 $ilHelp->setScreenIdComponent(
"usr");
171 if ($this->requested_search) {
172 $this->tabs_gui->setBackTarget(
173 $this->
lng->txt(
"search_results"),
177 $this->tabs_gui->addTarget(
179 $this->
ctrl->getLinkTarget($this,
"edit"),
180 array(
"edit",
"",
"view"),
186 $this->tabs_gui->addTarget(
188 $this->
ctrl->getLinkTarget($this,
"edit"),
189 array(
"edit",
"",
"view"),
194 $this->tabs_gui->addTarget(
196 $this->
ctrl->getLinkTarget($this,
"roleassignment"),
197 array(
"roleassignment"),
202 if ($rbacsystem->checkAccess(
'read', $this->ref_id) and
205 $this->tabs_gui->addTarget(
207 $this->
ctrl->getLinkTargetByClass(
'illearningprogressgui',
''),
209 array(
'illplistofobjectsgui',
'illplistofsettingsgui',
'illearningprogressgui',
'illplistofprogressgui')
213 $this->tabs_gui->addTarget(
215 $this->
ctrl->getLinkTargetByClass(
'ilobjectownershipmanagementgui',
''),
217 'ilobjectownershipmanagementgui' 228 $this->back_target = array(
"text" => $a_text,
237 $udfs = $this->user_request->getUDFs();
238 foreach ($this->user_defined_fields->getDefinitions() as $field_id => $definition) {
239 if ($definition[
'required'] and !strlen($udfs[$field_id])) {
248 $user_defined_data = null;
251 if ($this->
object->getType() ==
'usr') {
252 $user_defined_data = $this->
object->getUserDefinedData();
254 foreach ($this->user_defined_fields->getDefinitions() as $field_id => $definition) {
256 $old = $error_post_vars[
"udf"][$field_id] ?? $user_defined_data[$field_id];
259 $this->tpl->setCurrentBlock(
"field_text");
260 $this->tpl->setVariable(
"FIELD_NAME",
'udf[' . $definition[
'field_id'] .
']');
263 $this->tpl->setCurrentBlock(
"field_select");
264 $this->tpl->setVariable(
268 'udf[' . $definition[
'field_id'] .
']',
269 $this->user_defined_fields->fieldValuesToSelectArray(
270 $definition[
'field_values']
277 $this->tpl->parseCurrentBlock();
278 $this->tpl->setCurrentBlock(
"user_defined");
280 if ($definition[
'required']) {
281 $name = $definition[
'field_name'] .
"<span class=\"asterisk\">*</span>";
283 $name = $definition[
'field_name'];
285 $this->tpl->setVariable(
"TXT_FIELD_NAME",
$name);
286 $this->tpl->parseCurrentBlock();
294 $rbacreview = $DIC[
'rbacreview'];
298 $this->tabs_gui->clearTargets();
304 foreach ($obj_list as $obj_data) {
308 $rbacreview->assignedRoles(
$ilUser->getId())
319 $rbacreview->assignedRoles(
$ilUser->getId())
321 $rol[$obj_data[
"obj_id"]] = $obj_data[
"title"];
328 $this->
ilias->raiseError(
329 $this->
lng->txt(
"msg_no_roles_users_can_be_assigned_to"),
330 $this->
ilias->error_obj->MESSAGE
334 $keys = array_keys($rol);
337 if (in_array(4,
$keys)) {
338 $this->default_role = 4;
340 if (count(
$keys) > 1 and in_array(2,
$keys)) {
350 $this->default_role = array_shift(
$keys);
352 $this->selectable_roles = $rol;
363 $rbacsystem = $DIC[
'rbacsystem'];
365 if (!$rbacsystem->checkAccess(
'create_usr', $this->usrf_ref_id)
366 && !$rbacsystem->checkAccess(
'cat_administrate_users', $this->usrf_ref_id)) {
367 $this->
ilias->raiseError($this->
lng->txt(
"permission_denied"), $this->
ilias->error_obj->MESSAGE);
382 $ilAccess = $DIC[
'ilAccess'];
386 $rbacadmin = $DIC[
'rbacadmin'];
387 $rbacsystem = $DIC[
'rbacsystem'];
390 if (!$rbacsystem->checkAccess(
'create_usr', $this->usrf_ref_id)
391 && !$ilAccess->checkAccess(
'cat_administrate_users',
"", $this->usrf_ref_id)) {
392 $this->
ilias->raiseError($this->
lng->txt(
"permission_denied"), $this->
ilias->error_obj->MESSAGE);
399 $profileMaybeIncomplete =
false;
400 if ($this->form_gui->getInput(
'ignore_rf',
false)) {
404 if ($this->form_gui->checkInput()) {
410 || !in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->object->getId()))
411 || in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->user->getId()))) {
414 $userObj->setTitle($userObj->getFullname());
415 $userObj->setDescription($userObj->getEmail());
422 $userObj->setExternalAccount($this->form_gui->getInput(
"ext_account"));
427 $userObj->setLastPasswordChangeTS(time());
430 $userObj->saveAsNew();
434 $userObj->setLanguage($this->form_gui->getInput(
"language"));
439 $sknst = explode(
":", $this->form_gui->getInput(
"skin_style"));
441 if ($userObj->getPref(
"style") != $sknst[1] ||
442 $userObj->getPref(
"skin") != $sknst[0]) {
443 $userObj->setPref(
"skin", $sknst[0]);
444 $userObj->setPref(
"style", $sknst[1]);
448 $userObj->setPref(
"hits_per_page", $this->form_gui->getInput(
"hits_per_page"));
452 "hide_own_online_status",
453 $this->form_gui->getInput(
"hide_own_online_status")
458 'bs_allow_to_contact_me',
459 $this->form_gui->getInput(
"bs_allow_to_contact_me") ?
'y' :
'n' 464 'chat_osc_accept_msg',
465 $this->form_gui->getInput(
"chat_osc_accept_msg") ?
'y' :
'n' 470 'chat_broadcast_typing',
471 $this->form_gui->getInput(
"chat_broadcast_typing") ?
'y' :
'n' 474 if ((
int)
$ilSetting->get(
'session_reminder_enabled')) {
476 'session_reminder_enabled',
477 (
int) $this->form_gui->getInput(
"session_reminder_enabled")
480 $userObj->writePrefs();
483 $rbacadmin->assignUser(
484 $this->form_gui->getInput(
"default_role"),
489 $msg = $this->
lng->txt(
"user_added");
493 ($this->form_gui->getInput(
"send_mail") ==
'y') ?
'y' :
'n' 497 $this->
object = $userObj;
503 if ($profileMaybeIncomplete) {
505 $this->
object->setProfileIncomplete(
true);
506 $this->
object->update();
511 if ($this->form_gui->getInput(
"send_mail") ==
'y') {
513 $acc_mail->useLangVariablesAsFallback(
true);
514 $acc_mail->setAttachConfiguredFiles(
true);
515 $acc_mail->setUserPassword($this->form_gui->getInput(
"passwd"));
516 $acc_mail->setUser($userObj);
518 if ($acc_mail->send()) {
519 $msg .=
'<br />' . $this->
lng->txt(
'mail_sent');
520 $this->tpl->setOnScreenMessage(
'success', $msg,
true);
522 $msg .=
'<br />' . $this->
lng->txt(
'mail_not_sent');
523 $this->tpl->setOnScreenMessage(
'info', $msg,
true);
526 $this->tpl->setOnScreenMessage(
'success', $msg,
true);
529 if (strtolower($this->requested_baseClass) ==
'iladministrationgui') {
530 $this->
ctrl->redirectByClass(
"ilobjuserfoldergui",
"view");
532 $this->
ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
535 $this->form_gui->setValuesByPost();
548 $this->tabs_gui->clearTargets();
554 $this->showAcceptedTermsOfService();
555 $this->tpl->setContent($this->form_gui->getHTML());
575 $from = $this->form_gui->getItemByPostVar(
'time_limit_from')->getDate();
580 $until = $this->form_gui->getItemByPostVar(
'time_limit_until')->getDate();
587 if ($a_mode ==
'create') {
593 $bd = $this->form_gui->getItemByPostVar(
'birthday');
594 $bd = $bd->getDate();
689 $general_interests = is_array($this->form_gui->getInput(
'interests_general'))
690 ? $this->form_gui->getInput(
'interests_general')
694 $offering_help = is_array($this->form_gui->getInput(
'interests_help_offered'))
695 ? $this->form_gui->getInput(
'interests_help_offered')
699 $looking_for_help = is_array($this->form_gui->getInput(
'interests_help_looking'))
700 ? $this->form_gui->getInput(
'interests_help_looking')
710 $zoom = (
int) $this->form_gui->getInput(
'loc_zoom');
740 foreach ($all_defs as $definition) {
741 $f =
"udf_" . $definition[
'field_id'];
742 $item = $this->form_gui->getItemByPostVar(
$f);
743 if ($item && !$item->getDisabled()) {
744 $udf[$definition[
'field_id']] = $this->form_gui->getInput(
$f);
756 $profileMaybeIncomplete =
false;
757 if ($this->form_gui->getInput(
'ignore_rf',
false)) {
761 if ($this->form_gui->checkInput()) {
766 ) && trim($this->form_gui->getInput(
'passwd')) !==
'' 768 || !in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->object->getId()))
769 || in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->user->getId())))
777 if ((
int) $this->form_gui->getInput(
"active") == 1) {
778 $this->
object->setLoginAttempts(0);
781 #$this->object->assignData($_POST); 787 $this->
object->updateLogin($this->form_gui->getInput(
"login"));
789 $this->tpl->setOnScreenMessage(
'failure', $e->getMessage());
790 $this->form_gui->setValuesByPost();
791 $this->tpl->setContent($this->form_gui->getHTML());
795 $this->
object->setTitle($this->
object->getFullname());
796 $this->
object->setDescription($this->
object->getEmail());
799 $this->
object->setLanguage($this->form_gui->getInput(
'language'));
804 $sknst = explode(
":", $this->form_gui->getInput(
"skin_style"));
806 if ($this->
object->getPref(
"style") != $sknst[1] ||
807 $this->
object->getPref(
"skin") != $sknst[0]) {
808 $this->
object->setPref(
"skin", $sknst[0]);
809 $this->
object->setPref(
"style", $sknst[1]);
813 $this->
object->setPref(
"hits_per_page", $this->form_gui->getInput(
"hits_per_page"));
816 $this->
object->setPref(
817 "hide_own_online_status",
818 ($this->form_gui->getInput(
"hide_own_online_status") ??
false)
822 $this->
object->setPref(
823 'bs_allow_to_contact_me',
824 ($this->form_gui->getInput(
"bs_allow_to_contact_me") ??
false) ?
'y' :
'n' 828 $this->
object->setPref(
829 'chat_osc_accept_msg',
830 ($this->form_gui->getInput(
"chat_osc_accept_msg") ??
false) ?
'y' :
'n' 834 $this->
object->setPref(
835 'chat_broadcast_typing',
836 ($this->form_gui->getInput(
"chat_broadcast_typing") ??
false) ?
'y' :
'n' 842 $this->
object->setLastPasswordChangeTS(time());
847 if ((
int)
$ilSetting->get(
'session_reminder_enabled')) {
848 $this->
object->setPref(
849 'session_reminder_enabled',
850 (
int) $this->form_gui->getInput(
"session_reminder_enabled")
855 $this->
object->setProfileIncomplete(
false);
857 $this->update = $this->
object->update();
861 if ($this->
user->getId() == $this->
object->getId()) {
862 $this->
user->readPrefs();
864 $this->
user->setPref(
866 ($this->form_gui->getInput(
"send_mail") ==
'y') ?
'y' :
'n' 868 $this->
user->writePrefs();
870 $mail_message = $this->__sendProfileMail();
871 $msg = $this->
lng->txt(
'saved_successfully') . $mail_message;
878 if ($profileMaybeIncomplete) {
882 $this->
object->setProfileIncomplete(
true);
888 $this->tpl->setOnScreenMessage(
'success', $msg,
true);
890 if (strtolower($this->requested_baseClass) ==
'iladministrationgui') {
891 $this->
ctrl->redirectByClass(
"ilobjuserfoldergui",
"view");
893 $this->
ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
896 $this->form_gui->setValuesByPost();
897 $this->tabs_gui->activateTab(
'properties');
898 $this->tpl->setContent($this->form_gui->getHtml());
910 $data[
"auth_mode"] = $this->
object->getAuthMode();
911 $data[
"login"] = $this->
object->getLogin();
914 $data[
"ext_account"] = $this->
object->getExternalAccount();
918 $this->
object->getCreateDate(),
922 $data[
"approve_date"] = ($this->
object->getApproveDate() !=
"")
925 $data[
"agree_date"] = ($this->
object->getAgreeDate() !=
"")
928 $data[
"last_login"] = ($this->
object->getLastLogin() !=
"")
931 $data[
"active"] = $this->
object->getActive();
932 $data[
"time_limit_unlimited"] = $this->
object->getTimeLimitUnlimited() ?
'1' :
'0';
934 $data[
"time_limit_from"] = $this->
object->getTimeLimitFrom()
937 $data[
"time_limit_until"] = $this->
object->getTimeLimitUntil()
942 $data[
"gender"] = $this->
object->getGender();
943 $data[
"firstname"] = $this->
object->getFirstname();
944 $data[
"lastname"] = $this->
object->getLastname();
945 $data[
"title"] = $this->
object->getUTitle();
946 $data[
'birthday'] = $this->
object->getBirthday()
949 $data[
"institution"] = $this->
object->getInstitution();
950 $data[
"department"] = $this->
object->getDepartment();
951 $data[
"street"] = $this->
object->getStreet();
952 $data[
"city"] = $this->
object->getCity();
953 $data[
"zipcode"] = $this->
object->getZipcode();
954 $data[
"country"] = $this->
object->getCountry();
955 $data[
"sel_country"] = $this->
object->getSelectedCountry();
956 $data[
"phone_office"] = $this->
object->getPhoneOffice();
957 $data[
"phone_home"] = $this->
object->getPhoneHome();
958 $data[
"phone_mobile"] = $this->
object->getPhoneMobile();
959 $data[
"fax"] = $this->
object->getFax();
960 $data[
"email"] = $this->
object->getEmail();
961 $data[
"second_email"] = $this->
object->getSecondEmail();
962 $data[
"hobby"] = $this->
object->getHobby();
963 $data[
"referral_comment"] = $this->
object->getComment();
966 $data[
"interests_general"] = $this->
object->getGeneralInterests();
967 $data[
"interests_help_offered"] = $this->
object->getOfferingHelp();
968 $data[
"interests_help_looking"] = $this->
object->getLookingForHelp();
971 $data[
"matriculation"] = $this->
object->getMatriculation();
972 $data[
"client_ip"] = $this->
object->getClientIP();
976 $user_defined_data = $this->
object->getUserDefinedData();
977 foreach ($this->user_defined_fields->getDefinitions() as $field_id => $definition) {
978 $data[
"udf_" . $field_id] = $user_defined_data[
"f_" . $field_id] ??
"";
982 $data[
"language"] = $this->
object->getLanguage();
983 $data[
"skin_style"] = $this->
object->skin .
":" . $this->
object->prefs[
"style"];
984 $data[
"hits_per_page"] = $this->
object->prefs[
"hits_per_page"] ??
"";
985 $data[
"hide_own_online_status"] = $this->
object->prefs[
"hide_own_online_status"] ??
"";
986 $data[
'bs_allow_to_contact_me'] = ($this->
object->prefs[
'bs_allow_to_contact_me'] ??
"") ==
'y';
987 $data[
'chat_osc_accept_msg'] = ($this->
object->prefs[
'chat_osc_accept_msg'] ??
"") ==
'y';
988 $data[
'chat_broadcast_typing'] = ($this->
object->prefs[
'chat_broadcast_typing'] ??
"") ==
'y';
989 $data[
"session_reminder_enabled"] = (
int) ($this->
object->prefs[
"session_reminder_enabled"] ?? 0);
991 $data[
"send_mail"] = (($this->
object->prefs[
'send_info_mails'] ??
"") ==
'y');
993 $this->form_gui->setValuesByArray($data);
1004 $ilCtrl = $DIC[
'ilCtrl'];
1006 $ilClientIniFile = $DIC[
'ilClientIniFile'];
1012 $this->form_gui->setFormAction($ilCtrl->
getFormAction($this));
1013 if ($a_mode ==
"create") {
1014 $this->form_gui->setTitle(
$lng->
txt(
"usr_new"));
1016 $this->form_gui->setTitle(
$lng->
txt(
"usr_edit"));
1021 $sec_l->setTitle(
$lng->
txt(
"login_data"));
1022 $this->form_gui->addItem($sec_l);
1028 foreach ($active_auth_modes as $auth_name => $auth_key) {
1029 if ($auth_name ==
'default') {
1033 #$name = $this->lng->txt('auth_'.$auth_name); 1037 $option[$auth_name] =
$name;
1039 $am->setOptions($option);
1040 $this->form_gui->addItem($am);
1042 if ($a_mode ==
"edit") {
1045 $this->form_gui->addItem(
$id);
1051 if ($a_mode ==
"edit") {
1052 $lo->setCurrentUserId($this->
object->getId());
1057 $this->
lng->txt(
'usr_loginname_history_info'),
1059 $last_history_entry[0]
1066 $this->form_gui->addItem($lo);
1069 || !in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->object->getId()))
1070 || in_array(
SYSTEM_ROLE_ID, $this->rbac_review->assignedRoles($this->user->getId()))) {
1078 $pw->setMaxLength(80);
1079 $pw->setValidateAuthPost(
"auth_mode");
1080 if ($a_mode ==
"create") {
1081 $pw->setRequiredOnAuth(
true);
1084 $this->form_gui->addItem($pw);
1092 $ext->setMaxLength(250);
1093 $ext->setInfo(
$lng->
txt(
"user_ext_account_desc"));
1094 $this->form_gui->addItem($ext);
1099 $sec_si->setTitle($this->
lng->txt(
"system_information"));
1100 $this->form_gui->addItem($sec_si);
1103 if ($a_mode ==
"edit") {
1104 $sia = array(
"create_date",
"approve_date",
"agree_date",
"last_login",
"owner");
1105 foreach ($sia as
$a) {
1107 $this->form_gui->addItem($siai);
1114 $this->form_gui->addItem($ac);
1122 $radg->setRequired(
true);
1124 $radg->addOption($op1);
1126 $radg->addOption($op2);
1131 $acfrom->setShowTime(
true);
1132 $acfrom->setMinuteStepSize(1);
1133 $op2->addSubItem($acfrom);
1138 $acto->setShowTime(
true);
1139 $acto->setMinuteStepSize(1);
1140 $op2->addSubItem($acto);
1143 $this->form_gui->addItem($radg);
1155 $sec_pd->setTitle($this->
lng->txt(
"personal_data"));
1156 $this->form_gui->addItem($sec_pd);
1164 $gndr->addOption($neutral);
1166 $gndr->addOption($female);
1168 $gndr->addOption($male);
1169 $this->form_gui->addItem($gndr);
1174 "firstname" =>
true,
1178 foreach ($fields as $field =>
$req) {
1179 $max_len = $field ===
'title' ? 32 : 128;
1182 $caption = ($field ==
"title")
1187 $inp->setMaxLength($max_len);
1188 $inp->setRequired(
$req);
1189 $this->form_gui->addItem($inp);
1196 if ($a_mode ==
"edit" || $a_mode ==
"upload") {
1204 $this->form_gui->addItem($pi);
1210 $this->form_gui->addItem($birthday);
1216 array(
"institution", 40, 80),
1217 array(
"department", 40, 80),
1218 array(
"street", 40, 40),
1219 array(
"city", 40, 40),
1220 array(
"zipcode", 10, 10),
1221 array(
"country", 40, 40),
1222 array(
"sel_country"),
1223 array(
"phone_office", 30, 30),
1224 array(
"phone_home", 30, 30),
1225 array(
"phone_mobile", 30, 30),
1226 array(
"fax", 30, 30)
1230 foreach ($fields as $field) {
1234 $sec_cd->setTitle($this->
lng->txt(
"contact_data"));
1235 $this->form_gui->addItem($sec_cd);
1238 if ($a_mode ==
"edit") {
1241 $this->form_gui->addItem($orgus);
1245 if ($field[0] !=
"sel_country") {
1247 $inp->setSize($field[1]);
1248 $inp->setMaxLength($field[2]);
1249 $inp->setRequired(isset(
$settings[
"require_" . $field[0]]) &&
1251 $this->form_gui->addItem($inp);
1257 $this->form_gui->addItem($cs);
1267 $em->setMaxLength(128);
1268 $this->form_gui->addItem($em);
1275 $this->form_gui->addItem($em);
1283 $hob->setRequired(isset(
$settings[
"require_hobby"]) &&
1285 $this->form_gui->addItem($hob);
1293 $rc->setRequired(isset(
$settings[
"require_referral_comment"]) &&
1295 $this->form_gui->addItem($rc);
1301 $sh->setTitle(
$lng->
txt(
"interests"));
1302 $this->form_gui->addItem($sh);
1304 $multi_fields = array(
"interests_general",
"interests_help_offered",
"interests_help_looking");
1305 foreach ($multi_fields as $multi_field) {
1309 $ti->setMulti(
true);
1310 $ti->setMaxLength(40);
1312 $ti->setRequired(isset(
$settings[
"require_" . $multi_field]) &&
1314 $this->form_gui->addItem($ti);
1321 $sec_oi->setTitle($this->
lng->txt(
"user_profile_other"));
1322 $this->form_gui->addItem($sec_oi);
1329 $mr->setMaxLength(40);
1330 $mr->setRequired(isset(
$settings[
"require_matriculation"]) &&
1332 $this->form_gui->addItem($mr);
1338 $ip->setMaxLength(255);
1339 $ip->setInfo($this->
lng->txt(
"current_ip") .
" " .
$_SERVER[
"REMOTE_ADDR"] .
" <br />" .
1340 '<span class="warning">' . $this->
lng->txt(
"current_ip_alert") .
"</span>");
1341 $this->form_gui->addItem($ip);
1352 foreach ($all_defs as $definition) {
1355 $this->form_gui->addItem($f_property);
1361 $a_mode ==
'create' or
1371 $sec_st->setTitle($this->
lng->txt(
"settings"));
1372 $this->form_gui->addItem($sec_st);
1376 if ($a_mode ==
"create") {
1381 $role->setRequired(
true);
1382 $role->setValue($this->default_role);
1383 $role->setOptions($this->selectable_roles);
1384 $this->form_gui->addItem($role);
1389 $languages = $this->
lng->getInstalledLanguages();
1390 $this->
lng->loadLanguageModule(
'meta');
1392 foreach ($languages as $l) {
1393 $options[$l] =
$lng->
txt(
"meta_l_" . $l);
1396 $this->
lng->txt(
'language'),
1399 $lang->setOptions($options);
1401 if (count($options) <= 1) {
1402 $lang->setDisabled(
true);
1404 $this->form_gui->addItem(
$lang);
1414 $skins = ilStyleDefinition::getAllSkins();
1417 if (is_array($skins)) {
1421 foreach ($skins as $skin) {
1422 foreach ($skin->getStyles() as $style) {
1427 $options[$skin->getId() .
":" . $style->getId()] = $skin->getName() .
" / " . $style->getName();
1432 $sk->setValue($ilClientIniFile->readVariable(
"layout",
"skin") .
1433 ":" . $ilClientIniFile->readVariable(
"layout",
"style"));
1435 $this->form_gui->addItem($sk);
1444 $options = array(10 => 10,
1451 9999 => $this->
lng->txt(
"no_limit")
1453 $hpp->setOptions($options);
1454 $hpp->setValue(
$ilSetting->get(
"hits_per_page"));
1455 $this->form_gui->addItem($hpp);
1462 $default = (
$ilSetting->get(
'hide_own_online_status') ==
"n")
1463 ? $this->
lng->txt(
"user_awrn_show")
1464 : $this->
lng->txt(
"user_awrn_hide");
1467 "" => $this->
lng->txt(
"user_awrn_default") .
" (" . $default .
")",
1468 "n" => $this->
lng->txt(
"user_awrn_show"),
1469 "y" => $this->
lng->txt(
"user_awrn_hide")
1472 $os->setOptions($options);
1473 $os->setDisabled((
bool)
$ilSetting->get(
"usr_settings_disable_hide_own_online_status"));
1474 $os->setInfo(
$lng->
txt(
"awrn_hide_from_awareness_info"));
1475 $this->form_gui->addItem($os);
1485 if ($a_mode ==
'create') {
1488 $this->form_gui->addItem($os);
1493 if ($a_mode ==
'create') {
1496 $this->form_gui->addItem($chat_osc_acm);
1499 if ((
int)
$ilSetting->get(
'session_reminder_enabled')) {
1502 $this->form_gui->addItem($cb);
1508 $sec_op->setTitle($this->
lng->txt(
"options"));
1509 $this->form_gui->addItem($sec_op);
1516 $se->setChecked((
$ilUser->getPref(
'send_info_mails') ==
'y'));
1517 $this->form_gui->addItem($se);
1523 $this->form_gui->addItem($irf);
1528 if ($a_mode ==
"create" || $a_mode ==
"save") {
1529 $this->form_gui->addCommandButton(
"save",
$lng->
txt(
"save"));
1531 if ($a_mode ==
"edit" || $a_mode ==
"update") {
1532 $this->form_gui->addCommandButton(
"update",
$lng->
txt(
"save"));
1534 $this->form_gui->addCommandButton(
"cancel",
$lng->
txt(
"cancel"));
1551 return (
bool) (
$settings[
'usr_settings_changeable_lua_' . $a_field] ??
false);
1562 $rbacsystem = $DIC[
'rbacsystem'];
1566 !$rbacsystem->checkAccess(
'visible,read', $this->usrf_ref_id)) {
1567 $this->
ilias->raiseError($this->
lng->txt(
"msg_no_perm_modify_user"), $this->
ilias->error_obj->MESSAGE);
1573 if (!$rbacsystem->checkAccess(
'cat_administrate_users', $this->object->getTimeLimitOwner())) {
1574 $this->
ilias->raiseError($this->
lng->txt(
"msg_no_perm_modify_user"), $this->
ilias->error_obj->MESSAGE);
1578 $userfile_input = $this->form_gui->getItemByPostVar(
"userfile");
1580 if ($_FILES[
"userfile"][
"tmp_name"] ==
"") {
1581 if ($userfile_input->getDeletionFlag()) {
1582 $this->
object->removeUserPicture();
1586 if ($_FILES[
"userfile"][
"size"] == 0) {
1587 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"msg_no_file"));
1590 $image_dir = $webspace_dir .
"/usr_images";
1591 $store_file =
"usr_" . $this->
object->getId() .
"." .
"jpg";
1594 $this->
object->setPref(
"profile_image", $store_file);
1595 $this->
object->update();
1598 $pi = pathinfo($_FILES[
"userfile"][
"name"]);
1599 $uploaded_file = $image_dir .
"/upload_" . $this->
object->getId() .
"." . $pi[
"extension"];
1601 $_FILES[
"userfile"][
"tmp_name"],
1602 $_FILES[
"userfile"][
"name"],
1606 $this->tpl->setOnScreenMessage(
'failure', $this->
lng->txt(
"upload_error",
true));
1607 $this->
ctrl->redirect($this,
"showProfile");
1609 chmod($uploaded_file, 0770);
1613 $show_file =
"$image_dir/usr_" . $this->
object->getId() .
".jpg";
1614 $thumb_file =
"$image_dir/usr_" . $this->
object->getId() .
"_small.jpg";
1615 $xthumb_file =
"$image_dir/usr_" . $this->
object->getId() .
"_xsmall.jpg";
1616 $xxthumb_file =
"$image_dir/usr_" . $this->
object->getId() .
"_xxsmall.jpg";
1625 $uploaded_file .
"[0] -geometry 200x200^ -gravity center -extent 200x200 -quality 100 JPEG:" . $show_file
1628 $uploaded_file .
"[0] -geometry 100x100^ -gravity center -extent 100x100 -quality 100 JPEG:" . $thumb_file
1631 $uploaded_file .
"[0] -geometry 75x75^ -gravity center -extent 75x75 -quality 100 JPEG:" . $xthumb_file
1634 $uploaded_file .
"[0] -geometry 30x30^ -gravity center -extent 30x30 -quality 100 JPEG:" . $xxthumb_file
1651 $image_dir = $webspace_dir .
"/usr_images";
1652 $file = $image_dir .
"/usr_" . $this->
object->getId() .
"." .
"jpg";
1653 $thumb_file = $image_dir .
"/usr_" . $this->
object->getId() .
"_small.jpg";
1654 $xthumb_file = $image_dir .
"/usr_" . $this->
object->getId() .
"_xsmall.jpg";
1655 $xxthumb_file = $image_dir .
"/usr_" . $this->
object->getId() .
"_xxsmall.jpg";
1656 $upload_file = $image_dir .
"/upload_" . $this->
object->getId();
1659 $this->
object->setPref(
"profile_image",
"");
1660 $this->
object->update();
1661 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"user_image_removed"));
1663 if (is_file($file)) {
1666 if (is_file($thumb_file)) {
1667 unlink($thumb_file);
1669 if (is_file($xthumb_file)) {
1670 unlink($xthumb_file);
1672 if (is_file($xxthumb_file)) {
1673 unlink($xxthumb_file);
1675 if (is_file($upload_file)) {
1676 unlink($upload_file);
1689 $rbacsystem = $DIC[
'rbacsystem'];
1690 $rbacadmin = $DIC[
'rbacadmin'];
1691 $rbacreview = $DIC[
'rbacreview'];
1693 if (!$rbacsystem->checkAccess(
"edit_roleassignment", $this->usrf_ref_id)) {
1694 $this->
ilias->raiseError(
1695 $this->
lng->txt(
"msg_no_perm_assign_role_to_user"),
1696 $this->
ilias->error_obj->MESSAGE
1700 $selected_roles = $this->user_request->getRoleIds();
1701 $posted_roles = $this->user_request->getPostedRoleIds();
1708 $global_roles_all = $rbacreview->getGlobalRoles();
1709 $assigned_roles_all = $rbacreview->assignedRoles($this->
object->getId());
1710 $assigned_roles = array_intersect($assigned_roles_all, $posted_roles);
1711 $assigned_global_roles_all = array_intersect($assigned_roles_all, $global_roles_all);
1712 $assigned_global_roles = array_intersect($assigned_global_roles_all, $posted_roles);
1714 $user_not_allowed_to_change_admin_role_assginements =
1715 !in_array(
SYSTEM_ROLE_ID, $rbacreview->assignedRoles($this->user->getId()));
1717 if ($user_not_allowed_to_change_admin_role_assginements
1722 $posted_global_roles = array_intersect($selected_roles, $global_roles_all);
1724 if (empty($selected_roles) && count($assigned_roles_all) === count($assigned_roles)
1725 || empty($posted_global_roles) && count($assigned_global_roles_all) === count($assigned_global_roles)) {
1726 $this->tpl->setOnScreenMessage(
1728 $this->
lng->txt(
'msg_min_one_role') .
'<br/>' . $this->
lng->txt(
'action_aborted'),
1731 $this->
ctrl->redirect($this,
'roleassignment');
1734 foreach (array_diff($assigned_roles, $selected_roles) as $role) {
1736 || $user_not_allowed_to_change_admin_role_assginements && $role ===
SYSTEM_ROLE_ID) {
1739 $rbacadmin->deassignUser($role, $this->
object->getId());
1742 foreach (array_diff($selected_roles, $assigned_roles) as $role) {
1744 || $user_not_allowed_to_change_admin_role_assginements && $role ===
SYSTEM_ROLE_ID) {
1747 $rbacadmin->assignUser($role, $this->
object->getId(),
false);
1751 $this->
object->update();
1753 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
"msg_roleassignment_changed"),
true);
1755 if (strtolower($this->requested_baseClass) ==
'iladministrationgui') {
1756 $this->
ctrl->redirect($this,
'roleassignment');
1758 $this->
ctrl->redirectByClass(
'ilobjcategorygui',
'listUsers');
1769 $rbacsystem = $DIC[
'rbacsystem'];
1770 $ilTabs = $DIC[
'ilTabs'];
1773 $ilTabs->activateTab(
"role_assignment");
1776 || !$rbacsystem->checkAccess(
"edit_roleassignment", $this->usrf_ref_id)
1779 $this->
ilias->raiseError(
1780 $this->
lng->txt(
"msg_no_perm_assign_role_to_user"),
1781 $this->
ilias->error_obj->MESSAGE
1786 $req_filtered_roles = $this->user_request->getFilteredRoles();
1789 ($req_filtered_roles > 0) ? $req_filtered_roles : $filtered_roles
1793 if ($filtered_roles > 5) {
1797 $this->tpl->addBlockFile(
'ADM_CONTENT',
'adm_content',
'tpl.usr_role_assignment.html',
'Services/User');
1802 $tab->parse($this->
object->getId());
1803 $this->tpl->setVariable(
"ROLES_TABLE", $tab->getHTML());
1812 $table_gui->writeFilterToSession();
1813 $table_gui->resetOffset();
1823 $table_gui->resetOffset();
1824 $table_gui->resetFilter();
1836 for (
$i = 0;
$i <= 60;
$i++) {
1837 $days[
$i] =
$i < 10 ?
"0" .
$i :
$i;
1842 for (
$i = 0;
$i < 24;
$i++) {
1843 $days[
$i] =
$i < 10 ?
"0" .
$i :
$i;
1848 for (
$i = 1;
$i < 32;
$i++) {
1849 $days[
$i] =
$i < 10 ?
"0" .
$i :
$i;
1854 for (
$i = 1;
$i < 13;
$i++) {
1855 $month[
$i] =
$i < 10 ?
"0" .
$i :
$i;
1860 if ($a_selected < date(
'Y')) {
1861 $start = $a_selected;
1866 for (
$i = $start;
$i < ((
int) date(
"Y") + 11); ++
$i) {
1877 $a_time_arr[
"hour"],
1878 $a_time_arr[
"minute"],
1879 $a_time_arr[
"second"],
1880 $a_time_arr[
"month"],
1893 $action[0] = $this->
lng->txt(
'assigned_roles');
1894 $action[1] = $this->
lng->txt(
'all_roles');
1895 $action[2] = $this->
lng->txt(
'all_global_roles');
1896 $action[3] = $this->
lng->txt(
'all_local_roles');
1897 $action[4] = $this->
lng->txt(
'internal_local_roles_only');
1898 $action[5] = $this->
lng->txt(
'non_internal_local_roles_only');
1917 $ilLocator = $DIC[
'ilLocator'];
1919 $ilLocator->clearItems();
1921 if ($this->admin_mode ==
"settings") {
1922 $this->
ctrl->setParameterByClass(
1923 "ilobjsystemfoldergui",
1927 $ilLocator->addItem(
1928 $this->
lng->txt(
"administration"),
1929 $this->
ctrl->getLinkTargetByClass(array(
"iladministrationgui",
"ilobjsystemfoldergui"),
""),
1934 $ilLocator->addItem(
1938 $this->
ctrl->getLinkTargetByClass(
"ilobjuserfoldergui",
"view")
1941 $ilLocator->addItem(
1945 $this->
ctrl->getLinkTargetByClass(
"ilobjrolefoldergui",
"view")
1949 if ($this->obj_id > 0) {
1950 $ilLocator->addItem(
1951 $this->
object->getTitle(),
1952 $this->
ctrl->getLinkTarget($this,
"view")
1958 public function __sendProfileMail():
string 1964 if ($this->user_request->getSendMail() !=
'y') {
1967 if (!strlen($this->
object->getEmail())) {
1973 $usr_lang->loadLanguageModule(
'crs');
1974 $usr_lang->loadLanguageModule(
'registration');
1977 $senderFactory =
$GLOBALS[
'DIC'][
"mail.mime.sender.factory"];
1980 $mmail->From($senderFactory->system());
1982 $mailOptions = new \ilMailOptions($this->
object->getId());
1983 $mmail->To($mailOptions->getExternalEmailAddresses());
1986 $subject = $usr_lang->txt(
"profile_changed");
1989 $body = $usr_lang->txt(
"reg_mail_body_salutation")
1990 .
" " . $this->
object->getFullname() .
",\n\n";
1992 $date = $this->
object->getApproveDate();
1994 if ((time() - strtotime($date)) < 10) {
1995 $body .= $usr_lang->txt(
'reg_mail_body_approve') .
"\n\n";
1997 $body .= $usr_lang->txt(
'reg_mail_body_profile_changed') .
"\n\n";
2001 if ($this->user_request->getPassword() !=
'') {
2002 $body .= $usr_lang->txt(
"reg_mail_body_text2") .
"\n" .
2003 ILIAS_HTTP_PATH .
"/login.php?client_id=" .
$ilias->client_id .
"\n" .
2004 $usr_lang->txt(
"login") .
": " . $this->
object->getLogin() .
"\n" .
2005 $usr_lang->txt(
"passwd") .
": " . $this->user_request->getPassword() .
"\n\n";
2007 $body .= $usr_lang->txt(
"reg_mail_body_text3") .
"\n";
2008 $body .= $this->
object->getProfileAsString($usr_lang);
2012 $mmail->Subject($subject,
true);
2013 $mmail->Body($body);
2016 return "<br/>" . $this->
lng->txt(
"mail_sent");
2022 public static function _goto(
string $a_target):
void 2029 $ilCtrl = $DIC[
'ilCtrl'];
2033 $class = ilPersonalProfileGUI::class;
2041 if ($a_target == md5(
"usrdelown")) {
2045 $ilCtrl->
redirectByClass([
'ildashboardgui',
'ilpersonalsettingsgui'],
"deleteOwnAccount3");
2047 exit(
"This account is not flagged for deletion.");
2051 if (substr($a_target, -4) ==
"_bdg") {
2055 if (
'registration' == $a_target) {
2056 $ilCtrl->
redirectByClass(array(
'ilStartUpGUI',
'ilAccountRegistrationGUI'),
'');
2057 } elseif (
'nameassist' == $a_target) {
2058 $ilCtrl->
redirectByClass(array(
'ilStartUpGUI',
'ilPasswordAssistanceGUI'),
'showUsernameAssistanceForm');
2059 } elseif (
'pwassist' == $a_target) {
2060 $ilCtrl->
redirectByClass(array(
'ilStartUpGUI',
'ilPasswordAssistanceGUI'),
'');
2061 } elseif (
'agreement' == $a_target) {
2064 $ilCtrl->
redirectByClass(array(
'ildashboardgui',
'ilpersonalprofilegui'),
'showUserAgreement');
2066 $ilCtrl->
redirectByClass(array(
'ilStartUpGUI'),
'showTermsOfService');
2070 if (strpos($a_target,
"n") === 0) {
2075 if (strpos($a_target,
'contact_approved') !==
false) {
2076 $cmd =
'approveContactRequest';
2077 } elseif (strpos($a_target,
'contact_ignored') !==
false) {
2078 $cmd =
'ignoreContactRequest';
2091 $profile_maybe_incomplete =
false;
2094 $elm = $this->form_gui->getItemByPostVar($fieldName);
2100 if ($elm->getRequired()) {
2101 $profile_maybe_incomplete =
true;
2104 $elm->setRequired(
false);
2109 foreach ($user_defined_fields->
getDefinitions() as $definition) {
2110 $elm = $this->form_gui->getItemByPostVar(
'udf_' . $definition[
'field_id']);
2115 if ($elm->getRequired() && $definition[
'required']) {
2116 $profile_maybe_incomplete =
true;
2119 $elm->setRequired(
false);
2123 return $profile_maybe_incomplete;
2126 protected function showAcceptedTermsOfService():
void 2129 $agreeDate = $this->form_gui->getItemByPostVar(
'agree_date');
2130 if ($agreeDate && $agreeDate->getValue()) {
2131 $this->
lng->loadLanguageModule(
'tos');
2132 $helper = new \ilTermsOfServiceHelper();
2135 $entity = $helper->getCurrentAcceptanceForUser(
$user);
2136 if ($entity->getId()) {
2137 $modal = $this->uiFactory
2140 $this->uiFactory->modal()->lightboxTextPage($entity->getText(), $entity->getTitle())
2143 $titleLink = $this->uiFactory
2145 ->shy($entity->getTitle(),
'#')
2146 ->withOnClick($modal->getShowSignal());
2149 $this->
lng->txt(
'tos_agreement_document'),
2153 $agreementDocument->
setValue($this->uiRenderer->render([$titleLink, $modal]));
2154 $agreeDate->addSubItem($agreementDocument);
2156 } elseif ($agreeDate) {
2157 $agreeDate->setValue($this->
lng->txt(
'tos_not_accepted_yet'));
2165 !$this->rbac_system->checkAccess(
'visible,read', $this->usrf_ref_id)
2166 || !$this->rbac_system->checkAccess(
'write', $this->usrf_ref_id)
2172 $this->
access->filterUserIdsByPositionOfCurrentUser(
2181 $this->
ilias->raiseError($this->
lng->txt(
'msg_no_perm_modify_user'), $this->
ilias->error_obj->MESSAGE);
2187 && !$this->rbac_system->checkAccess(
'cat_administrate_users', $this->object->getTimeLimitOwner())) {
2188 $this->
ilias->raiseError($this->
lng->txt(
'msg_no_perm_modify_user'), $this->
ilias->error_obj->MESSAGE);
__showUserDefinedFields()
static getWebspaceDir(string $mode="filesystem")
get webspace directory
setUTitle(string $a_str)
set user title (note: don't mix up this method with setTitle() that is derived from ilObject and sets...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static get(string $a_var)
setTimeLimitUnlimited(bool $a_unlimited)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static isProfileIncomplete(ilObjUser $a_user, bool $a_include_udf=true, bool $a_personal_data_only=true)
Check if all required personal data fields are set.
setClientIP(string $a_str)
isCurrentUserBasedOnPositionsAllowedTo(string $permission, array $on_user_ids)
ilUserDefinedFields $user_defined_fields
assignSaveObject()
assign users to role
getValues()
Get values from user object and put them into form.
redirectByClass( $a_class, string $a_cmd=null, string $a_anchor=null, bool $is_async=false)
createObject()
Display user create form.
static getAuthModeTranslation(string $a_auth_key, string $auth_name='')
static _getAuthMode(?string $a_auth_mode)
string $requested_baseClass
static _lookupActivatedStyle(string $a_skin, string $a_style)
lookup if a style is activated
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
handleIgnoredRequiredFields()
Handles ignored required fields by changing the required flag of form elements.
setMatriculation(string $a_str)
Additional user data fields definition.
prepareOutput(bool $show_sub_objects=true)
setPhoneOffice(string $a_str)
uploadUserPictureObject()
upload user image (original method by ratana ty)
Class ChatMainBarProvider .
removeUserPictureObject()
remove user image
static stripSlashes(string $a_str, bool $a_strip_html=true, string $a_allow="")
static isConvertVersionAtLeast(string $a_version)
Compare convert version numbers.
const SYSTEM_USER_ID
This file contains constants for PHPStan analyis, see: https://phpstan.org/config-reference#constants...
static getImagePath(string $img, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setSelectedCountry(string $a_val)
Set selected country (selection drop down)
setFullname()
builds a string with title + firstname + lastname method is used to build fullname in member variable...
loadUserDefinedDataFromForm(?ilObjUser $user=null)
static formatDate(ilDateTime $date, bool $a_skip_day=false, bool $a_include_wd=false, bool $include_seconds=false)
initForm(string $a_mode)
Init user form.
static _lookupId($a_user_str)
setParameterByClass(string $a_class, string $a_parameter, $a_value)
static getIgnorableRequiredSettings()
Returns an array of all ignorable profiel fields.
addAdminLocatorItems(bool $do_not_add_object=false)
should be overwritten to add object specific items (repository items are preloaded) ...
loadLanguageModule(string $a_module)
Load language module.
static escapeShellArg(string $a_arg)
static _getActiveAuthModes()
__unsetSessionVariables()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
setTimeLimitUntil(?int $a_until)
static _getAuthModeName($a_auth_key)
const LP_CONTEXT_USER_FOLDER
isSettingChangeable(string $a_field)
setInstitution(string $a_str)
setBackTarget(string $a_text, string $a_link)
set back tab target
setLatitude(?string $a_latitude)
setComment(string $a_str)
static _allowPasswordModificationByAuthMode($a_auth_mode)
Allow password modification.
static _lookupObjId(int $ref_id)
setExternalAccount(string $a_str)
catch(\Exception $e) $req
setBirthday(?string $a_birthday)
static _getLastHistoryDataByUserId(int $a_usr_id)
Returns the last used loginname and the changedate of the passed user_id.
static _enabledUserRelatedData()
setActive(bool $a_active, int $a_owner=0)
set user active state and updates system fields appropriately
static _enabledLearningProgress()
__checkUserDefinedRequiredFields()
const ORG_OP_EDIT_USER_ACCOUNTS
loadValuesFromForm(string $a_mode='create')
ilGlobalTemplateInterface $tpl
setDepartment(string $a_str)
setContent(string $a_html)
Sets content for standard template.
setOfferingHelp(?array $value=null)
resetFilterObject()
Reset filter.
setPhoneHome(string $a_str)
__toUnix(array $a_time_arr)
Class ilObjectGUI Basic methods of all Output classes.
const UDF_TYPE_TEXT
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
header include for all ilias files.
ILIAS UI Renderer $uiRenderer
static moveUploadedFile(string $a_file, string $a_name, string $a_target, bool $a_raise_errors=true, string $a_mode="move_uploaded")
move uploaded file
editObject()
Display user edit form.
clearParametersByClass(string $a_class)
static _isExternalAccountEnabled()
Check if an external account name is required.
static getPasswordRequirementsInfo()
infotext for ilPasswordInputGUI setInfo()
setCountry(string $a_str)
static _getPersonalPicturePath(int $a_usr_id, string $a_size="small", bool $a_force_pic=false, bool $a_prevent_no_photo_image=false, bool $html_export=false)
setPhoneMobile(string $a_str)
setLastname(string $a_str)
setTargetScript(string $a_target_script)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
__construct(Container $dic, ilPlugin $plugin)
ILIAS UI Factory $uiFactory
applyFilterObject()
Apply filter.
setTimeLimitOwner(int $a_owner)
This class represents a text area property in a property form.
saveObject()
save user data
setSecondEmail(?string $second_email)
ILIAS User StandardGUIRequest $user_request
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples
updateObject()
updates object entry in object_data
setLongitude(?string $a_longitude)
setLocationZoom(?int $a_locationzoom)
static yn2tf(string $a_yn)
setZipcode(string $a_str)
ilPropertyFormGUI $form_gui
setUserDefinedData(array $a_data)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static _getAssignUsersStatus(int $a_role_id)
static _lookupType(int $id, bool $reference=false)
setGeneralInterests(?array $value=null)
setTimeLimitFrom(?int $a_from)
getFormAction(object $a_gui_obj, string $a_fallback_cmd=null, string $a_anchor=null, bool $is_async=false, bool $has_xml_style=false)
setFirstname(string $a_str)
static clear(string $a_var)
getChangeableLocalUserAdministrationDefinitions()
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static set(string $a_var, $a_val)
Set a value.
setAuthMode(?string $a_str)
static execConvert(string $args)
execute convert command
__getDateSelect(string $a_type, string $a_varname, string $a_selected)
static _getInstallationSignature()
roleassignmentObject()
display role assignment panel
__construct( $a_data, int $a_id, bool $a_call_by_reference=false, bool $a_prepare_output=true, ILIAS\UI\Factory $uiFactory=null, ILIAS\UI\Renderer $uiRenderer=null)
static _lookupLogin(int $a_user_id)
setLookingForHelp(?array $value=null)