ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
ilRegistrationSettingsGUI Class Reference

Class ilRegistrationSettingsGUI. More...

+ Collaboration diagram for ilRegistrationSettingsGUI:

Public Member Functions

 __construct ()
 
 executeCommand ()
 
 setSubTabs ($activeTab='registration_settings')
 set sub tabs More...
 
 initForm ()
 
 initFormValues ()
 
 view ()
 
 save ()
 
 editRoles ()
 
 updateRoles ()
 
 editEmailAssignments ()
 
 editRoleAccessLimitations ()
 
 addAssignment ()
 
 deleteAssignment ()
 
 saveAssignment ()
 
 saveRoleAccessLimitations ()
 
 __parseRoleList ($roles, $url)
 
 __prepareRoleList ()
 
 __prepareAutomaticRoleList ()
 
 __prepareAccessLimitationRoleList ()
 
 __initRoleAssignments ()
 
 __initRoleAccessLimitations ()
 
 __buildRoleSelection ($assignment_id)
 
 __buildAccessLimitationSelection ($a_role_id)
 
 __prepareDateSelect ($a_unix_time)
 
 listCodes ()
 
 initAddCodesForm ()
 
 getLocalRoleAutoComplete ()
 
 addCodes ()
 
 createCodes ()
 
 deleteCodes ()
 
 deleteConfirmation ()
 
 resetCodesFilter ()
 
 applyCodesFilter ()
 
 exportCodes ()
 

Data Fields

const CODE_TYPE_REGISTRATION = 1
 
const CODE_TYPE_EXTENSION = 2
 
 $ctrl
 
 $tpl
 
 $ref_id
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilRegistrationSettingsGUI::__construct ( )

Definition at line 45 of file class.ilRegistrationSettingsGUI.php.

46 {
47 global $DIC;
48
49 $ilCtrl = $DIC['ilCtrl'];
50 $tpl = $DIC['tpl'];
51 $lng = $DIC['lng'];
52
53 $this->tpl = $tpl;
54 $this->ctrl = $ilCtrl;
55
56 $this->lng = $lng;
57 $this->lng->loadLanguageModule('administration');
58 $this->lng->loadLanguageModule('registration');
59 $this->lng->loadLanguageModule('user');
60
61 $this->ref_id = (int) $_GET['ref_id'];
62
63 $this->registration_settings = new ilRegistrationSettings();
64 }
$_GET["client_id"]
Class ilObjAuthSettingsGUI.
global $ilCtrl
Definition: ilias.php:18
global $DIC
Definition: saml.php:7
$lng

References $_GET, $DIC, $ilCtrl, $lng, and $tpl.

Member Function Documentation

◆ __buildAccessLimitationSelection()

ilRegistrationSettingsGUI::__buildAccessLimitationSelection (   $a_role_id)

Definition at line 805 of file class.ilRegistrationSettingsGUI.php.

806 {
807 global $DIC;
808
809 $lng = $DIC['lng'];
810
811 $options = array(
812 'null' => $lng->txt('please_choose'),
813 'unlimited' => $lng->txt('reg_access_limitation_mode_unlimited'),
814 'absolute' => $lng->txt('reg_access_limitation_mode_absolute'),
815 'relative' => $lng->txt('reg_access_limitation_mode_relative')
816 );
817
818 $attribs = array('onchange' => 'displayAccessLimitationSelectionForm(document.cmd.access_limitation_mode_' . $a_role_id . ',' . $a_role_id . ')');
819
820 $selected = $this->access_limitations_obj->getMode($a_role_id);
821
822 return ilUtil::formSelect($selected, 'access_limitation_mode_' . $a_role_id, $options, false, true, 0, "", $attribs);
823 }
static formSelect( $selected, $varname, $options, $multiple=false, $direct_text=false, $size="0", $style_class="", $attribs="", $disabled=false)
Builds a select form field with options and shows the selected option first.

References $DIC, $lng, PHPMailer\PHPMailer\$options, and ilUtil\formSelect().

Referenced by editRoleAccessLimitations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __buildRoleSelection()

ilRegistrationSettingsGUI::__buildRoleSelection (   $assignment_id)

Definition at line 762 of file class.ilRegistrationSettingsGUI.php.

763 {
764 include_once './Services/AccessControl/classes/class.ilObjRole.php';
765
766 global $DIC;
767
768 $rbacreview = $DIC['rbacreview'];
769
770 $assignments = $this->assignments_obj->getAssignments();
771 $selected = ($assignment_id > 0) ?
772 $assignments[$assignment_id]['role'] :
773 $this->assignments_obj->getDefaultRole();
774
775 if (!$selected) {
776 $roles[0] = $this->lng->txt('please_choose');
777 }
778
779 foreach ($rbacreview->getGlobalRoles() as $role_id) {
780 if ($role_id == ANONYMOUS_ROLE_ID) {
781 continue;
782 }
783 $roles[$role_id] = ilObjRole::_lookupTitle($role_id);
784 }
785
786 if ($assignment_id > 0) {
787 return ilUtil::formSelect(
788 $selected,
789 "role[$assignment_id][role]",
790 $roles,
791 false,
792 true
793 );
794 } else {
795 return ilUtil::formSelect(
796 $selected,
797 "default_role",
798 $roles,
799 false,
800 true
801 );
802 }
803 }
static _lookupTitle($a_id)
lookup object title

References $DIC, ilObject\_lookupTitle(), and ilUtil\formSelect().

Referenced by editEmailAssignments().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __initRoleAccessLimitations()

ilRegistrationSettingsGUI::__initRoleAccessLimitations ( )

Definition at line 751 of file class.ilRegistrationSettingsGUI.php.

752 {
753 if (is_object($this->access_limitations_obj)) {
754 return true;
755 }
756
757 include_once 'Services/Registration/classes/class.ilRegistrationRoleAccessLimitations.php';
758
759 $this->access_limitations_obj = new ilRegistrationRoleAccessLimitations();
760 }

Referenced by __prepareAccessLimitationRoleList(), editRoleAccessLimitations(), and saveRoleAccessLimitations().

+ Here is the caller graph for this function:

◆ __initRoleAssignments()

ilRegistrationSettingsGUI::__initRoleAssignments ( )

Definition at line 740 of file class.ilRegistrationSettingsGUI.php.

741 {
742 if (is_object($this->assignments_obj)) {
743 return true;
744 }
745
746 include_once 'Services/Registration/classes/class.ilRegistrationEmailRoleAssignments.php';
747
748 $this->assignments_obj = new ilRegistrationRoleAssignments();
749 }

Referenced by __prepareAutomaticRoleList(), addAssignment(), deleteAssignment(), editEmailAssignments(), and saveAssignment().

+ Here is the caller graph for this function:

◆ __parseRoleList()

ilRegistrationSettingsGUI::__parseRoleList (   $roles,
  $url 
)

Definition at line 624 of file class.ilRegistrationSettingsGUI.php.

625 {
626 $tpl = new ilTemplate('tpl.registration_roles.html', true, true, 'Services/Registration');
627
628 $tpl->setVariable("EDIT", $this->lng->txt("edit"));
629 $tpl->setVariable("LINK_EDIT", $url);
630
631 if (is_array($roles) && sizeof($roles)) {
632 foreach ($roles as $role) {
633 $tpl->setCurrentBlock("list_item");
634 $tpl->setVariable("LIST_ITEM_ITEM", $role);
635 $tpl->parseCurrentBlock();
636 }
637 } else {
638 $tpl->setVariable("NONE", $this->lng->txt('none'));
639 }
640
641 return $tpl->get();
642 }
special template class to simplify handling of ITX/PEAR
$url

References $tpl, and $url.

Referenced by initForm().

+ Here is the caller graph for this function:

◆ __prepareAccessLimitationRoleList()

ilRegistrationSettingsGUI::__prepareAccessLimitationRoleList ( )

Definition at line 674 of file class.ilRegistrationSettingsGUI.php.

675 {
676 global $DIC;
677
678 $lng = $DIC['lng'];
679
681
682 include_once './Services/AccessControl/classes/class.ilObjRole.php';
683
684 $all = array();
685 foreach (ilObjRole::_lookupRegisterAllowed() as $role) {
686 switch ($this->access_limitations_obj->getMode($role['id'])) {
687 case 'absolute':
688 $txt_access_value = $lng->txt('reg_access_limitation_limited_until');
689 $txt_access_value .= " " . ilDatePresentation::formatDate(new ilDateTime($this->access_limitations_obj->getAbsolute($role['id'], IL_CAL_UNIX)));
690 break;
691
692 case 'relative':
693 $years = $this->access_limitations_obj->getRelative($role['id'], 'y');
694 $months = $this->access_limitations_obj->getRelative($role['id'], 'm');
695 $days = $this->access_limitations_obj->getRelative($role['id'], 'd');
696
697 $txt_access_value = $lng->txt('reg_access_limitation_limited_time') . " ";
698
699 if ($years) {
700 $txt_access_value .= $years . " ";
701 $txt_access_value .= ($years == 1) ? $lng->txt('year') : $lng->txt('years');
702
703 if ($months) {
704 if ($days) {
705 $txt_access_value .= ", ";
706 } else {
707 $txt_access_value .= " " . $lng->txt('and') . " ";
708 }
709 } elseif ($days) {
710 $txt_access_value .= " " . $lng->txt('and') . " ";
711 }
712 }
713
714 if ($months) {
715 $txt_access_value .= $months . " ";
716 $txt_access_value .= ($months == 1) ? $lng->txt('month') : $lng->txt('months');
717
718 if ($days) {
719 $txt_access_value .= " " . $lng->txt('and') . " ";
720 }
721 }
722
723 if ($days) {
724 $txt_access_value .= $days . " ";
725 $txt_access_value .= ($days == 1) ? $lng->txt('day') : $lng->txt('days');
726 }
727 break;
728
729 default:
730 $txt_access_value = $lng->txt('reg_access_limitation_none');
731 break;
732 }
733
734 $all[] = $role['title'] . ' (' . $txt_access_value . ')';
735 }
736
737 return $all;
738 }
const IL_CAL_UNIX
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
static _lookupRegisterAllowed()
get all roles that are activated in user registration

References $DIC, $lng, __initRoleAccessLimitations(), ilObjRole\_lookupRegisterAllowed(), ilDatePresentation\formatDate(), and IL_CAL_UNIX.

Referenced by initForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareAutomaticRoleList()

ilRegistrationSettingsGUI::__prepareAutomaticRoleList ( )

Definition at line 655 of file class.ilRegistrationSettingsGUI.php.

656 {
657 include_once './Services/AccessControl/classes/class.ilObjRole.php';
658 $this->__initRoleAssignments();
659
660 $all = array();
661 foreach ($this->assignments_obj->getAssignments() as $assignment) {
662 if (strlen($assignment['domain']) and $assignment['role']) {
663 $all[] = $assignment['domain'] . ' -> ' . ilObjRole::_lookupTitle($assignment['role']);
664 }
665 }
666
667 if (strlen($this->assignments_obj->getDefaultRole())) {
668 $all[] = $this->lng->txt('reg_default') . ' -> ' . ilObjRole::_lookupTitle($this->assignments_obj->getDefaultRole());
669 }
670
671 return $all;
672 }

References __initRoleAssignments(), and ilObject\_lookupTitle().

Referenced by initForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ __prepareDateSelect()

ilRegistrationSettingsGUI::__prepareDateSelect (   $a_unix_time)

Definition at line 825 of file class.ilRegistrationSettingsGUI.php.

826 {
827 if (!$a_unix_time) {
828 $a_unix_time = time();
829 }
830
831 return array('y' => date('Y', $a_unix_time),
832 'm' => date('n', $a_unix_time),
833 'd' => date('d', $a_unix_time));
834 }

Referenced by editRoleAccessLimitations().

+ Here is the caller graph for this function:

◆ __prepareRoleList()

ilRegistrationSettingsGUI::__prepareRoleList ( )

Definition at line 644 of file class.ilRegistrationSettingsGUI.php.

645 {
646 include_once './Services/AccessControl/classes/class.ilObjRole.php';
647
648 $all = array();
649 foreach (ilObjRole::_lookupRegisterAllowed() as $role) {
650 $all[] = $role['title'];
651 }
652 return $all;
653 }

References ilObjRole\_lookupRegisterAllowed().

Referenced by initForm().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addAssignment()

ilRegistrationSettingsGUI::addAssignment ( )

Definition at line 484 of file class.ilRegistrationSettingsGUI.php.

485 {
486 global $DIC;
487
488 $ilAccess = $DIC['ilAccess'];
489 $ilErr = $DIC['ilErr'];
490 $rbacreview = $DIC['rbacreview'];
491
492 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
493 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
494 }
495
496 $this->__initRoleAssignments();
497 $this->assignments_obj->add();
498
499 ilUtil::sendSuccess($this->lng->txt('reg_added_assignment'));
500 $this->editEmailAssignments();
501
502 return true;
503 }
$ilErr
Definition: raiseError.php:18

References $DIC, $ilErr, __initRoleAssignments(), and editEmailAssignments().

+ Here is the call graph for this function:

◆ addCodes()

ilRegistrationSettingsGUI::addCodes ( )

Definition at line 972 of file class.ilRegistrationSettingsGUI.php.

973 {
974 global $DIC;
975
976 $ilAccess = $DIC['ilAccess'];
977 $ilErr = $DIC['ilErr'];
978
979 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
980 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
981 }
982
983 $this->setSubTabs('registration_codes');
984
985 $this->initAddCodesForm();
986
987 // default
988 $limit = $this->form_gui->getItemByPostVar("reg_limit");
989 $limit->setValue("none");
990
991 $this->tpl->setContent($this->form_gui->getHTML());
992 }
setSubTabs($activeTab='registration_settings')
set sub tabs

References $DIC, $ilErr, initAddCodesForm(), and setSubTabs().

+ Here is the call graph for this function:

◆ applyCodesFilter()

ilRegistrationSettingsGUI::applyCodesFilter ( )

Definition at line 1135 of file class.ilRegistrationSettingsGUI.php.

1136 {
1137 include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
1138 $utab = new ilRegistrationCodesTableGUI($this, "listCodes");
1139 $utab->resetOffset();
1140 $utab->writeFilterToSession();
1141
1142 $this->listCodes();
1143 }
TableGUI class for registration codes.

References listCodes().

+ Here is the call graph for this function:

◆ createCodes()

ilRegistrationSettingsGUI::createCodes ( )

Definition at line 994 of file class.ilRegistrationSettingsGUI.php.

995 {
996 global $DIC;
997
998 $ilAccess = $DIC['ilAccess'];
999 $ilErr = $DIC['ilErr'];
1000 $rbacreview = $DIC['rbacreview'];
1001
1002 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
1003 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
1004 }
1005
1006 $this->setSubTabs('registration_codes');
1007
1008 $this->initAddCodesForm();
1009 $valid = $this->form_gui->checkInput();
1010 if ($valid) {
1011 $number = $this->form_gui->getInput('reg_codes_number');
1012 $role = $this->form_gui->getInput('reg_codes_role');
1013 $local = $this->form_gui->getInput("reg_codes_local");
1014
1015 if (is_array($local)) {
1016 $role_ids = array();
1017 foreach (array_unique($local) as $item) {
1018 if (trim($item)) {
1019 $role_id = $rbacreview->roleExists($item);
1020 if ($role_id) {
1021 $role_ids[] = $role_id;
1022 }
1023 }
1024 }
1025 if (sizeof($role_ids)) {
1026 $local = $role_ids;
1027 }
1028 }
1029
1030 $date = null;
1031 $limit = $this->form_gui->getInput("reg_limit");
1032 switch ($limit) {
1033 case "absolute":
1034 $date_input = $this->form_gui->getItemByPostVar("abs_date");
1035 $date = $date_input->getDate()->get(IL_CAL_DATE);
1036 if ($date < date("Y-m-d")) {
1037 $date_input->setAlert($this->lng->txt("form_msg_wrong_date"));
1038 $valid = false;
1039 }
1040 break;
1041
1042 case "relative":
1043 $date = $this->form_gui->getInput("rel_date");
1044 if (!array_sum($date)) {
1045 $valid = false;
1046 } else {
1047 $date = array(
1048 "d" => $date["dd"],
1049 "m" => $date["MM"] % 12,
1050 "y" => floor($date["MM"] / 12)
1051 );
1052 }
1053 break;
1054
1055 case "none":
1056 $limit = null;
1057 break;
1058 }
1059 }
1060
1061 if ($valid) {
1062 include_once './Services/Registration/classes/class.ilRegistrationCode.php';
1063
1064 $stamp = time();
1065 for ($loop = 1; $loop <= $number; $loop++) {
1066 $code_types = (array) $this->form_gui->getInput('code_type');
1067
1069 $role,
1070 $stamp,
1071 $local,
1072 $limit,
1073 $date,
1074 in_array(self::CODE_TYPE_REGISTRATION, $code_types) ? true : false,
1075 in_array(self::CODE_TYPE_EXTENSION, $code_types) ? true : false
1076 );
1077 }
1078
1079 ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
1080 $this->ctrl->redirect($this, "listCodes");
1081 } else {
1082 $this->form_gui->setValuesByPost();
1083 $this->tpl->setContent($this->form_gui->getHtml());
1084 }
1085 }
const IL_CAL_DATE
static create($role, $stamp, $local_roles, $limit, $limit_date, $reg_type, $ext_type)
$valid

References $DIC, $ilErr, $valid, ilRegistrationCode\create(), IL_CAL_DATE, initAddCodesForm(), and setSubTabs().

+ Here is the call graph for this function:

◆ deleteAssignment()

ilRegistrationSettingsGUI::deleteAssignment ( )

Definition at line 505 of file class.ilRegistrationSettingsGUI.php.

506 {
507 global $DIC;
508
509 $ilAccess = $DIC['ilAccess'];
510 $ilErr = $DIC['ilErr'];
511 $rbacreview = $DIC['rbacreview'];
512
513 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
514 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
515 }
516
517 if (!count($_POST['del_assign'])) {
518 ilUtil::sendFailure($this->lng->txt('reg_select_one'));
519 $this->editEmailAssignments();
520 return false;
521 }
522
523 $this->__initRoleAssignments();
524
525 foreach ($_POST['del_assign'] as $assignment_id) {
526 $this->assignments_obj->delete($assignment_id);
527 }
528
529 ilUtil::sendSuccess($this->lng->txt('reg_deleted_assignment'));
530 $this->editEmailAssignments();
531
532 return true;
533 }
$_POST["username"]
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.

References $_POST, $DIC, $ilErr, __initRoleAssignments(), editEmailAssignments(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ deleteCodes()

ilRegistrationSettingsGUI::deleteCodes ( )

Definition at line 1087 of file class.ilRegistrationSettingsGUI.php.

1088 {
1089 include_once './Services/Registration/classes/class.ilRegistrationCode.php';
1091
1092 ilUtil::sendSuccess($this->lng->txt('info_deleted'), true);
1093 $this->ctrl->redirect($this, "listCodes");
1094 }
static deleteCodes(array $ids)

References $_POST, and ilRegistrationCode\deleteCodes().

+ Here is the call graph for this function:

◆ deleteConfirmation()

ilRegistrationSettingsGUI::deleteConfirmation ( )

Definition at line 1096 of file class.ilRegistrationSettingsGUI.php.

1097 {
1098 global $DIC;
1099
1100 $ilErr = $DIC['ilErr'];
1101 $ilias = $DIC['ilias'];
1102
1103 if (!isset($_POST["id"])) {
1104 $ilErr->raiseError($this->lng->txt("no_checkbox"), $ilErr->MESSAGE);
1105 }
1106
1107 $this->setSubTabs('registration_codes');
1108
1109 include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
1110 $gui = new ilConfirmationGUI();
1111 $gui->setHeaderText($this->lng->txt("info_delete_sure"));
1112 $gui->setCancel($this->lng->txt("cancel"), "listCodes");
1113 $gui->setConfirm($this->lng->txt("confirm"), "deleteCodes");
1114 $gui->setFormAction($this->ctrl->getFormAction($this, "deleteCodes"));
1115
1116 include_once './Services/Registration/classes/class.ilRegistrationCode.php';
1118 foreach ($data as $code) {
1119 $gui->addItem("id[]", $code["code_id"], $code["code"]);
1120 }
1121
1122 $this->tpl->setContent($gui->getHTML());
1123 }
Confirmation screen class.
static loadCodesByIds(array $ids)
$code
Definition: example_050.php:99
$data
Definition: bench.php:6

References $_POST, $code, $data, $DIC, $ilErr, ilRegistrationCode\loadCodesByIds(), and setSubTabs().

+ Here is the call graph for this function:

◆ editEmailAssignments()

ilRegistrationSettingsGUI::editEmailAssignments ( )

Definition at line 386 of file class.ilRegistrationSettingsGUI.php.

387 {
388 global $DIC;
389
390 $ilAccess = $DIC['ilAccess'];
391 $ilErr = $DIC['ilErr'];
392 $rbacreview = $DIC['rbacreview'];
393
394 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
395 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
396 }
397
398 $this->__initRoleAssignments();
399
400 $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.reg_email_role_assignments.html', 'Services/Registration');
401 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
402 $this->tpl->setVariable("TXT_EMAIL_ROLE_ASSIGN", $this->lng->txt('reg_email_role_assignment'));
403 $this->tpl->setVariable("TXT_MAIL", $this->lng->txt('reg_email'));
404 $this->tpl->setVariable("TXT_ROLE", $this->lng->txt('obj_role'));
405 $this->tpl->setVariable("TXT_DEFAULT", $this->lng->txt('reg_default'));
406 $this->tpl->setVariable("ARR_DOWNRIGHT", ilUtil::getImagePath('arrow_downright.svg'));
407 $this->tpl->setVariable("TXT_DOMAIN", $this->lng->txt('reg_domain'));
408
409
410 $this->tpl->setVariable("BTN_DELETE", $this->lng->txt('delete'));
411 $this->tpl->setVariable("BTN_SAVE", $this->lng->txt('save'));
412 $this->tpl->setVariable("BTN_ADD", $this->lng->txt('reg_add_assignment'));
413 $this->tpl->setVariable("BTN_CANCEL", $this->lng->txt('cancel'));
414
415 $counter = 0;
416 foreach ($this->assignments_obj->getAssignments() as $assignment) {
417 $this->tpl->setCurrentBlock("roles");
418 $this->tpl->setVariable("CSSROW", ilUtil::switchColor(++$counter, 'tblrow1', 'tblrow1'));
419 $this->tpl->setVariable("ASSIGN_ID", $assignment['id']);
420 $this->tpl->setVariable("DOMAIN", $assignment['domain']);
421 $this->tpl->setVariable("CHECK_ROLE", ilUtil::formCheckbox(0, 'del_assign[]', $assignment['id']));
422 $this->tpl->setVariable("ROLE_SEL", $this->__buildRoleSelection($assignment['id']));
423 $this->tpl->parseCurrentBlock();
424 }
425
426 $this->tpl->setVariable("DEF_CSSROW", ilUtil::switchColor(++$counter, 'tblrow1', 'tblrow1'));
427 $this->tpl->setVariable("TXT_DEFAULT", $this->lng->txt('default'));
428 $this->tpl->setVariable("DEF_ROLE", $this->__buildRoleSelection(-1));
429 }
static formCheckbox($checked, $varname, $value, $disabled=false)
??? @access public
static switchColor($a_num, $a_css1, $a_css2)
switches style sheets for each even $a_num (used for changing colors of different result rows)
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)

References $DIC, $ilErr, __buildRoleSelection(), __initRoleAssignments(), ilUtil\formCheckbox(), ilUtil\getImagePath(), and ilUtil\switchColor().

Referenced by addAssignment(), deleteAssignment(), and saveAssignment().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editRoleAccessLimitations()

ilRegistrationSettingsGUI::editRoleAccessLimitations ( )

Definition at line 431 of file class.ilRegistrationSettingsGUI.php.

432 {
433 global $DIC;
434
435 $lng = $DIC['lng'];
436 $ilAccess = $DIC['ilAccess'];
437 $ilErr = $DIC['ilErr'];
438 $rbacreview = $DIC['rbacreview'];
439
440 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
441 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
442 }
443
445
446 $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.reg_role_access_limitations.html', 'Services/Registration');
447
448 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
449 $this->tpl->setVariable("TXT_REG_ROLE_ACCESS_LIMITATIONS", $lng->txt('reg_role_access_limitations'));
450 $this->tpl->setVariable("TXT_ROLE", $lng->txt('obj_role'));
451 $this->tpl->setVariable("TXT_ACCESS_LIMITATION_MODE", $lng->txt('reg_access_limitation_mode'));
452
453 $this->tpl->setVariable("BTN_SAVE", $lng->txt('save'));
454 $this->tpl->setVariable("BTN_CANCEL", $lng->txt('cancel'));
455
456 $counter = 0;
457 include_once './Services/AccessControl/classes/class.ilObjRole.php';
458
459 foreach (ilObjRole::_lookupRegisterAllowed() as $role) {
460 $this->tpl->setCurrentBlock("roles");
461 $this->tpl->setVariable("CSSROW", ilUtil::switchColor(++$counter, 'tblrow1', 'tblrow1'));
462 $this->tpl->setVariable("ROLE_ID", $role['id']);
463 $this->tpl->setVariable("ROLE_TITLE", $role['title']);
464 $this->tpl->setVariable("SEL_ACCESS_LIMITATION", $this->__buildAccessLimitationSelection($role['id']));
465 $this->tpl->setVariable("CSS_DISPLAY_ABSOLUTE", ($this->access_limitations_obj->getMode($role['id']) == 'absolute') ? 'inline' : 'none');
466 $this->tpl->setVariable("CSS_DISPLAY_RELATIVE", ($this->access_limitations_obj->getMode($role['id']) == 'relative') ? 'inline' : 'none');
467 $this->tpl->setVariable("CSS_DISPLAY_UNLIMITED", ($this->access_limitations_obj->getMode($role['id']) == 'unlimited') ? 'inline' : 'none');
468 $this->tpl->setVariable("TXT_ACCESS_LIMITATION_UNLIMITED", $lng->txt('reg_access_limitation_none'));
469
470 $date = $this->__prepareDateSelect($this->access_limitations_obj->getAbsolute($role['id']));
471 $this->tpl->setVariable("SEL_ACCESS_LIMITATION_ABSOLUTE", ilUtil::makeDateSelect('access_limitation_absolute_' . $role['id'], $date['y'], $date['m'], $date['d'], '2007'));
472
473 $this->tpl->setVariable("TXT_DAYS", $lng->txt('days'));
474 $this->tpl->setVariable("TXT_MONTHS", $lng->txt('months'));
475 $this->tpl->setVariable("TXT_YEARS", $lng->txt('years'));
476
477 $this->tpl->setVariable("DAYS", $this->access_limitations_obj->getRelative($role['id'], 'd'));
478 $this->tpl->setVariable("MONTHS", $this->access_limitations_obj->getRelative($role['id'], 'm'));
479 $this->tpl->setVariable("YEARS", $this->access_limitations_obj->getRelative($role['id'], 'y'));
480 $this->tpl->parseCurrentBlock();
481 }
482 }
static makeDateSelect($prefix, $year="", $month="", $day="", $startyear="", $a_long_month=true, $a_further_options=array(), $emptyoption=false)
Creates a combination of HTML selects for date inputs.

References $DIC, $ilErr, $lng, __buildAccessLimitationSelection(), __initRoleAccessLimitations(), __prepareDateSelect(), ilObjRole\_lookupRegisterAllowed(), ilUtil\makeDateSelect(), and ilUtil\switchColor().

Referenced by saveRoleAccessLimitations().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ editRoles()

ilRegistrationSettingsGUI::editRoles ( )

Definition at line 315 of file class.ilRegistrationSettingsGUI.php.

316 {
317 include_once './Services/AccessControl/classes/class.ilObjRole.php';
318
319 global $DIC;
320
321 $ilAccess = $DIC['ilAccess'];
322 $ilErr = $DIC['ilErr'];
323 $rbacreview = $DIC['rbacreview'];
324
325 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
326 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
327 }
328
329 $this->tpl->addBlockfile('ADM_CONTENT', 'adm_content', 'tpl.edit_roles.html', 'Services/Registration');
330
331 $this->tpl->setVariable("FORMACTION", $this->ctrl->getFormAction($this));
332 $this->tpl->setVariable("TXT_SELECTABLE_ROLES", $this->lng->txt('reg_selectable_roles'));
333 $this->tpl->setVariable("ARR_DOWNRIGHT", ilUtil::getImagePath('arrow_downright.svg'));
334 $this->tpl->setVariable("ACTIONS", $this->lng->txt('actions'));
335 $this->tpl->setVariable("UPDATE", $this->lng->txt('save'));
336 $this->tpl->setVariable("CANCEL", $this->lng->txt('cancel'));
337
338 $counter = 0;
339 foreach ($rbacreview->getGlobalRoles() as $role) {
340 if ($role == SYSTEM_ROLE_ID or $role == ANONYMOUS_ROLE_ID) {
341 continue;
342 }
343 $this->tpl->setCurrentBlock("roles");
344 $this->tpl->setVariable("CSSROW", ilUtil::switchColor(++$counter, 'tblrow1', 'tblrow2'));
345 $this->tpl->setVariable("CHECK_ROLE", ilUtil::formCheckbox(
347 "roles[$role]",
348 1
349 ));
350 $this->tpl->setVariable("ROLE", ilObjRole::_lookupTitle($role));
351 $this->tpl->parseCurrentBlock();
352 }
353 }
static _lookupAllowRegister($a_role_id)
check whether role is allowed in user registration or not

References $DIC, $ilErr, ilObjRole\_lookupAllowRegister(), ilObject\_lookupTitle(), ilUtil\formCheckbox(), ilUtil\getImagePath(), and ilUtil\switchColor().

Referenced by updateRoles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ executeCommand()

ilRegistrationSettingsGUI::executeCommand ( )

Definition at line 66 of file class.ilRegistrationSettingsGUI.php.

67 {
68 $next_class = $this->ctrl->getNextClass($this);
69 $cmd = $this->ctrl->getCmd();
70 switch ($next_class) {
71 default:
72 if (!$cmd) {
73 $cmd = 'view';
74 }
75 $this->$cmd();
76 break;
77 }
78 return true;
79 }

◆ exportCodes()

ilRegistrationSettingsGUI::exportCodes ( )

Definition at line 1145 of file class.ilRegistrationSettingsGUI.php.

1146 {
1147 global $DIC;
1148
1149 $ilAccess = $DIC['ilAccess'];
1150 $ilErr = $DIC['ilErr'];
1151
1152 if (!$ilAccess->checkAccess('read', '', $this->ref_id)) {
1153 $ilErr->raiseError($this->lng->txt("msg_no_perm_read"), $ilErr->MESSAGE);
1154 }
1155
1156 include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
1157 $utab = new ilRegistrationCodesTableGUI($this, "listCodes");
1158
1159 include_once './Services/Registration/classes/class.ilRegistrationCode.php';
1160 $codes = ilRegistrationCode::getCodesForExport($utab->filter["code"], $utab->filter["role"], $utab->filter["generated"], $utab->filter["alimit"]);
1161
1162 if (sizeof($codes)) {
1163 ilUtil::deliverData(implode("\r\n", $codes), "ilias_registration_codes_" . date("d-m-Y") . ".txt", "text/plain");
1164 } else {
1165 ilUtil::sendFailure($this->lng->txt("registration_export_codes_no_data"));
1166 $this->listCodes();
1167 }
1168 }
static getCodesForExport($filter_code, $filter_role, $filter_generated, $filter_access_limitation)
static deliverData($a_data, $a_filename, $mime="application/octet-stream", $charset="")
deliver data for download via browser.

References $DIC, $ilErr, ilUtil\deliverData(), ilRegistrationCode\getCodesForExport(), listCodes(), and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ getLocalRoleAutoComplete()

ilRegistrationSettingsGUI::getLocalRoleAutoComplete ( )

Definition at line 963 of file class.ilRegistrationSettingsGUI.php.

964 {
965 $q = $_REQUEST["term"];
966 include_once("./Services/AccessControl/classes/class.ilRoleAutoComplete.php");
968 echo $list;
969 exit;
970 }
exit
Definition: backend.php:16
static getList($a_str)
Get completion list.
if(isset($_REQUEST['delete'])) $list
Definition: registry.php:41

References $list, exit, and ilRoleAutoComplete\getList().

+ Here is the call graph for this function:

◆ initAddCodesForm()

ilRegistrationSettingsGUI::initAddCodesForm ( )

Definition at line 861 of file class.ilRegistrationSettingsGUI.php.

862 {
863 global $DIC;
864
865 $rbacreview = $DIC['rbacreview'];
866 $ilObjDataCache = $DIC['ilObjDataCache'];
867 $lng = $DIC['lng'];
868
869 include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
870
871 $this->form_gui = new ilPropertyFormGUI();
872 $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'createCodes'));
873 $this->form_gui->setTitle($this->lng->txt('registration_codes_edit_header'));
874
875 $count = new ilNumberInputGUI($this->lng->txt('registration_codes_number'), 'reg_codes_number');
876 $count->setSize(4);
877 $count->setMaxLength(4);
878 $count->setMinValue(1);
879 $count->setMaxValue(1000);
880 $count->setRequired(true);
881 $this->form_gui->addItem($count);
882
883 // type
884 $code_type = new ilCheckboxGroupInputGUI($this->lng->txt('registration_codes_type'), 'code_type');
885 $code_type->setRequired(true);
886
887 $code_type->addOption(
889 $this->lng->txt('registration_codes_type_reg'),
890 self::CODE_TYPE_REGISTRATION,
891 $this->lng->txt('registration_codes_type_reg_info')
892 )
893 );
894 $code_type->addOption(
896 $this->lng->txt('registration_codes_type_ext'),
897 self::CODE_TYPE_EXTENSION,
898 $this->lng->txt('registration_codes_type_ext_info')
899 )
900 );
901 $this->form_gui->addItem($code_type);
902
903
904 $sec = new ilFormSectionHeaderGUI();
905 $sec->setTitle($this->lng->txt('registration_codes_roles_title'));
906 $this->form_gui->addItem($sec);
907
908 include_once './Services/AccessControl/classes/class.ilObjRole.php';
909 $options = array("" => $this->lng->txt('registration_codes_no_assigned_role'));
910 foreach ($rbacreview->getGlobalRoles() as $role_id) {
911 if (!in_array($role_id, array(SYSTEM_ROLE_ID, ANONYMOUS_ROLE_ID))) {
912 $options[$role_id] = $ilObjDataCache->lookupTitle($role_id);
913 }
914 }
915 $roles = new ilSelectInputGUI($this->lng->txt("registration_codes_roles"), "reg_codes_role");
916 $roles->setInfo($this->lng->txt("registration_codes_override_info"));
917 $roles->setOptions($options);
918 $this->form_gui->addItem($roles);
919
920 $local = new ilTextInputGUI($this->lng->txt("registration_codes_roles_local"), "reg_codes_local");
921 $local->setMulti(true);
922 $local->setDataSource($this->ctrl->getLinkTarget($this, "getLocalRoleAutoComplete", "", true));
923 $this->form_gui->addItem($local);
924
925
926 $sec = new ilFormSectionHeaderGUI();
927 $sec->setTitle($this->lng->txt('reg_access_limitations'));
928 $this->form_gui->addItem($sec);
929
930 $limit = new ilRadioGroupInputGUI($this->lng->txt("reg_access_limitation_mode"), "reg_limit");
931 $limit->setInfo($this->lng->txt("registration_codes_override_info"));
932 $this->form_gui->addItem($limit);
933
934 $opt = new ilRadioOption($this->lng->txt("registration_codes_roles_limitation_none"), "none");
935 $limit->addOption($opt);
936
937 $opt = new ilRadioOption($this->lng->txt("reg_access_limitation_none"), "unlimited");
938 $limit->addOption($opt);
939
940 $opt = new ilRadioOption($this->lng->txt("reg_access_limitation_mode_absolute"), "absolute");
941 $limit->addOption($opt);
942
943 $dt = new ilDateTimeInputGUI($this->lng->txt("reg_access_limitation_mode_absolute_target"), "abs_date");
944 $dt->setRequired(true);
945 $opt->addSubItem($dt);
946
947 $opt = new ilRadioOption($this->lng->txt("reg_access_limitation_mode_relative"), "relative");
948 $limit->addOption($opt);
949
950 $dur = new ilDurationInputGUI($this->lng->txt("reg_access_limitation_mode_relative_target"), "rel_date");
951 $dur->setRequired(true);
952 $dur->setShowMonths(true);
953 $dur->setShowDays(true);
954 $dur->setShowHours(false);
955 $dur->setShowMinutes(false);
956 $opt->addSubItem($dur);
957
958 $this->form_gui->addCommandButton('createCodes', $this->lng->txt('create'));
959 $this->form_gui->addCommandButton('listCodes', $this->lng->txt('cancel'));
960 }
This class represents a property in a property form.
This class represents an option in a checkbox group.
This class represents a date/time property in a property form.
This class represents a duration (typical hh:mm:ss) property in a property form.
This class represents a section header in a property form.
This class represents a number property in a property form.
This class represents a property form user interface.
This class represents a property in a property form.
This class represents an option in a radio group.
This class represents a selection list property in a property form.
This class represents a text property in a property form.

References $DIC, $lng, and PHPMailer\PHPMailer\$options.

Referenced by addCodes(), and createCodes().

+ Here is the caller graph for this function:

◆ initForm()

ilRegistrationSettingsGUI::initForm ( )

Definition at line 107 of file class.ilRegistrationSettingsGUI.php.

108 {
109 include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
110
111 $this->form_gui = new ilPropertyFormGUI();
112 $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'save'));
113 $this->form_gui->setTitle($this->lng->txt('reg_settings_header'));
114
115 $reg_type = new ilRadioGroupInputGUI($this->lng->txt('reg_type'), 'reg_type');
116 $reg_type->addOption(new ilRadioOption($this->lng->txt('reg_disabled'), IL_REG_DISABLED));
117 $option = new ilRadioOption($this->lng->txt('reg_direct'), IL_REG_DIRECT);
118 $option->setInfo($this->lng->txt('reg_direct_info'));
119 $cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_' . IL_REG_DIRECT);
120 $cd->setInfo($this->lng->txt('reg_allow_codes_info'));
121 $option->addSubItem($cd);
122 $reg_type->addOption($option);
123 $option = new ilRadioOption($this->lng->txt('reg_approve'), IL_REG_APPROVE);
124 $option->setInfo($this->lng->txt('reg_approve_info'));
125 $cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_' . IL_REG_APPROVE);
126 $cd->setInfo($this->lng->txt('reg_allow_codes_info'));
127 $option->addSubItem($cd);
128 $reg_type->addOption($option);
129 $option = new ilRadioOption($this->lng->txt('reg_type_confirmation'), IL_REG_ACTIVATION);
130 $option->setInfo($this->lng->txt('reg_type_confirmation_info'));
131 $lt = new ilNumberInputGUI($this->lng->txt('reg_confirmation_hash_life_time'), 'reg_hash_life_time');
132 $lt->setSize(6); // #8511
133 $lt->setMaxLength(6);
135 $lt->setRequired(true);
136 $lt->setInfo($this->lng->txt('reg_confirmation_hash_life_time_info'));
137 $lt->setSuffix($this->lng->txt('seconds'));
138 $option->addSubItem($lt);
139 $cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_' . IL_REG_ACTIVATION);
140 $cd->setInfo($this->lng->txt('reg_allow_codes_info'));
141 $option->addSubItem($cd);
142 $reg_type->addOption($option);
143 $option = new ilRadioOption($this->lng->txt('registration_reg_type_codes'), IL_REG_CODES);
144 $option->setInfo($this->lng->txt('registration_reg_type_codes_info'));
145 $reg_type->addOption($option);
146 $this->form_gui->addItem($reg_type);
147
148 $pwd_gen = new ilCheckboxInputGUI($this->lng->txt('passwd_generation'), 'reg_pwd');
149 $pwd_gen->setValue(1);
150 $pwd_gen->setInfo($this->lng->txt('reg_info_pwd'));
151 $this->form_gui->addItem($pwd_gen);
152
153 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
154 $cap = new ilCheckboxInputGUI($this->lng->txt('adm_captcha_anonymous_short'), 'activate_captcha_anonym');
155 $cap->setInfo($this->lng->txt('adm_captcha_anonymous_reg'));
156 $cap->setValue(1);
158 $cap->setAlert(ilCaptchaUtil::getPreconditionsMessage());
159 }
160 $this->form_gui->addItem($cap);
161
162 $approver = new ilTextInputGUI($this->lng->txt('reg_notification'), 'reg_approver');
163 $approver->setSize(32);
164 $approver->setMaxLength(50);
165 $approver->setInfo($this->lng->txt('reg_notification_info'));
166 $this->form_gui->addItem($approver);
167
168 $roles = new ilRadioGroupInputGUI($this->lng->txt('reg_role_assignment'), 'reg_role_type');
169 $option = new ilRadioOption($this->lng->txt('reg_fixed'), IL_REG_ROLES_FIXED);
170 $list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
171 $edit = $this->ctrl->getLinkTarget($this, 'editRoles');
172 $list->setHtml($this->__parseRoleList($this->__prepareRoleList(), $edit));
173 $option->addSubItem($list);
174 $roles->addOption($option);
175 $option = new ilRadioOption($this->lng->txt('reg_email'), IL_REG_ROLES_EMAIL);
176 $list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
177 $edit = $this->ctrl->getLinkTarget($this, 'editEmailAssignments');
178 $list->setHtml($this->__parseRoleList($this->__prepareAutomaticRoleList(), $edit));
179 $option->addSubItem($list);
180 $roles->addOption($option);
181 $roles->setInfo($this->lng->txt('registration_codes_override_global_info'));
182 $this->form_gui->addItem($roles);
183
184 $limit = new ilCheckboxInputGUI($this->lng->txt('reg_access_limitations'), 'reg_access_limitation');
185 $limit->setValue(1);
186 $list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
187 $edit = $this->ctrl->getLinkTarget($this, 'editRoleAccessLimitations');
188 $list->setHtml($this->__parseRoleList($this->__prepareAccessLimitationRoleList(), $edit));
189 $list->setInfo($this->lng->txt('registration_codes_override_global_info'));
190 $limit->addSubItem($list);
191 $this->form_gui->addItem($limit);
192
193 $domains = new ilTextInputGUI($this->lng->txt('reg_allowed_domains'), 'reg_allowed_domains');
194 $domains->setInfo($this->lng->txt('reg_allowed_domains_info'));
195 $this->form_gui->addItem($domains);
196
197 $this->form_gui->addCommandButton('save', $this->lng->txt('save'));
198 }
const IL_REG_ACTIVATION
const IL_REG_ROLES_FIXED
const IL_REG_ROLES_EMAIL
static checkFreetype()
Check whether captcha support is active.
This class represents a checkbox property in a property form.
This class represents a custom property in a property form.

References $list, __parseRoleList(), __prepareAccessLimitationRoleList(), __prepareAutomaticRoleList(), __prepareRoleList(), ilCaptchaUtil\checkFreetype(), IL_REG_ACTIVATION, IL_REG_APPROVE, IL_REG_CODES, IL_REG_DIRECT, IL_REG_DISABLED, IL_REG_ROLES_EMAIL, IL_REG_ROLES_FIXED, and ilRegistrationSettings\REG_HASH_LIFETIME_MIN_VALUE.

Referenced by view().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ initFormValues()

ilRegistrationSettingsGUI::initFormValues ( )

Definition at line 200 of file class.ilRegistrationSettingsGUI.php.

201 {
202 if ($this->registration_settings->roleSelectionEnabled()) {
203 $role_type = IL_REG_ROLES_FIXED;
204 } elseif ($this->registration_settings->automaticRoleAssignmentEnabled()) {
205 $role_type = IL_REG_ROLES_EMAIL;
206 }
207
208 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
209 $values = array(
210 'reg_type' => $this->registration_settings->getRegistrationType(),
211 'reg_hash_life_time' => (int) $this->registration_settings->getRegistrationHashLifetime(),
212 'reg_pwd' => $this->registration_settings->passwordGenerationEnabled(),
213 'reg_approver' => $this->registration_settings->getApproveRecipientLogins(),
214 'reg_role_type' => $role_type,
215 'reg_access_limitation' => $this->registration_settings->getAccessLimitation(),
216 'reg_allowed_domains' => implode(';', $this->registration_settings->getAllowedDomains()),
217 'activate_captcha_anonym' => ilCaptchaUtil::isActiveForRegistration()
218 );
219
220 $allow_codes = $this->registration_settings->getAllowCodes();
221 $reg_type = $this->registration_settings->getRegistrationType();
222 if ($allow_codes && in_array($reg_type, array(IL_REG_DIRECT, IL_REG_APPROVE, IL_REG_ACTIVATION))) {
223 $values['reg_codes_' . $reg_type] = true;
224 }
225
226 $this->form_gui->setValuesByArray($values);
227 }
$values

References $values, IL_REG_ACTIVATION, IL_REG_APPROVE, IL_REG_DIRECT, IL_REG_ROLES_EMAIL, and IL_REG_ROLES_FIXED.

Referenced by view().

+ Here is the caller graph for this function:

◆ listCodes()

ilRegistrationSettingsGUI::listCodes ( )

Definition at line 836 of file class.ilRegistrationSettingsGUI.php.

837 {
838 global $DIC;
839
840 $ilAccess = $DIC['ilAccess'];
841 $ilErr = $DIC['ilErr'];
842 $ilCtrl = $DIC['ilCtrl'];
843 $ilToolbar = $DIC['ilToolbar'];
844
845 if (!$ilAccess->checkAccess('read', '', $this->ref_id)) {
846 $ilErr->raiseError($this->lng->txt("msg_no_perm_read"), $ilErr->MESSAGE);
847 }
848
849 $this->setSubTabs('registration_codes');
850
851 $ilToolbar->addButton(
852 $this->lng->txt("registration_codes_add"),
853 $this->ctrl->getLinkTarget($this, "addCodes")
854 );
855
856 include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
857 $ctab = new ilRegistrationCodesTableGUI($this, "listCodes");
858 $this->tpl->setContent($ctab->getHTML());
859 }

References $DIC, $ilCtrl, $ilErr, and setSubTabs().

Referenced by applyCodesFilter(), exportCodes(), and resetCodesFilter().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ resetCodesFilter()

ilRegistrationSettingsGUI::resetCodesFilter ( )

Definition at line 1125 of file class.ilRegistrationSettingsGUI.php.

1126 {
1127 include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
1128 $utab = new ilRegistrationCodesTableGUI($this, "listCodes");
1129 $utab->resetOffset();
1130 $utab->resetFilter();
1131
1132 $this->listCodes();
1133 }

References listCodes().

+ Here is the call graph for this function:

◆ save()

ilRegistrationSettingsGUI::save ( )

Definition at line 258 of file class.ilRegistrationSettingsGUI.php.

259 {
260 global $DIC;
261
262 $ilAccess = $DIC['ilAccess'];
263 $ilErr = $DIC['ilErr'];
264
265 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
266 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
267 }
268
269 $this->registration_settings->setRegistrationType((int) $_POST['reg_type']);
270 $this->registration_settings->setPasswordGenerationStatus((int) $_POST['reg_pwd']);
271 $this->registration_settings->setApproveRecipientLogins(ilUtil::stripSlashes($_POST['reg_approver']));
272 $this->registration_settings->setRoleType((int) $_POST['reg_role_type']);
273 $this->registration_settings->setAccessLimitation((int) $_POST['reg_access_limitation']);
274 $this->registration_settings->setAllowedDomains($_POST['reg_allowed_domains']);
275
276 $allow_codes = false;
277 if (in_array((int) $_POST['reg_type'], array(IL_REG_DIRECT, IL_REG_APPROVE, IL_REG_ACTIVATION))) {
278 $allow_codes = (bool) $_POST['reg_codes_' . (int) $_POST['reg_type']];
279 }
280 $this->registration_settings->setAllowCodes($allow_codes);
281
282 if (!preg_match('/^([0]|([1-9][0-9]*))([\.,][0-9][0-9]*)?$/', (int) $_POST['reg_hash_life_time'])) {
283 $this->registration_settings->setRegistrationHashLifetime(ilRegistrationSettings::REG_HASH_LIFETIME_MIN_VALUE);
284 } else {
285 $this->registration_settings->setRegistrationHashLifetime(max((int) $_POST['reg_hash_life_time'], ilRegistrationSettings::REG_HASH_LIFETIME_MIN_VALUE));
286 }
287
288 if ($error_code = $this->registration_settings->validate()) {
289 switch ($error_code) {
291
292 ilUtil::sendFailure($this->lng->txt('reg_unknown_recipients') . ' ' . $this->registration_settings->getUnknown());
293 $this->view();
294 return false;
295
297
298 ilUtil::sendFailure($this->lng->txt('reg_approve_needs_recipient') . ' ' . $this->registration_settings->getUnknown());
299 $this->view();
300 return false;
301
302 }
303 }
304
305 require_once 'Services/Captcha/classes/class.ilCaptchaUtil.php';
306 ilCaptchaUtil::setActiveForRegistration((bool) $_POST['activate_captcha_anonym']);
307
308 $this->registration_settings->save();
309 ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
310 $this->view();
311
312 return true;
313 }
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $_POST, $DIC, $ilErr, ilRegistrationSettings\ERR_MISSING_RCP, ilRegistrationSettings\ERR_UNKNOWN_RCP, IL_REG_ACTIVATION, IL_REG_APPROVE, IL_REG_DIRECT, ilRegistrationSettings\REG_HASH_LIFETIME_MIN_VALUE, ilUtil\sendFailure(), ilUtil\stripSlashes(), and view().

+ Here is the call graph for this function:

◆ saveAssignment()

ilRegistrationSettingsGUI::saveAssignment ( )

Definition at line 535 of file class.ilRegistrationSettingsGUI.php.

536 {
537 global $DIC;
538
539 $ilAccess = $DIC['ilAccess'];
540 $ilErr = $DIC['ilErr'];
541 $rbacreview = $DIC['rbacreview'];
542
543 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
544 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
545 }
546
547 $this->__initRoleAssignments();
548
549 if (!is_array($_POST['domain'])) {
550 $_POST['domain'] = array();
551 }
552
553 foreach ($_POST['domain'] as $id => $data) {
554 $this->assignments_obj->setDomain($id, ilUtil::stripSlashes($_POST['domain'][$id]['domain']));
555 $this->assignments_obj->setRole($id, ilUtil::stripSlashes($_POST['role'][$id]['role']));
556 }
557 $this->assignments_obj->setDefaultRole((int) $_POST['default_role']);
558
559 if ($err = $this->assignments_obj->validate()) {
560 switch ($err) {
562 ilUtil::sendFailure($this->lng->txt('reg_missing_domain'));
563 break;
564
566 ilUtil::sendFailure($this->lng->txt('reg_missing_role'));
567 break;
568 }
569 $this->editEmailAssignments();
570 return false;
571 }
572
573
574 $this->assignments_obj->save();
575 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
576 $this->view();
577 return true;
578 }
if(!array_key_exists('StateId', $_REQUEST)) $id
const IL_REG_MISSING_DOMAIN
Class class.ilregistrationEmailRoleAssignments.

References $_POST, $data, $DIC, $id, $ilErr, __initRoleAssignments(), editEmailAssignments(), IL_REG_MISSING_DOMAIN, IL_REG_MISSING_ROLE, ilUtil\sendFailure(), ilUtil\stripSlashes(), and view().

+ Here is the call graph for this function:

◆ saveRoleAccessLimitations()

ilRegistrationSettingsGUI::saveRoleAccessLimitations ( )

Definition at line 580 of file class.ilRegistrationSettingsGUI.php.

581 {
582 global $DIC;
583
584 $ilAccess = $DIC['ilAccess'];
585 $ilErr = $DIC['ilErr'];
586 $rbacreview = $DIC['rbacreview'];
587
588 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
589 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
590 }
591
593
594 include_once './Services/AccessControl/classes/class.ilObjRole.php';
595
596 $this->access_limitations_obj->resetAccessLimitations();
597 foreach (ilObjRole::_lookupRegisterAllowed() as $role) {
598 $this->access_limitations_obj->setMode($_POST['access_limitation_mode_' . $role['id']], $role['id']);
599 $this->access_limitations_obj->setAbsolute($_POST['access_limitation_absolute_' . $role['id']], $role['id']);
600 $this->access_limitations_obj->setRelative($_POST['access_limitation_relative_' . $role['id']], $role['id']);
601 }
602
603 if ($err = $this->access_limitations_obj->validate()) {
604 switch ($err) {
606 ilUtil::sendFailure($this->lng->txt('reg_access_limitation_missing_mode'));
607 break;
608
610 ilUtil::sendFailure($this->lng->txt('reg_access_limitation_out_of_date'));
611 break;
612 }
614 return false;
615 }
616
617
618 $this->access_limitations_obj->save();
619 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
620 $this->view();
621 return true;
622 }
const IL_REG_ACCESS_LIMITATION_MISSING_MODE
Class class.ilRegistrationAccessLimitation.

References $_POST, $DIC, $ilErr, __initRoleAccessLimitations(), ilObjRole\_lookupRegisterAllowed(), editRoleAccessLimitations(), IL_REG_ACCESS_LIMITATION_MISSING_MODE, IL_REG_ACCESS_LIMITATION_OUT_OF_DATE, ilUtil\sendFailure(), and view().

+ Here is the call graph for this function:

◆ setSubTabs()

ilRegistrationSettingsGUI::setSubTabs (   $activeTab = 'registration_settings')

set sub tabs

Parameters
string$activeTab

Definition at line 85 of file class.ilRegistrationSettingsGUI.php.

86 {
87 global $DIC;
88
89 $ilTabs = $DIC['ilTabs'];
90 $lng = $DIC['lng'];
91
92 $ilTabs->addSubTab(
93 "registration_settings",
94 $lng->txt("registration_tab_settings"),
95 $this->ctrl->getLinkTarget($this, 'view')
96 );
97
98 $ilTabs->addSubTab(
99 "registration_codes",
100 $lng->txt("registration_tab_codes"),
101 $this->ctrl->getLinkTarget($this, 'listCodes')
102 );
103
104 $ilTabs->activateSubTab($activeTab);
105 }

References $DIC, and $lng.

Referenced by addCodes(), createCodes(), deleteConfirmation(), listCodes(), and view().

+ Here is the caller graph for this function:

◆ updateRoles()

ilRegistrationSettingsGUI::updateRoles ( )

Definition at line 355 of file class.ilRegistrationSettingsGUI.php.

356 {
357 global $DIC;
358
359 $ilAccess = $DIC['ilAccess'];
360 $ilErr = $DIC['ilErr'];
361 $rbacreview = $DIC['rbacreview'];
362
363 if (!$ilAccess->checkAccess('write', '', $this->ref_id)) {
364 $ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
365 }
366 // Minimum one role
367 if (count($_POST['roles']) < 1) {
368 ilUtil::sendFailure($this->lng->txt('msg_last_role_for_registration'));
369 $this->editRoles();
370 return false;
371 }
372 // update allow register
373 foreach ($rbacreview->getGlobalRoles() as $role) {
374 if ($role_obj = ilObjectFactory::getInstanceByObjId($role, false)) {
375 $role_obj->setAllowRegister($_POST['roles'][$role] ? 1 : 0);
376 $role_obj->update();
377 }
378 }
379
380 ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
381 $this->view();
382
383 return true;
384 }
static getInstanceByObjId($a_obj_id, $stop_on_error=true)
get an instance of an Ilias object by object id

References $_POST, $DIC, $ilErr, editRoles(), ilObjectFactory\getInstanceByObjId(), ilUtil\sendFailure(), and view().

+ Here is the call graph for this function:

◆ view()

ilRegistrationSettingsGUI::view ( )

Definition at line 229 of file class.ilRegistrationSettingsGUI.php.

230 {
231 global $DIC;
232
233 $ilAccess = $DIC['ilAccess'];
234 $ilErr = $DIC['ilErr'];
235 $ilCtrl = $DIC['ilCtrl'];
236 $ilToolbar = $DIC['ilToolbar'];
237 $ilTabs = $DIC['ilTabs'];
238
239 if (!$ilAccess->checkAccess('read', '', $this->ref_id)) {
240 $ilErr->raiseError($this->lng->txt("msg_no_perm_read"), $ilErr->MESSAGE);
241 }
242
243 $this->setSubTabs();
244
245 // edit new accout mail
246 $ilCtrl->setParameterByClass("ilobjuserfoldergui", "ref_id", USER_FOLDER_ID);
247 $ilToolbar->addButton(
248 $this->lng->txt('registration_user_new_account_mail'),
249 $ilCtrl->getLinkTargetByClass(array("iladministrationgui", "ilobjuserfoldergui"), "newAccountMail")
250 );
251 $ilCtrl->setParameterByClass("ilobjuserfoldergui", "ref_id", $_GET["ref_id"]);
252
253 $this->initForm();
254 $this->initFormValues();
255 $this->tpl->setContent($this->form_gui->getHTML());
256 }
const USER_FOLDER_ID
Class ilObjUserFolder.

References $_GET, $DIC, $ilCtrl, $ilErr, initForm(), initFormValues(), setSubTabs(), and USER_FOLDER_ID.

Referenced by save(), saveAssignment(), saveRoleAccessLimitations(), and updateRoles().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $ctrl

ilRegistrationSettingsGUI::$ctrl

Definition at line 41 of file class.ilRegistrationSettingsGUI.php.

◆ $ref_id

ilRegistrationSettingsGUI::$ref_id

Definition at line 43 of file class.ilRegistrationSettingsGUI.php.

◆ $tpl

ilRegistrationSettingsGUI::$tpl

Definition at line 42 of file class.ilRegistrationSettingsGUI.php.

Referenced by __construct(), and __parseRoleList().

◆ CODE_TYPE_EXTENSION

const ilRegistrationSettingsGUI::CODE_TYPE_EXTENSION = 2

Definition at line 39 of file class.ilRegistrationSettingsGUI.php.

◆ CODE_TYPE_REGISTRATION

const ilRegistrationSettingsGUI::CODE_TYPE_REGISTRATION = 1

Definition at line 38 of file class.ilRegistrationSettingsGUI.php.


The documentation for this class was generated from the following file: