ILIAS  Release_4_2_x_branch Revision 61807
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilRegistrationSettingsGUI Class Reference

Class ilRegistrationSettingsGUI. More...

+ Collaboration diagram for ilRegistrationSettingsGUI:

Public Member Functions

 ilRegistrationSettingsGUI ()
 executeCommand ()
 setSubTabs ($activeTab= 'registration_settings')
 set sub tabs
 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 ()
 addCodes ()
 createCodes ()
 deleteCodes ()
 deleteConfirmation ()
 resetCodesFilter ()
 applyCodesFilter ()
 exportCodes ()

Data Fields

 $ctrl
 $tpl
 $ref_id

Detailed Description

Member Function Documentation

ilRegistrationSettingsGUI::__buildAccessLimitationSelection (   $a_role_id)

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

References $lng, and formSelect().

Referenced by editRoleAccessLimitations().

{
global $lng;
$options = array(
'null' => $lng->txt('please_choose'),
'unlimited' => $lng->txt('reg_access_limitation_mode_unlimited'),
'absolute' => $lng->txt('reg_access_limitation_mode_absolute'),
'relative' => $lng->txt('reg_access_limitation_mode_relative')
);
$attribs = array('onchange' => 'displayAccessLimitationSelectionForm(document.cmd.access_limitation_mode_'.$a_role_id.','.$a_role_id.')');
$selected = $this->access_limitations_obj->getMode($a_role_id);
return ilUtil::formSelect($selected,'access_limitation_mode_'.$a_role_id,$options,false,true,0,"",$attribs);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__buildRoleSelection (   $assignment_id)

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

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

Referenced by editEmailAssignments().

{
include_once './Services/AccessControl/classes/class.ilObjRole.php';
global $rbacreview;
$assignments = $this->assignments_obj->getAssignments();
$selected = ($assignment_id > 0) ?
$assignments[$assignment_id]['role'] :
$this->assignments_obj->getDefaultRole();
if(!$selected)
{
$roles[0] = $this->lng->txt('please_choose');
}
foreach($rbacreview->getGlobalRoles() as $role_id)
{
if($role_id == ANONYMOUS_ROLE_ID)
{
continue;
}
$roles[$role_id] = ilObjRole::_lookupTitle($role_id);
}
if($assignment_id > 0)
{
return ilUtil::formSelect($selected,
"role[$assignment_id][role]",
$roles,false,true);
}
else
{
return ilUtil::formSelect($selected,
"default_role",
$roles,false,true);
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__initRoleAccessLimitations ( )

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

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

{
if(is_object($this->access_limitations_obj))
{
return true;
}
include_once 'Services/Registration/classes/class.ilRegistrationRoleAccessLimitations.php';
$this->access_limitations_obj = new ilRegistrationRoleAccessLimitations();
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__initRoleAssignments ( )

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

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

{
if(is_object($this->assignments_obj))
{
return true;
}
include_once 'Services/Registration/classes/class.ilRegistrationEmailRoleAssignments.php';
$this->assignments_obj = new ilRegistrationRoleAssignments();
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__parseRoleList (   $roles,
  $url 
)

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

References $tpl.

Referenced by initForm().

{
$tpl = new ilTemplate('tpl.registration_roles.html', true, true,'Services/Registration');
$tpl->setVariable("EDIT", $this->lng->txt("edit"));
$tpl->setVariable("LINK_EDIT", $url);
if (is_array($roles) && sizeof($roles))
{
foreach($roles as $role)
{
$tpl->setCurrentBlock("list_item");
$tpl->setVariable("LIST_ITEM_ITEM", $role);
$tpl->parseCurrentBlock();
}
}
else
{
$tpl->setVariable("NONE", $this->lng->txt('none'));
}
return $tpl->get();
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__prepareAccessLimitationRoleList ( )

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

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

Referenced by initForm().

{
global $lng;
include_once './Services/AccessControl/classes/class.ilObjRole.php';
$all = array();
{
switch ($this->access_limitations_obj->getMode($role['id']))
{
case 'absolute':
$txt_access_value = $lng->txt('reg_access_limitation_limited_until');
$txt_access_value .= " ".ilDatePresentation::formatDate(new ilDateTime($this->access_limitations_obj->getAbsolute($role['id'],IL_CAL_UNIX)));
break;
case 'relative':
$years = $this->access_limitations_obj->getRelative($role['id'],'y');
$months = $this->access_limitations_obj->getRelative($role['id'],'m');
$days = $this->access_limitations_obj->getRelative($role['id'],'d');
$txt_access_value = $lng->txt('reg_access_limitation_limited_time')." ";
if ($years)
{
$txt_access_value .= $years." ";
$txt_access_value .= ($years == 1) ? $lng->txt('year') : $lng->txt('years');
if ($months)
{
if ($days)
{
$txt_access_value .= ", ";
}
else
{
$txt_access_value .= " ".$lng->txt('and')." ";
}
}
elseif ($days)
{
$txt_access_value .= " ".$lng->txt('and')." ";
}
}
if ($months)
{
$txt_access_value .= $months." ";
$txt_access_value .= ($months == 1) ? $lng->txt('month') : $lng->txt('months');
if ($days)
{
$txt_access_value .= " ".$lng->txt('and')." ";
}
}
if ($days)
{
$txt_access_value .= $days." ";
$txt_access_value .= ($days == 1) ? $lng->txt('day') : $lng->txt('days');
}
break;
default:
$txt_access_value = $lng->txt('reg_access_limitation_none');
break;
}
$all[] = $role['title'].' ('.$txt_access_value.')';
}
return $all;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__prepareAutomaticRoleList ( )

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

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

Referenced by initForm().

{
include_once './Services/AccessControl/classes/class.ilObjRole.php';
$all = array();
foreach($this->assignments_obj->getAssignments() as $assignment)
{
if(strlen($assignment['domain']) and $assignment['role'])
{
$all[] = $assignment['domain'].' -> '.ilObjRole::_lookupTitle($assignment['role']);
}
}
if(strlen($this->assignments_obj->getDefaultRole()))
{
$all[] = $this->lng->txt('reg_default').' -> '.ilObjRole::_lookupTitle($this->assignments_obj->getDefaultRole());
}
return $all;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__prepareDateSelect (   $a_unix_time)

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

Referenced by editRoleAccessLimitations().

{
if (!$a_unix_time)
{
$a_unix_time = time();
}
return array('y' => date('Y',$a_unix_time),
'm' => date('n',$a_unix_time),
'd' => date('d',$a_unix_time));
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::__prepareRoleList ( )

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

References ilObjRole\_lookupRegisterAllowed().

Referenced by initForm().

{
include_once './Services/AccessControl/classes/class.ilObjRole.php';
$all = array();
{
$all[] = $role['title'];
}
return $all;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::addAssignment ( )

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

References $ilErr, __initRoleAssignments(), editEmailAssignments(), and ilUtil\sendSuccess().

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
$this->assignments_obj->add();
ilUtil::sendSuccess($this->lng->txt('reg_added_assignment'));
return true;
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::addCodes ( )

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

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

{
global $ilAccess, $ilErr;
if(!$ilAccess->checkAccess('write', '', $this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
}
$this->setSubTabs('registration_codes');
$this->initAddCodesForm();
$this->tpl->setContent($this->form_gui->getHTML());
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::applyCodesFilter ( )

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

References listCodes().

{
include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
$utab = new ilRegistrationCodesTableGUI($this, "listCodes");
$utab->resetOffset();
$utab->writeFilterToSession();
$this->listCodes();
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::createCodes ( )

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

References $ilErr, ilRegistrationCode\create(), initAddCodesForm(), ilUtil\sendSuccess(), and setSubTabs().

{
global $ilAccess, $ilErr;
if(!$ilAccess->checkAccess('write', '', $this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"), $ilErr->MESSAGE);
}
$this->setSubTabs('registration_codes');
$this->initAddCodesForm();
if($this->form_gui->checkInput())
{
$number = $this->form_gui->getInput('reg_codes_number');
$role = $this->form_gui->getInput('reg_codes_role');
include_once './Services/Registration/classes/class.ilRegistrationCode.php';
$stamp = time();
for($loop = 1; $loop <= $number; $loop++)
{
}
ilUtil::sendSuccess($this->lng->txt('saved_successfully'), true);
$this->ctrl->redirect($this, "listCodes");
}
else
{
$this->form_gui->setValuesByPost();
$this->tpl->setContent($this->form_gui->getHtml());
}
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::deleteAssignment ( )

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

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

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
if(!count($_POST['del_assign']))
{
ilUtil::sendFailure($this->lng->txt('reg_select_one'));
return false;
}
foreach($_POST['del_assign'] as $assignment_id)
{
$this->assignments_obj->delete($assignment_id);
}
ilUtil::sendSuccess($this->lng->txt('reg_deleted_assignment'));
return true;
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::deleteCodes ( )

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

References $_POST, and ilUtil\sendSuccess().

{
include_once './Services/Registration/classes/class.ilRegistrationCode.php';
ilUtil::sendSuccess($this->lng->txt('info_deleted'), true);
$this->ctrl->redirect($this, "listCodes");
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::deleteConfirmation ( )

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

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

{
global $ilErr, $ilias;
if(!isset($_POST["id"]))
{
$ilErr->raiseError($this->lng->txt("no_checkbox"), $ilErr->MESSAGE);
}
$this->setSubTabs('registration_codes');
include_once './Services/Utilities/classes/class.ilConfirmationGUI.php';
$gui = new ilConfirmationGUI();
$gui->setHeaderText($this->lng->txt("info_delete_sure"));
$gui->setCancel($this->lng->txt("cancel"), "listCodes");
$gui->setConfirm($this->lng->txt("confirm"), "deleteCodes");
$gui->setFormAction($this->ctrl->getFormAction($this, "deleteCodes"));
include_once './Services/Registration/classes/class.ilRegistrationCode.php';
foreach($data as $code)
{
$gui->addItem("id[]", $code["code_id"], $code["code"]);
}
$this->tpl->setContent($gui->getHTML());
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::editEmailAssignments ( )

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

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

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

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.reg_email_role_assignments.html','Services/Registration');
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_EMAIL_ROLE_ASSIGN",$this->lng->txt('reg_email_role_assignment'));
$this->tpl->setVariable("TXT_MAIL",$this->lng->txt('reg_email'));
$this->tpl->setVariable("TXT_ROLE",$this->lng->txt('obj_role'));
$this->tpl->setVariable("TXT_DEFAULT",$this->lng->txt('reg_default'));
$this->tpl->setVariable("ARR_DOWNRIGHT",ilUtil::getImagePath('arrow_downright.gif'));
$this->tpl->setVariable("TXT_DOMAIN",$this->lng->txt('reg_domain'));
$this->tpl->setVariable("BTN_DELETE",$this->lng->txt('delete'));
$this->tpl->setVariable("BTN_SAVE",$this->lng->txt('save'));
$this->tpl->setVariable("BTN_ADD",$this->lng->txt('reg_add_assignment'));
$this->tpl->setVariable("BTN_CANCEL",$this->lng->txt('cancel'));
$counter = 0;
foreach($this->assignments_obj->getAssignments() as $assignment)
{
$this->tpl->setCurrentBlock("roles");
$this->tpl->setVariable("CSSROW",ilUtil::switchColor(++$counter,'tblrow1','tblrow1'));
$this->tpl->setVariable("ASSIGN_ID",$assignment['id']);
$this->tpl->setVariable("DOMAIN",$assignment['domain']);
$this->tpl->setVariable("CHECK_ROLE",ilUtil::formCheckbox(0,'del_assign[]',$assignment['id']));
$this->tpl->setVariable("ROLE_SEL",$this->__buildRoleSelection($assignment['id']));
$this->tpl->parseCurrentBlock();
}
$this->tpl->setVariable("DEF_CSSROW",ilUtil::switchColor(++$counter,'tblrow1','tblrow1'));
$this->tpl->setVariable("TXT_DEFAULT",$this->lng->txt('default'));
$this->tpl->setVariable("DEF_ROLE",$this->__buildRoleSelection(-1));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::editRoleAccessLimitations ( )

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

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

Referenced by saveRoleAccessLimitations().

{
global $lng,$ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.reg_role_access_limitations.html','Services/Registration');
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_REG_ROLE_ACCESS_LIMITATIONS",$lng->txt('reg_role_access_limitations'));
$this->tpl->setVariable("TXT_ROLE",$lng->txt('obj_role'));
$this->tpl->setVariable("TXT_ACCESS_LIMITATION_MODE",$lng->txt('reg_access_limitation_mode'));
$this->tpl->setVariable("BTN_SAVE",$lng->txt('save'));
$this->tpl->setVariable("BTN_CANCEL",$lng->txt('cancel'));
$counter = 0;
include_once './Services/AccessControl/classes/class.ilObjRole.php';
{
$this->tpl->setCurrentBlock("roles");
$this->tpl->setVariable("CSSROW",ilUtil::switchColor(++$counter,'tblrow1','tblrow1'));
$this->tpl->setVariable("ROLE_ID",$role['id']);
$this->tpl->setVariable("ROLE_TITLE",$role['title']);
$this->tpl->setVariable("SEL_ACCESS_LIMITATION",$this->__buildAccessLimitationSelection($role['id']));
$this->tpl->setVariable("CSS_DISPLAY_ABSOLUTE",($this->access_limitations_obj->getMode($role['id']) == 'absolute') ? 'inline' : 'none');
$this->tpl->setVariable("CSS_DISPLAY_RELATIVE",($this->access_limitations_obj->getMode($role['id']) == 'relative') ? 'inline' : 'none');
$this->tpl->setVariable("CSS_DISPLAY_UNLIMITED",($this->access_limitations_obj->getMode($role['id']) == 'unlimited') ? 'inline' : 'none');
$this->tpl->setVariable("TXT_ACCESS_LIMITATION_UNLIMITED", $lng->txt('reg_access_limitation_none'));
$date = $this->__prepareDateSelect($this->access_limitations_obj->getAbsolute($role['id']));
$this->tpl->setVariable("SEL_ACCESS_LIMITATION_ABSOLUTE",ilUtil::makeDateSelect('access_limitation_absolute_'.$role['id'],$date['y'],$date['m'],$date['d'],'2007'));
$this->tpl->setVariable("TXT_DAYS",$lng->txt('days'));
$this->tpl->setVariable("TXT_MONTHS",$lng->txt('months'));
$this->tpl->setVariable("TXT_YEARS",$lng->txt('years'));
$this->tpl->setVariable("DAYS",$this->access_limitations_obj->getRelative($role['id'],'d'));
$this->tpl->setVariable("MONTHS",$this->access_limitations_obj->getRelative($role['id'],'m'));
$this->tpl->setVariable("YEARS",$this->access_limitations_obj->getRelative($role['id'],'y'));
$this->tpl->parseCurrentBlock();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::editRoles ( )

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

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

Referenced by updateRoles().

{
include_once './Services/AccessControl/classes/class.ilObjRole.php';
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
$this->tpl->addBlockfile('ADM_CONTENT','adm_content','tpl.edit_roles.html','Services/Registration');
$this->tpl->setVariable("FORMACTION",$this->ctrl->getFormAction($this));
$this->tpl->setVariable("TXT_SELECTABLE_ROLES",$this->lng->txt('reg_selectable_roles'));
$this->tpl->setVariable("ARR_DOWNRIGHT",ilUtil::getImagePath('arrow_downright.gif'));
$this->tpl->setVariable("ACTIONS",$this->lng->txt('actions'));
$this->tpl->setVariable("UPDATE",$this->lng->txt('save'));
$this->tpl->setVariable("CANCEL",$this->lng->txt('cancel'));
$counter = 0;
foreach($rbacreview->getGlobalRoles() as $role)
{
if($role == SYSTEM_ROLE_ID or $role == ANONYMOUS_ROLE_ID)
{
continue;
}
$this->tpl->setCurrentBlock("roles");
$this->tpl->setVariable("CSSROW",ilUtil::switchColor(++$counter,'tblrow1','tblrow2'));
$this->tpl->setVariable("CHECK_ROLE",ilUtil::formCheckbox(ilObjRole::_lookupAllowRegister($role),
"roles[$role]",
1));
$this->tpl->setVariable("ROLE",ilObjRole::_lookupTitle($role));
$this->tpl->parseCurrentBlock();
}
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::executeCommand ( )

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

References $cmd.

{
$next_class = $this->ctrl->getNextClass($this);
$cmd = $this->ctrl->getCmd();
switch($next_class)
{
default:
if(!$cmd)
{
$cmd = 'view';
}
$this->$cmd();
break;
}
return true;
}
ilRegistrationSettingsGUI::exportCodes ( )

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

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

{
global $ilAccess, $ilErr;
if(!$ilAccess->checkAccess('read', '', $this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read"), $ilErr->MESSAGE);
}
include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
$utab = new ilRegistrationCodesTableGUI($this, "listCodes");
include_once './Services/Registration/classes/class.ilRegistrationCode.php';
$codes = ilRegistrationCode::getCodesForExport($utab->filter["code"], $utab->filter["role"], $utab->filter["generated"]);
if(sizeof($codes))
{
ilUtil::deliverData(implode("\r\n", $codes), "ilias_registration_codes_".date("d-m-Y").".txt","text/plain");
}
else
{
ilUtil::sendFailure($this->lng->txt("registration_export_codes_no_data"));
$this->listCodes();
}
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::ilRegistrationSettingsGUI ( )

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

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

{
global $ilCtrl,$tpl,$lng;
$this->tpl =& $tpl;
$this->ctrl =& $ilCtrl;
$this->lng =& $lng;
$this->lng->loadLanguageModule('administration');
$this->lng->loadLanguageModule('registration');
$this->ref_id = (int) $_GET['ref_id'];
$this->registration_settings = new ilRegistrationSettings();
}
ilRegistrationSettingsGUI::initAddCodesForm ( )

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

References $lng, ilSelectInputGUI\setOptions(), and ilNumberInputGUI\setSize().

Referenced by addCodes(), and createCodes().

{
global $rbacreview, $ilObjDataCache, $lng;
include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
$this->form_gui = new ilPropertyFormGUI();
$this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'createCodes'));
$this->form_gui->setTitle($this->lng->txt('registration_codes_edit_header'));
$count = new ilNumberInputGUI($this->lng->txt('registration_codes_number'), 'reg_codes_number');
$count->setSize(4);
$count->setMaxLength(4);
$count->setMinValue(1);
$count->setMaxValue(1000);
$count->setRequired(true);
$this->form_gui->addItem($count);
include_once './Services/AccessControl/classes/class.ilObjRole.php';
$options = array("" => "");
foreach($rbacreview->getGlobalRoles() as $role_id)
{
if(!in_array($role_id, array(SYSTEM_ROLE_ID, ANONYMOUS_ROLE_ID)))
{
$options[$role_id] = $ilObjDataCache->lookupTitle($role_id);
}
}
$roles = new ilSelectInputGUI($this->lng->txt("registration_codes_roles"), "reg_codes_role");
$roles->setOptions($options);
// $roles->setRequired(true);
$this->form_gui->addItem($roles);
$this->form_gui->addCommandButton('createCodes', $this->lng->txt('create'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::initForm ( )

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

References __parseRoleList(), __prepareAccessLimitationRoleList(), __prepareAutomaticRoleList(), __prepareRoleList(), ilRadioGroupInputGUI\addOption(), ilSubEnabledFormPropertyGUI\addSubItem(), ilRadioOption\addSubItem(), IL_REG_ACTIVATION, IL_REG_APPROVE, IL_REG_CODES, IL_REG_DIRECT, IL_REG_DISABLED, IL_REG_ROLES_EMAIL, IL_REG_ROLES_FIXED, ilRegistrationSettings\REG_HASH_LIFETIME_MIN_VALUE, ilRadioOption\setInfo(), ilFormPropertyGUI\setInfo(), ilTextInputGUI\setSize(), ilNumberInputGUI\setSize(), and ilCheckboxInputGUI\setValue().

Referenced by view().

{
include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
$this->form_gui = new ilPropertyFormGUI();
$this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'save'));
$this->form_gui->setTitle($this->lng->txt('reg_settings_header'));
$reg_type = new ilRadioGroupInputGUI($this->lng->txt('reg_type'), 'reg_type');
$reg_type->addOption(new ilRadioOption($this->lng->txt('reg_disabled'), IL_REG_DISABLED));
$option = new ilRadioOption($this->lng->txt('reg_direct'), IL_REG_DIRECT);
$option->setInfo($this->lng->txt('reg_direct_info'));
$cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_'.IL_REG_DIRECT);
$cd->setInfo($this->lng->txt('reg_allow_codes_info'));
$option->addSubItem($cd);
$reg_type->addOption($option);
$option = new ilRadioOption($this->lng->txt('reg_approve'), IL_REG_APPROVE);
$option->setInfo($this->lng->txt('reg_approve_info'));
$cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_'.IL_REG_APPROVE);
$cd->setInfo($this->lng->txt('reg_allow_codes_info'));
$option->addSubItem($cd);
$reg_type->addOption($option);
$option = new ilRadioOption($this->lng->txt('reg_type_confirmation'), IL_REG_ACTIVATION);
$option->setInfo($this->lng->txt('reg_type_confirmation_info'));
$lt = new ilNumberInputGUI($this->lng->txt('reg_confirmation_hash_life_time'), 'reg_hash_life_time');
$lt->setSize(5);
$lt->setMaxLength(5);
$lt->setRequired(true);
$lt->setInfo($this->lng->txt('reg_confirmation_hash_life_time_info'));
$lt->setSuffix($this->lng->txt('seconds'));
$option->addSubItem($lt);
$cd = new ilCheckboxInputGUI($this->lng->txt('reg_allow_codes'), 'reg_codes_'.IL_REG_ACTIVATION);
$cd->setInfo($this->lng->txt('reg_allow_codes_info'));
$option->addSubItem($cd);
$reg_type->addOption($option);
$option = new ilRadioOption($this->lng->txt('registration_reg_type_codes'), IL_REG_CODES);
$option->setInfo($this->lng->txt('registration_reg_type_codes_info'));
$reg_type->addOption($option);
$this->form_gui->addItem($reg_type);
$pwd_gen = new ilCheckboxInputGUI($this->lng->txt('passwd_generation'), 'reg_pwd');
$pwd_gen->setValue(1);
$pwd_gen->setInfo($this->lng->txt('reg_info_pwd'));
$this->form_gui->addItem($pwd_gen);
$approver = new ilTextInputGUI($this->lng->txt('reg_notification'), 'reg_approver');
$approver->setSize(32);
$approver->setMaxLength(50);
$approver->setInfo($this->lng->txt('reg_notification_info'));
$this->form_gui->addItem($approver);
$roles = new ilRadioGroupInputGUI($this->lng->txt('reg_role_assignment'), 'reg_role_type');
$option = new ilRadioOption($this->lng->txt('reg_fixed'), IL_REG_ROLES_FIXED);
$list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
$edit = $this->ctrl->getLinkTarget($this,'editRoles');
$list->setHtml($this->__parseRoleList($this->__prepareRoleList(), $edit));
$option->addSubItem($list);
$roles->addOption($option);
$option = new ilRadioOption($this->lng->txt('reg_email'), IL_REG_ROLES_EMAIL);
$list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
$edit = $this->ctrl->getLinkTarget($this,'editEmailAssignments');
$list->setHtml($this->__parseRoleList($this->__prepareAutomaticRoleList(), $edit));
$option->addSubItem($list);
$roles->addOption($option);
$this->form_gui->addItem($roles);
$limit = new ilCheckboxInputGUI($this->lng->txt('reg_access_limitations'), 'reg_access_limitation');
$limit->setValue(1);
$list = new ilCustomInputGUI($this->lng->txt('reg_available_roles'));
$edit = $this->ctrl->getLinkTarget($this,'editRoleAccessLimitations');
$list->setHtml($this->__parseRoleList($this->__prepareAccessLimitationRoleList(), $edit));
$limit->addSubItem($list);
$this->form_gui->addItem($limit);
$this->form_gui->addCommandButton('save', $this->lng->txt('save'));
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::initFormValues ( )

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

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

Referenced by view().

{
if($this->registration_settings->roleSelectionEnabled())
{
$role_type = IL_REG_ROLES_FIXED;
}
else if ($this->registration_settings->automaticRoleAssignmentEnabled())
{
$role_type = IL_REG_ROLES_EMAIL;
}
$values = array(
'reg_type' => $this->registration_settings->getRegistrationType(),
'reg_hash_life_time' => (int)$this->registration_settings->getRegistrationHashLifetime(),
'reg_pwd' => $this->registration_settings->passwordGenerationEnabled(),
'reg_approver' => $this->registration_settings->getApproveRecipientLogins(),
'reg_role_type' => $role_type,
'reg_access_limitation' => $this->registration_settings->getAccessLimitation()
);
$allow_codes = $this->registration_settings->getAllowCodes();
$reg_type = $this->registration_settings->getRegistrationType();
if($allow_codes && in_array($reg_type, array(IL_REG_DIRECT, IL_REG_APPROVE, IL_REG_ACTIVATION)))
{
$values['reg_codes_'.$reg_type] = true;
}
$this->form_gui->setValuesByArray($values);
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::listCodes ( )

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

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

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

{
global $ilAccess, $ilErr, $ilCtrl, $ilToolbar;
if(!$ilAccess->checkAccess('read','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read"),$ilErr->MESSAGE);
}
$this->setSubTabs('registration_codes');
$ilToolbar->addButton($this->lng->txt("registration_codes_add"),
$this->ctrl->getLinkTarget($this, "addCodes"));
include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
$ctab = new ilRegistrationCodesTableGUI($this, "listCodes");
$this->tpl->setContent($ctab->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::resetCodesFilter ( )

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

References listCodes().

{
include_once("./Services/Registration/classes/class.ilRegistrationCodesTableGUI.php");
$utab = new ilRegistrationCodesTableGUI($this, "listCodes");
$utab->resetOffset();
$utab->resetFilter();
$this->listCodes();
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::save ( )

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

References $_POST, $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\sendSuccess(), ilUtil\stripSlashes(), and view().

{
global $ilAccess,$ilErr;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
$this->registration_settings->setRegistrationType((int) $_POST['reg_type']);
$this->registration_settings->setPasswordGenerationStatus((int) $_POST['reg_pwd']);
$this->registration_settings->setApproveRecipientLogins(ilUtil::stripSlashes($_POST['reg_approver']));
$this->registration_settings->setRoleType((int) $_POST['reg_role_type']);
$this->registration_settings->setAccessLimitation((int) $_POST['reg_access_limitation']);
$allow_codes = false;
if(in_array((int)$_POST['reg_type'], array(IL_REG_DIRECT, IL_REG_APPROVE, IL_REG_ACTIVATION)))
{
$allow_codes = (bool)$_POST['reg_codes_'.(int)$_POST['reg_type']];
}
$this->registration_settings->setAllowCodes($allow_codes);
if(!preg_match('/^([0]|([1-9][0-9]*))([\.,][0-9][0-9]*)?$/', (int)$_POST['reg_hash_life_time']))
$this->registration_settings->setRegistrationHashLifetime(ilRegistrationSettings::REG_HASH_LIFETIME_MIN_VALUE);
else
$this->registration_settings->setRegistrationHashLifetime(max((int)$_POST['reg_hash_life_time'], ilRegistrationSettings::REG_HASH_LIFETIME_MIN_VALUE));
if($error_code = $this->registration_settings->validate())
{
switch($error_code)
{
ilUtil::sendFailure($this->lng->txt('reg_unknown_recipients').' '.$this->registration_settings->getUnknown());
$this->view();
return false;
ilUtil::sendFailure($this->lng->txt('reg_approve_needs_recipient').' '.$this->registration_settings->getUnknown());
$this->view();
return false;
}
}
$this->registration_settings->save();
ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
$this->view();
return true;
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::saveAssignment ( )

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

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

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
if (!is_array($_POST['domain']))
{
$_POST['domain'] = array();
}
foreach($_POST['domain'] as $id => $data)
{
$this->assignments_obj->setDomain($id,ilUtil::stripSlashes($_POST['domain'][$id]['domain']));
$this->assignments_obj->setRole($id,ilUtil::stripSlashes($_POST['role'][$id]['role']));
}
$this->assignments_obj->setDefaultRole((int) $_POST['default_role']);
if($err = $this->assignments_obj->validate())
{
switch($err)
{
ilUtil::sendFailure($this->lng->txt('reg_missing_domain'));
break;
ilUtil::sendFailure($this->lng->txt('reg_missing_role'));
break;
}
return false;
}
$this->assignments_obj->save();
ilUtil::sendSuccess($this->lng->txt('settings_saved'));
$this->view();
return true;
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::saveRoleAccessLimitations ( )

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

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

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
include_once './Services/AccessControl/classes/class.ilObjRole.php';
{
$this->access_limitations_obj->setMode($_POST['access_limitation_mode_'.$role['id']],$role['id']);
$this->access_limitations_obj->setAbsolute($_POST['access_limitation_absolute_'.$role['id']],$role['id']);
$this->access_limitations_obj->setRelative($_POST['access_limitation_relative_'.$role['id']],$role['id']);
}
//var_dump("<pre>",$_POST,$this->access_limitations_obj->getAbsolute(4),time(),"</pre>");exit;
if($err = $this->access_limitations_obj->validate())
{
switch($err)
{
ilUtil::sendFailure($this->lng->txt('reg_access_limitation_missing_mode'));
break;
ilUtil::sendFailure($this->lng->txt('reg_access_limitation_out_of_date'));
break;
}
return false;
}
$this->access_limitations_obj->save();
ilUtil::sendSuccess($this->lng->txt('settings_saved'));
$this->view();
return true;
}

+ Here is the call graph for this function:

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

set sub tabs

Parameters
string$activeTab

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

References $lng.

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

{
global $ilTabs, $lng;
$ilTabs->addSubTab("registration_settings",
$lng->txt("registration_tab_settings"),
$this->ctrl->getLinkTarget($this, 'view'));
$ilTabs->addSubTab("registration_codes",
$lng->txt("registration_tab_codes"),
$this->ctrl->getLinkTarget($this, 'listCodes'));
$ilTabs->activateSubTab($activeTab);
}

+ Here is the caller graph for this function:

ilRegistrationSettingsGUI::updateRoles ( )

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

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

{
global $ilAccess,$ilErr,$rbacreview;
if(!$ilAccess->checkAccess('write','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_write"),$ilErr->MESSAGE);
}
// Minimum one role
if(count($_POST['roles']) < 1)
{
ilUtil::sendFailure($this->lng->txt('msg_last_role_for_registration'));
$this->editRoles();
return false;
}
// update allow register
foreach($rbacreview->getGlobalRoles() as $role)
{
if($role_obj = ilObjectFactory::getInstanceByObjId($role,false))
{
$role_obj->setAllowRegister($_POST['roles'][$role] ? 1 : 0);
$role_obj->update();
}
}
ilUtil::sendSuccess($this->lng->txt('saved_successfully'));
$this->view();
return true;
}

+ Here is the call graph for this function:

ilRegistrationSettingsGUI::view ( )

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

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

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

{
global $ilAccess, $ilErr, $ilCtrl, $ilToolbar, $ilTabs;
if(!$ilAccess->checkAccess('read','',$this->ref_id))
{
$ilErr->raiseError($this->lng->txt("msg_no_perm_read"),$ilErr->MESSAGE);
}
$this->setSubTabs();
// edit new accout mail
$ilCtrl->setParameterByClass("ilobjuserfoldergui", "ref_id", USER_FOLDER_ID);
$ilToolbar->addButton($this->lng->txt('registration_user_new_account_mail'),
$ilCtrl->getLinkTargetByClass(array("iladministrationgui", "ilobjuserfoldergui"), "newAccountMail"));
$ilCtrl->setParameterByClass("ilobjuserfoldergui", "ref_id", $_GET["ref_id"]);
$this->initForm();
$this->initFormValues();
$this->tpl->setContent($this->form_gui->getHTML());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

Field Documentation

ilRegistrationSettingsGUI::$ctrl

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

ilRegistrationSettingsGUI::$ref_id

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

ilRegistrationSettingsGUI::$tpl

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