ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilAccountRegistrationGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
23{
24 protected $registration_settings; // [object]
25 protected $code_enabled; // [bool]
26 protected $code_was_used; // [bool]
28 protected $userObj;
29
32
33 public function __construct()
34 {
35 global $DIC;
36
37 $ilCtrl = $DIC->ctrl();
38 $tpl = $DIC['tpl'];
39 $lng = $DIC->language();
40
41 $this->tpl = &$tpl;
42
43 $this->ctrl = &$ilCtrl;
44 $this->ctrl->saveParameter($this, 'lang');
45
46 $this->lng = &$lng;
47 $this->lng->loadLanguageModule('registration');
48
49 $this->registration_settings = new ilRegistrationSettings();
50
51 $this->code_enabled = ($this->registration_settings->registrationCodeRequired() ||
52 $this->registration_settings->getAllowCodes());
53
54 $this->termsOfServiceEvaluation = $DIC['tos.document.evaluator'];
55 }
56
57 public function executeCommand()
58 {
59 global $DIC;
60
61 $ilErr = $DIC['ilErr'];
62 $tpl = $DIC['tpl'];
63
64 if ($this->registration_settings->getRegistrationType() == IL_REG_DISABLED) {
65 $ilErr->raiseError($this->lng->txt('reg_disabled'), $ilErr->FATAL);
66 }
67
68 $next_class = $this->ctrl->getNextClass($this);
69 $cmd = $this->ctrl->getCmd();
70
71 switch ($next_class) {
72 default:
73 if ($cmd) {
74 $this->$cmd();
75 } else {
76 $this->displayForm();
77 }
78 break;
79 }
80 $tpl->setPermanentLink('usr', null, 'registration');
81 $tpl->show();
82 return true;
83 }
84
88 public function displayForm()
89 {
90
91 ilStartUpGUI::initStartUpTemplate(array('tpl.usr_registration.html', 'Services/Registration'), true);
92 $this->tpl->setVariable('TXT_PAGEHEADLINE', $this->lng->txt('registration'));
93
94 if (!$this->form) {
95 $this->__initForm();
96 }
97 $this->tpl->setVariable('FORM', $this->form->getHTML());
98 }
99
100 protected function __initForm()
101 {
102 global $DIC;
103
104 $ilUser = $DIC->user();
105
106 $ilUser->setLanguage($this->lng->getLangKey());
107 $ilUser->setId(ANONYMOUS_USER_ID);
108
109 // needed for multi-text-fields (interests)
111
112 $this->form = new ilPropertyFormGUI();
113 $this->form->setFormAction($this->ctrl->getFormAction($this));
114
115
116 // code handling
117
118 if ($this->code_enabled) {
119 $field = new ilFormSectionHeaderGUI();
120 $field->setTitle($this->lng->txt('registration_codes_type_reg'));
121 $this->form->addItem($field);
122 $code = new ilTextInputGUI($this->lng->txt("registration_code"), "usr_registration_code");
123 $code->setSize(40);
125 if ((bool) $this->registration_settings->registrationCodeRequired()) {
126 $code->setRequired(true);
127 $code->setInfo($this->lng->txt("registration_code_required_info"));
128 } else {
129 $code->setInfo($this->lng->txt("registration_code_optional_info"));
130 }
131 $this->form->addItem($code);
132 }
133
134
135 // user defined fields
136 $user_defined_data = $ilUser->getUserDefinedData();
137
138 $user_defined_fields = ilUserDefinedFields::_getInstance();
139 $custom_fields = array();
140
141 foreach ($user_defined_fields->getRegistrationDefinitions() as $field_id => $definition) {
142 $fprop = ilCustomUserFieldsHelper::getInstance()->getFormPropertyForDefinition(
143 $definition,
144 true,
145 $user_defined_data['f_' . $field_id]
146 );
147 if ($fprop instanceof ilFormPropertyGUI) {
148 $custom_fields['udf_' . $definition['field_id']] = $fprop;
149 }
150 }
151
152 // standard fields
153 $up = new ilUserProfile();
155 $up->skipGroup("preferences");
156
157 $up->setAjaxCallback(
158 $this->ctrl->getLinkTarget($this, 'doProfileAutoComplete', '', true)
159 );
160
161 $this->lng->loadLanguageModule("user");
162
163 // add fields to form
164 $up->addStandardFieldsToForm($this->form, null, $custom_fields);
165 unset($custom_fields);
166
167
168 // set language selection to current display language
169 $flang = $this->form->getItemByPostVar("usr_language");
170 if ($flang) {
171 $flang->setValue($this->lng->getLangKey());
172 }
173
174 // add information to role selection (if not hidden)
175 if ($this->code_enabled) {
176 $role = $this->form->getItemByPostVar("usr_roles");
177 if ($role && $role->getType() == "select") {
178 $role->setInfo($this->lng->txt("registration_code_role_info"));
179 }
180 }
181
182 // #11407
183 $domains = array();
184 foreach ($this->registration_settings->getAllowedDomains() as $item) {
185 if (trim($item)) {
186 $domains[] = $item;
187 }
188 }
189 if (sizeof($domains)) {
190 $mail_obj = $this->form->getItemByPostVar('usr_email');
191 $mail_obj->setInfo(sprintf(
192 $this->lng->txt("reg_email_domains"),
193 implode(", ", $domains)
194 ) . "<br />" .
195 ($this->code_enabled ? $this->lng->txt("reg_email_domains_code") : ""));
196 }
197
198 // #14272
199 if ($this->registration_settings->getRegistrationType() == IL_REG_ACTIVATION) {
200 $mail_obj = $this->form->getItemByPostVar('usr_email');
201 if ($mail_obj) { // #16087
202 $mail_obj->setRequired(true);
203 }
204 }
205
206 if (\ilTermsOfServiceHelper::isEnabled() && $this->termsOfServiceEvaluation->hasDocument()) {
207 $document = $this->termsOfServiceEvaluation->document();
208
209 $field = new ilFormSectionHeaderGUI();
210 $field->setTitle($this->lng->txt('usr_agreement'));
211 $this->form->addItem($field);
212
213 $field = new ilCustomInputGUI();
214 $field->setHTML('<div id="agreement">' . $document->content() . '</div>');
215 $this->form->addItem($field);
216
217 $field = new ilCheckboxInputGUI($this->lng->txt('accept_usr_agreement'), 'accept_terms_of_service');
218 $field->setRequired(true);
219 $field->setValue(1);
220 $this->form->addItem($field);
221 }
222
223
224 if (ilCaptchaUtil::isActiveForRegistration()) {
225 $captcha = new ilCaptchaInputGUI($this->lng->txt("captcha_code"), 'captcha_code');
226 $captcha->setRequired(true);
227 $this->form->addItem($captcha);
228 }
229
230 $this->form->addCommandButton("saveForm", $this->lng->txt("register"));
231 }
232
233 public function saveForm()
234 {
235 global $DIC;
236
237 $ilSetting = $DIC->settings();
238 $rbacreview = $DIC->rbac()->review();
239
240 $this->__initForm();
241 $form_valid = $this->form->checkInput();
242
243 // custom validation
244 $valid_code = $valid_role = false;
245
246 // code
247 if ($this->code_enabled) {
248 $code = $this->form->getInput('usr_registration_code');
249 // could be optional
250 if (
251 $this->registration_settings->registrationCodeRequired() ||
252 strlen($code)
253 ) {
254 // code validation
256 $code_obj = $this->form->getItemByPostVar('usr_registration_code');
257 $code_obj->setAlert($this->lng->txt('registration_code_not_valid'));
258 $form_valid = false;
259 } else {
260 $valid_code = true;
261
262 // get role from code, check if (still) valid
263 $role_id = (int) ilRegistrationCode::getCodeRole($code);
264 if ($role_id && $rbacreview->isGlobalRole($role_id)) {
265 $valid_role = $role_id;
266 }
267 }
268 }
269 }
270
271 // valid codes override email domain check
272 if (!$valid_code) {
273 // validate email against restricted domains
274 $email = $this->form->getInput("usr_email");
275 if ($email) {
276 // #10366
277 $domains = array();
278 foreach ($this->registration_settings->getAllowedDomains() as $item) {
279 if (trim($item)) {
280 $domains[] = $item;
281 }
282 }
283 if (sizeof($domains)) {
284 $mail_valid = false;
285 foreach ($domains as $domain) {
286 $domain = str_replace("*", "~~~", $domain);
287 $domain = preg_quote($domain);
288 $domain = str_replace("~~~", ".+", $domain);
289 if (preg_match("/^" . $domain . "$/", $email, $hit)) {
290 $mail_valid = true;
291 break;
292 }
293 }
294 if (!$mail_valid) {
295 $mail_obj = $this->form->getItemByPostVar('usr_email');
296 $mail_obj->setAlert(sprintf(
297 $this->lng->txt("reg_email_domains"),
298 implode(", ", $domains)
299 ));
300 $form_valid = false;
301 }
302 }
303 }
304 }
305
306 $error_lng_var = '';
307 if (
308 !$this->registration_settings->passwordGenerationEnabled() &&
309 !ilUtil::isPasswordValidForUserContext($this->form->getInput('usr_password'), $this->form->getInput('username'), $error_lng_var)
310 ) {
311 $passwd_obj = $this->form->getItemByPostVar('usr_password');
312 $passwd_obj->setAlert($this->lng->txt($error_lng_var));
313 $form_valid = false;
314 }
315
316 $showGlobalTermsOfServieFailure = false;
317 if (\ilTermsOfServiceHelper::isEnabled() && !$this->form->getInput('accept_terms_of_service')) {
318 $agr_obj = $this->form->getItemByPostVar('accept_terms_of_service');
319 if ($agr_obj) {
320 $agr_obj->setAlert($this->lng->txt('force_accept_usr_agreement'));
321 $form_valid = false;
322 } else {
323 $showGlobalTermsOfServieFailure = true;
324 }
325 }
326
327 // no need if role is attached to code
328 if (!$valid_role) {
329 // manual selection
330 if ($this->registration_settings->roleSelectionEnabled()) {
331 $selected_role = $this->form->getInput("usr_roles");
332 if ($selected_role && ilObjRole::_lookupAllowRegister($selected_role)) {
333 $valid_role = (int) $selected_role;
334 }
335 }
336 // assign by email
337 else {
338 $registration_role_assignments = new ilRegistrationRoleAssignments();
339 $valid_role = (int) $registration_role_assignments->getRoleByEmail($this->form->getInput("usr_email"));
340 }
341 }
342
343 // no valid role could be determined
344 if (!$valid_role) {
345 ilUtil::sendInfo($this->lng->txt("registration_no_valid_role"));
346 $form_valid = false;
347 }
348
349 // validate username
350 $login_obj = $this->form->getItemByPostVar('username');
351 $login = $this->form->getInput("username");
352 $captcha = $this->form->getItemByPostVar("captcha_code");
353 if (!ilUtil::isLogin($login)) {
354 $login_obj->setAlert($this->lng->txt("login_invalid"));
355 $form_valid = false;
356 } elseif (ilObjUser::_loginExists($login)) {
357 if(!empty($captcha) && empty($captcha->getAlert()) || empty($captcha)) {
358 $login_obj->setAlert($this->lng->txt("login_exists"));
359 }
360 $form_valid = false;
361 } elseif ((int) $ilSetting->get('allow_change_loginname') &&
362 (int) $ilSetting->get('reuse_of_loginnames') == 0 &&
364 if(!empty($captcha) && empty($captcha->getAlert()) || empty($captcha)) {
365 $login_obj->setAlert($this->lng->txt("login_exists"));
366 }
367 $form_valid = false;
368 }
369
370 if (!$form_valid) {
371 ilUtil::sendFailure($this->lng->txt('form_input_not_valid'));
372 } elseif ($showGlobalTermsOfServieFailure) {
373 $this->lng->loadLanguageModule('tos');
374 \ilUtil::sendFailure(sprintf(
375 $this->lng->txt('tos_account_reg_not_possible'),
377 ));
378 } else {
379 $password = $this->__createUser($valid_role);
381 return $this->login();
382 }
383
384 $this->form->setValuesByPost();
385 $this->displayForm();
386 return false;
387 }
388
389 protected function __createUser($a_role)
390 {
395 global $DIC;
396
397 $ilSetting = $DIC->settings();
398 $rbacadmin = $DIC->rbac()->admin();
399
400
401 // something went wrong with the form validation
402 if (!$a_role) {
403 global $DIC;
404
405 $ilias = $DIC['ilias'];
406 $ilias->raiseError("Invalid role selection in registration" .
407 ", IP: " . $_SERVER["REMOTE_ADDR"], $ilias->error_obj->FATAL);
408 }
409
410
411 $this->userObj = new ilObjUser();
412
413 $up = new ilUserProfile();
415
416 $map = array();
417 $up->skipGroup("preferences");
418 $up->skipGroup("settings");
419 $up->skipField("password");
420 $up->skipField("birthday");
421 $up->skipField("upload");
422 foreach ($up->getStandardFields() as $k => $v) {
423 if ($v["method"]) {
424 $method = "set" . substr($v["method"], 3);
425 if (method_exists($this->userObj, $method)) {
426 if ($k != "username") {
427 $k = "usr_" . $k;
428 }
429 $field_obj = $this->form->getItemByPostVar($k);
430 if ($field_obj) {
431 $this->userObj->$method($this->form->getInput($k));
432 }
433 }
434 }
435 }
436
437 $this->userObj->setFullName();
438
439 $birthday_obj = $this->form->getItemByPostVar("usr_birthday");
440 if ($birthday_obj) {
441 $birthday = $this->form->getInput("usr_birthday");
442 $this->userObj->setBirthday($birthday);
443 }
444
445 $this->userObj->setTitle($this->userObj->getFullname());
446 $this->userObj->setDescription($this->userObj->getEmail());
447
448 if ($this->registration_settings->passwordGenerationEnabled()) {
450 $password = $password[0];
451 } else {
452 $password = $this->form->getInput("usr_password");
453 }
454 $this->userObj->setPasswd($password);
455
456
457 // Set user defined data
458 $user_defined_fields = &ilUserDefinedFields::_getInstance();
459 $defs = $user_defined_fields->getRegistrationDefinitions();
460 $udf = array();
461 foreach ($_POST as $k => $v) {
462 if (substr($k, 0, 4) == "udf_") {
463 $f = substr($k, 4);
464 $udf[$f] = $v;
465 }
466 }
467 $this->userObj->setUserDefinedData($udf);
468
469 $this->userObj->setTimeLimitOwner(7);
470
471
472 $access_limit = null;
473
474 $this->code_was_used = false;
475 if ($this->code_enabled) {
476 $code_local_roles = $code_has_access_limit = null;
477
478 // #10853 - could be optional
479 $code = $this->form->getInput('usr_registration_code');
480 if ($code) {
481
482 // set code to used
484 $this->code_was_used = true;
485
486 // handle code attached local role(s) and access limitation
488 if ($code_data["role_local"]) {
489 // need user id before we can assign role(s)
490 $code_local_roles = explode(";", $code_data["role_local"]);
491 }
492 if ($code_data["alimit"]) {
493 // see below
494 $code_has_access_limit = true;
495
496 switch ($code_data["alimit"]) {
497 case "absolute":
498 $abs = date_parse($code_data["alimitdt"]);
499 $access_limit = mktime(23, 59, 59, $abs['month'], $abs['day'], $abs['year']);
500 break;
501
502 case "relative":
503 $rel = unserialize($code_data["alimitdt"]);
504 $access_limit = $rel["d"] * 86400 + $rel["m"] * 2592000 +
505 $rel["y"] * 31536000 + time();
506 break;
507 }
508 }
509 }
510 }
511
512 // code access limitation will override any other access limitation setting
513 if (!($this->code_was_used && $code_has_access_limit) &&
514 $this->registration_settings->getAccessLimitation()) {
515 $access_limitations_obj = new ilRegistrationRoleAccessLimitations();
516 switch ($access_limitations_obj->getMode($a_role)) {
517 case 'absolute':
518 $access_limit = $access_limitations_obj->getAbsolute($a_role);
519 break;
520
521 case 'relative':
522 $rel_d = (int) $access_limitations_obj->getRelative($a_role, 'd');
523 $rel_m = (int) $access_limitations_obj->getRelative($a_role, 'm');
524 $rel_y = (int) $access_limitations_obj->getRelative($a_role, 'y');
525 $access_limit = $rel_d * 86400 + $rel_m * 2592000 + $rel_y * 31536000 + time();
526 break;
527 }
528 }
529
530 if ($access_limit) {
531 $this->userObj->setTimeLimitUnlimited(0);
532 $this->userObj->setTimeLimitUntil($access_limit);
533 } else {
534 $this->userObj->setTimeLimitUnlimited(1);
535 $this->userObj->setTimeLimitUntil(time());
536 }
537
538 $this->userObj->setTimeLimitFrom(time());
539
541
542 $this->userObj->create();
543
544
545 if ($this->registration_settings->getRegistrationType() == IL_REG_DIRECT ||
546 $this->registration_settings->getRegistrationType() == IL_REG_CODES ||
547 $this->code_was_used) {
548 $this->userObj->setActive(1, 0);
549 } elseif ($this->registration_settings->getRegistrationType() == IL_REG_ACTIVATION) {
550 $this->userObj->setActive(0, 0);
551 } else {
552 $this->userObj->setActive(0, 0);
553 }
554
555 $this->userObj->updateOwner();
556
557 // set a timestamp for last_password_change
558 // this ts is needed by ilSecuritySettings
559 $this->userObj->setLastPasswordChangeTS(time());
560
561 $this->userObj->setIsSelfRegistered(true);
562
563 //insert user data in table user_data
564 $this->userObj->saveAsNew();
565
566 // setup user preferences
567 $this->userObj->setLanguage($this->form->getInput('usr_language'));
568
569 $handleDocument = \ilTermsOfServiceHelper::isEnabled() && $this->termsOfServiceEvaluation->hasDocument();
570 if ($handleDocument) {
571 $helper = new \ilTermsOfServiceHelper();
572
573 $helper->trackAcceptance($this->userObj, $this->termsOfServiceEvaluation->document());
574 }
575
576 $hits_per_page = $ilSetting->get("hits_per_page");
577 if ($hits_per_page < 10) {
578 $hits_per_page = 10;
579 }
580 $this->userObj->setPref("hits_per_page", $hits_per_page);
581 if (strlen($_GET['target']) > 0) {
582 $this->userObj->setPref('reg_target', ilUtil::stripSlashes($_GET['target']));
583 }
584 /*$show_online = $ilSetting->get("show_users_online");
585 if ($show_online == "")
586 {
587 $show_online = "y";
588 }
589 $this->userObj->setPref("show_users_online", $show_online);*/
590 $this->userObj->setPref('bs_allow_to_contact_me', $ilSetting->get('bs_allow_to_contact_me', 'n'));
591 $this->userObj->setPref('chat_osc_accept_msg', $ilSetting->get('chat_osc_accept_msg', 'n'));
592 $this->userObj->writePrefs();
593
594
595 $rbacadmin->assignUser((int) $a_role, $this->userObj->getId());
596
597 // local roles from code
598 if ($this->code_was_used && is_array($code_local_roles)) {
599 foreach (array_unique($code_local_roles) as $local_role_obj_id) {
600 // is given role (still) valid?
601 if (ilObject::_lookupType($local_role_obj_id) == "role") {
602 $rbacadmin->assignUser($local_role_obj_id, $this->userObj->getId());
603
604 // patch to remove for 45 due to mantis 21953
605 $role_obj = $GLOBALS['DIC']['rbacreview']->getObjectOfRole($local_role_obj_id);
606 switch (ilObject::_lookupType($role_obj)) {
607 case 'crs':
608 case 'grp':
609 $role_refs = ilObject::_getAllReferences($role_obj);
610 $role_ref = end($role_refs);
611 ilObjUser::_addDesktopItem($this->userObj->getId(), $role_ref, ilObject::_lookupType($role_obj));
612 break;
613 }
614 }
615 }
616 }
617
618 return $password;
619 }
620
621 protected function __distributeMails($password)
622 {
623
624 // Always send mail to approvers
625 if ($this->registration_settings->getRegistrationType() == IL_REG_APPROVE && !$this->code_was_used) {
626 $mail = new ilRegistrationMailNotification();
628 $mail->setRecipients($this->registration_settings->getApproveRecipients());
629 $mail->setAdditionalInformation(array('usr' => $this->userObj));
630 $mail->send();
631 } else {
632 $mail = new ilRegistrationMailNotification();
634 $mail->setRecipients($this->registration_settings->getApproveRecipients());
635 $mail->setAdditionalInformation(array('usr' => $this->userObj));
636 $mail->send();
637 }
638
639 // Send mail to new user
640 // Registration with confirmation link ist enabled
641 if ($this->registration_settings->getRegistrationType() == IL_REG_ACTIVATION && !$this->code_was_used) {
642
645 $mail->setRecipients(array($this->userObj));
646 $mail->setAdditionalInformation(
647 array(
648 'usr' => $this->userObj,
649 'hash_lifetime' => $this->registration_settings->getRegistrationHashLifetime()
650 )
651 );
652 $mail->send();
653 } else {
654 $accountMail = new ilAccountRegistrationMail(
655 $this->registration_settings,
656 $this->lng,
658 );
659 $accountMail->withDirectRegistrationMode()->send($this->userObj, $password, $this->code_was_used);
660 }
661 }
662
663 public function login()
664 {
665 global $DIC;
666 $f = $DIC->ui()->factory();
667 $renderer = $DIC->ui()->renderer();
668
669 ilStartUpGUI::initStartUpTemplate(array('tpl.usr_registered.html', 'Services/Registration'), false);
670 $this->tpl->setVariable('TXT_PAGEHEADLINE', $this->lng->txt('registration'));
671
672 $this->tpl->setVariable("TXT_WELCOME", $this->lng->txt("welcome") . ", " . $this->userObj->getTitle() . "!");
673 if (
674 (
675 $this->registration_settings->getRegistrationType() == IL_REG_DIRECT ||
676 $this->registration_settings->getRegistrationType() == IL_REG_CODES ||
677 $this->code_was_used
678 ) &&
679 !$this->registration_settings->passwordGenerationEnabled()
680 ) {
681 $this->tpl->setVariable('TXT_REGISTERED', $this->lng->txt('txt_registered'));
682
683 $login_link = $renderer->render($f->link()->standard($this->lng->txt('login_to_ilias'), './login.php?cmd=force_login&lang=' . $this->userObj->getLanguage()));
684 $this->tpl->setVariable('LOGIN_LINK', $login_link);
685 } elseif ($this->registration_settings->getRegistrationType() == IL_REG_APPROVE) {
686 $this->tpl->setVariable('TXT_REGISTERED', $this->lng->txt('txt_submitted'));
687 } elseif ($this->registration_settings->getRegistrationType() == IL_REG_ACTIVATION) {
688 $this->tpl->setVariable('TXT_REGISTERED', $this->lng->txt('reg_confirmation_link_successful'));
689 } else {
690 $this->tpl->setVariable('TXT_REGISTERED', $this->lng->txt('txt_registered_passw_gen'));
691 }
692 }
693
699 protected function showLogin()
700 {
701 global $DIC;
705 $auth_session = $DIC['ilAuthSession'];
706 $auth_session->setAuthenticated(
707 true,
708 $DIC->user()->getId()
709 );
710 ilInitialisation::initUserAccount();
711 return ilInitialisation::redirectToStartingPage();
712 }
713
714 protected function doProfileAutoComplete()
715 {
716 $field_id = (string) $_REQUEST["f"];
717 $term = (string) $_REQUEST["term"];
718
720 if (sizeof($result)) {
722 }
723
724 exit();
725 }
726}
$result
$tpl
Definition: ilias.php:10
exit
Definition: backend.php:16
if(!array_key_exists('domain', $_REQUEST)) $domain
Definition: resume.php:8
$_GET["client_id"]
$_POST["username"]
An exception for terminatinating execution or to throw for unit testing.
const IL_REG_ACTIVATION
Class ilAccountRegistrationGUI.
Class ilAccountRegistrationMail.
This class represents a captcha input in a property form.
This class represents a checkbox property in a property form.
This class represents a custom property in a property form.
This class represents a property in a property form.
This class represents a section header in a property form.
static encode($mixed, $suppress_native=false)
static getLogger($a_component_id)
Get component logger.
static _lookupAllowRegister($a_role_id)
check whether role is allowed in user registration or not
static _doesLoginnameExistInHistory($a_login)
Checks wether the passed loginname already exists in history.
static _loginExists($a_login, $a_user_id=0)
check if a login name already exists You may exclude a user from the check by giving his user id as 2...
static _addDesktopItem($a_usr_id, $a_item_id, $a_type, $a_par="")
add an item to user's personal desktop
static _getAllReferences($a_id)
get all reference ids of object
static _lookupType($a_id, $a_reference=false)
lookup object type
This class represents a property form user interface.
static getAutocompleteResult($a_field_id, $a_term)
static isValidRegistrationCode($a_code)
Check if given code is a valid registration code.
Class for mime mail registration notifications.
Class ilObjAuthSettingsGUI.
static getMailToAddress()
Get mailto: email.
This class represents a text property in a property form.
static getInstance()
Get instance.
static _getInstance()
Get instance.
Class ilUserProfile.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
static isLogin($a_login)
static generatePasswords($a_number)
Generate a number of passwords.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static isPasswordValidForUserContext($clear_text_password, $user, &$error_language_variable=null)
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
static prepareFormOutput($a_str, $a_strip=false)
prepares string output for html forms @access public
static initjQuery($a_tpl=null)
inits and adds the jQuery JS-File to the global or a passed template
$password
Definition: cron.php:14
$login
Definition: cron.php:13
$code
Definition: example_050.php:99
global $ilCtrl
Definition: ilias.php:18
if( $orgName !==null) if($spconfig->hasValue('contacts')) $email
Definition: metadata.php:201
$GLOBALS['JPEG_Segment_Names']
Global Variable: XMP_tag_captions.
global $ilSetting
Definition: privfeed.php:17
$ilErr
Definition: raiseError.php:18
global $DIC
Definition: saml.php:7
$lng
if((!isset($_SERVER['DOCUMENT_ROOT'])) OR(empty($_SERVER['DOCUMENT_ROOT']))) $_SERVER['DOCUMENT_ROOT']
$ilUser
Definition: imgupload.php:18