ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
ilLDAPSettingsGUI Class Reference
+ Collaboration diagram for ilLDAPSettingsGUI:

Public Member Functions

 __construct ($a_auth_ref_id)
 
 executeCommand ()
 
 getServer ()
 Get server settings. More...
 
 roleAssignments ()
 Edit role assignments. More...
 
 editRoleAssignment ()
 Edit role assignment. More...
 
 updateRoleAssignment ()
 update role assignment More...
 
 confirmDeleteRules ()
 Confirm delete rules. More...
 
 deleteRules ()
 delete role assignment rule More...
 
 addRoleAssignment ()
 add new role assignment More...
 
 deleteRoleMapping ()
 
 chooseMapping ()
 
 saveMapping ()
 
 serverList ()
 
 setServerFormValues ()
 
 save ()
 
 addRoleAutoCompleteObject ()
 Add Member for autoComplete. More...
 
 roleMapping ()
 Role Mapping Tab @global ilToolbarGUI $ilToolbar. More...
 
 editRoleMapping ()
 Edit Assigments for role mapping. More...
 
 createRoleMapping ()
 Check add screen input and save to db @global ilRbacReview $rbacreview. More...
 
 confirmDeleteRoleMapping ()
 confirm delete role mappings More...
 
 addServerSettings ()
 
 editServerSettings ()
 
 confirmDeleteServerSettings ()
 Confirm delete rules. More...
 
 deleteServerSettings ()
 
 userMapping ()
 Ldap User Mapping. More...
 
 activateServer ()
 
 deactivateServer ()
 
 addRoleMapping ()
 Add Assigments for role mapping. More...
 
 updateRoleMapping ()
 Check edit screen input and save to db @global ilRbacReview $rbacreview. More...
 
 saveSyncronizationSettings ()
 save Syncronization Settings on Role Mapping screen More...
 

Protected Member Functions

 setValuesByArray ()
 set values of form array More...
 
 roleSelection ()
 
 showRoleSelection ()
 show role selection More...
 
 saveRoleSelection ()
 Save role selection. More...
 
 checkRoleAssignmentInput ($a_rule_id=0)
 Check role assignment input. More...
 
 getRoleAssignmentTable ()
 Show active role assignments. More...
 
 loadRoleAssignmentRule ($a_rule_id, $a_from_form=true)
 Load input from form. More...
 
 initFormRoleAssignments ($a_mode)
 Init form table for new role assignments. More...
 

Private Member Functions

 initForm ()
 
 setSubTabs ()
 Set sub tabs for ldap section. More...
 
 initServer ()
 
 initAttributeMapping ()
 
 initRoleMapping ()
 
 prepareGlobalRoleSelection ($a_as_select=true)
 New implementation for InputForm. More...
 
 prepareRoleSelect ($a_as_select=true)
 Used for old style table. More...
 
 getMappingFields ()
 
 initUserDefinedFields ()
 
 prepareMappingSelect ()
 
 loadMappingDetails ()
 Load info about hide/show details. More...
 
 hasActiveRoleAssignmentPlugins ()
 Check if the plugin is active. More...
 
 userMappingToolbar ()
 Create Toolbar @global ilToolbarGUI $ilToolbar. More...
 
 initUserMappingForm ()
 Create Property Form GUI for User Mapping. More...
 
 initRoleMappingForm ($command)
 init propertyformgui for Assignment of LDAP Attributes to ILIAS User Profile More...
 

Private Attributes

 $ref_id = null
 
 $server = null
 

Detailed Description

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

@ilCtrl_Calls ilLDAPSettingsGUI:

Definition at line 33 of file class.ilLDAPSettingsGUI.php.

Constructor & Destructor Documentation

◆ __construct()

ilLDAPSettingsGUI::__construct (   $a_auth_ref_id)

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

39 {
40 global $lng,$ilCtrl,$tpl,$ilTabs;
41
42 $this->ctrl = $ilCtrl;
43 $this->tabs_gui = $ilTabs;
44 $this->lng = $lng;
45 $this->lng->loadLanguageModule('ldap');
46
47 $this->tpl = $tpl;
48
49 if($_GET["cmd"] != "addServerSettings")
50 {
51 $this->ctrl->saveParameter($this,'ldap_server_id');
52 }
53
54
55 $this->ref_id = $a_auth_ref_id;
56
57
58 $this->initServer();
59 }
global $tpl
Definition: ilias.php:8
$_GET["client_id"]
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40

References $_GET, $ilCtrl, $lng, $tpl, and initServer().

+ Here is the call graph for this function:

Member Function Documentation

◆ activateServer()

ilLDAPSettingsGUI::activateServer ( )

Definition at line 1642 of file class.ilLDAPSettingsGUI.php.

1643 {
1644 $this->server->toggleActive(1);
1645 $this->server->update();
1646 $this->serverList();
1647 }

References serverList().

+ Here is the call graph for this function:

◆ addRoleAssignment()

ilLDAPSettingsGUI::addRoleAssignment ( )

add new role assignment

@access public

Definition at line 304 of file class.ilLDAPSettingsGUI.php.

305 {
306 global $ilErr,$ilAccess;
307
308 if(!$ilAccess->checkAccess('write','',$this->ref_id))
309 {
310 ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
311 $this->roleAssignment();
312 return false;
313 }
314
315 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
316 include_once('Services/LDAP/classes/class.ilLDAPServer.php');
317
318 $this->initFormRoleAssignments('create');
319 if(!$this->form->checkInput() or ($err = $this->checkRoleAssignmentInput()))
320 {
321 if($err)
322 {
323 ilUtil::sendFailure($this->lng->txt($err));
324 }
325
326 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.ldap_role_assignments.html','Services/LDAP');
327
328 // DONE: wrap this
329 $this->form->setValuesByPost();
330 $this->tpl->setVariable('NEW_ASSIGNMENT_TBL',$this->form->getHTML());
331 $this->tpl->setVariable('RULES_TBL',$this->getRoleAssignmentTable());
332 $this->tabs_gui->setSubTabActive('shib_role_assignment');
333 return true;
334
335 }
336
337 // Might redirect
338 $this->roleSelection();
339
340 $this->rule->create();
341 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
342 unset($_POST);
343 $this->roleAssignments();
344 return true;
345 }
checkRoleAssignmentInput($a_rule_id=0)
Check role assignment input.
roleAssignments()
Edit role assignments.
getRoleAssignmentTable()
Show active role assignments.
initFormRoleAssignments($a_mode)
Init form table for new role assignments.
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
static sendFailure($a_info="", $a_keep=false)
Send Failure Message to Screen.
$_POST['username']
Definition: cron.php:12

References $_POST, $ilErr, checkRoleAssignmentInput(), getRoleAssignmentTable(), initFormRoleAssignments(), roleAssignments(), roleSelection(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ addRoleAutoCompleteObject()

ilLDAPSettingsGUI::addRoleAutoCompleteObject ( )

Add Member for autoComplete.

Definition at line 1311 of file class.ilLDAPSettingsGUI.php.

1312 {
1313 include_once("./Services/Form/classes/class.ilRoleAutoCompleteInputGUI.php");
1315 }
static echoAutoCompleteList()
Static asynchronous default auto complete function.

References ilRoleAutoCompleteInputGUI\echoAutoCompleteList().

+ Here is the call graph for this function:

◆ addRoleMapping()

ilLDAPSettingsGUI::addRoleMapping ( )

Add Assigments for role mapping.

Definition at line 1738 of file class.ilLDAPSettingsGUI.php.

1739 {
1740 $propertie_form = $this->initRoleMappingForm("createRoleMapping");
1741 $propertie_form->getItemByPostVar("url")->setValue($this->server->getUrl());
1742
1743 if(isset($_GET["mapping_id"]))
1744 {
1745 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSetting.php');
1746 $mapping = new ilLDAPRoleGroupMappingSetting($_GET["mapping_id"]);
1747 $mapping->read();
1748
1749 $propertie_form->getItemByPostVar("url")->setValue($mapping->getURL());
1750 $propertie_form->getItemByPostVar("dn")->setValue($mapping->getDN());
1751 $propertie_form->getItemByPostVar("member")->setValue($mapping->getMemberAttribute());
1752 $propertie_form->getItemByPostVar("memberisdn")->setChecked($mapping->getMemberISDN());
1753 $propertie_form->getItemByPostVar("role")->setValue($mapping->getRoleName());
1754 $propertie_form->getItemByPostVar("info")->setValue($mapping->getMappingInfo());
1755 $propertie_form->getItemByPostVar("info_type")->setChecked($mapping->getMappingInfoType());
1756 }
1757
1758 $this->tpl->setContent($propertie_form->getHTML());
1759 }
initRoleMappingForm($command)
init propertyformgui for Assignment of LDAP Attributes to ILIAS User Profile

References $_GET, and initRoleMappingForm().

+ Here is the call graph for this function:

◆ addServerSettings()

ilLDAPSettingsGUI::addServerSettings ( )

Definition at line 1548 of file class.ilLDAPSettingsGUI.php.

1549 {
1550 $this->ctrl->clearParameters($this);
1551
1552 $this->initForm();
1553 return $this->tpl->setContent($this->form_gui->getHtml());
1554 }

References initForm().

+ Here is the call graph for this function:

◆ checkRoleAssignmentInput()

ilLDAPSettingsGUI::checkRoleAssignmentInput (   $a_rule_id = 0)
protected

Check role assignment input.

Returns
Parameters
int$a_rule_id

Definition at line 456 of file class.ilLDAPSettingsGUI.php.

457 {
458 global $ilErr;
459
460 $this->loadRoleAssignmentRule($a_rule_id);
461 $this->rule->validate();
462 return $ilErr->getMessage();
463 }
loadRoleAssignmentRule($a_rule_id, $a_from_form=true)
Load input from form.

References $ilErr, and loadRoleAssignmentRule().

Referenced by addRoleAssignment(), and updateRoleAssignment().

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

◆ chooseMapping()

ilLDAPSettingsGUI::chooseMapping ( )

Definition at line 585 of file class.ilLDAPSettingsGUI.php.

586 {
587 if(!$_POST['mapping_template'])
588 {
589 $this->userMapping();
590 return;
591 }
592
593 $this->initAttributeMapping();
594 $this->mapping->clearRules();
595
596 include_once('Services/LDAP/classes/class.ilLDAPAttributeMappingUtils.php');
597 foreach(ilLDAPAttributeMappingUtils::_getMappingRulesByClass($_POST['mapping_template']) as $key => $value)
598 {
599 $this->mapping->setRule($key,$value,0);
600 }
601 $this->userMapping();
602 return true;
603 }
static _getMappingRulesByClass($a_class)
Get mapping rule by objectClass.
userMapping()
Ldap User Mapping.

References $_POST, ilLDAPAttributeMappingUtils\_getMappingRulesByClass(), initAttributeMapping(), and userMapping().

+ Here is the call graph for this function:

◆ confirmDeleteRoleMapping()

ilLDAPSettingsGUI::confirmDeleteRoleMapping ( )

confirm delete role mappings

Definition at line 1515 of file class.ilLDAPSettingsGUI.php.

1516 {
1517 if(!is_array($_POST['mappings']))
1518 {
1519 ilUtil::sendFailure($this->lng->txt('select_one'), true);
1520 $this->ctrl->redirect($this, "roleMapping");
1521 return false;
1522 }
1523
1524 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
1525 $c_gui = new ilConfirmationGUI();
1526
1527 // set confirm/cancel commands
1528 $c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteRoleMapping"));
1529 $c_gui->setHeaderText($this->lng->txt("ldap_confirm_del_role_ass"));
1530 $c_gui->setCancel($this->lng->txt("cancel"), "roleMapping");
1531 $c_gui->setConfirm($this->lng->txt("confirm"), "deleteRoleMapping");
1532
1533 foreach ($_POST['mappings'] as $id)
1534 {
1535 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSetting.php');
1536 $mapping = new ilLDAPRoleGroupMappingSetting($id);
1537 $mapping->read();
1538 $txt = $this->lng->txt('obj_role') . ": " . $mapping->getRoleName(). ", ";
1539 $txt .= $this->lng->txt('ldap_group_dn') . ": " . $mapping->getDN() . ", ";
1540 $txt .= $this->lng->txt('ldap_server_short') . " " . $mapping->getURL() . ", ";
1541 $txt .= $this->lng->txt('ldap_group_member_short') . " " . $mapping->getMemberAttribute();
1542
1543 $c_gui->addItem("mappings[]", $id, $txt);
1544 }
1545 $this->tpl->setContent($c_gui->getHTML());
1546 }
Confirmation screen class.
$txt
Definition: error.php:12

References $_POST, $txt, and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ confirmDeleteRules()

ilLDAPSettingsGUI::confirmDeleteRules ( )

Confirm delete rules.

@access public

Parameters

Definition at line 243 of file class.ilLDAPSettingsGUI.php.

244 {
245 if(!is_array($_POST['rule_ids']))
246 {
247 ilUtil::sendFailure($this->lng->txt('select_one'));
248 $this->roleAssignments();
249 return false;
250 }
251 $this->setSubTabs();
252 $this->tabs_gui->setTabActive('role_assignments');
253
254 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
255 $c_gui = new ilConfirmationGUI();
256
257 // set confirm/cancel commands
258 $c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteRules"));
259 $c_gui->setHeaderText($this->lng->txt("ldap_confirm_del_role_ass"));
260 $c_gui->setCancel($this->lng->txt("cancel"), "roleAssignments");
261 $c_gui->setConfirm($this->lng->txt("confirm"), "deleteRules");
262
263 // add items to delete
264 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
265 foreach($_POST["rule_ids"] as $rule_id)
266 {
268 $c_gui->addItem('rule_ids[]',$rule_id,$rule->conditionToString());
269 }
270 $this->tpl->setContent($c_gui->getHTML());
271 }
static _getInstanceByRuleId($a_rule_id)
get instance by rule id
setSubTabs()
Set sub tabs for ldap section.

References $_POST, ilLDAPRoleAssignmentRule\_getInstanceByRuleId(), roleAssignments(), ilUtil\sendFailure(), and setSubTabs().

+ Here is the call graph for this function:

◆ confirmDeleteServerSettings()

ilLDAPSettingsGUI::confirmDeleteServerSettings ( )

Confirm delete rules.

@access public

Parameters

Definition at line 1574 of file class.ilLDAPSettingsGUI.php.

1575 {
1576 if(!isset($_GET["ldap_server_id"]))
1577 {
1578 ilUtil::sendFailure($this->lng->txt('select_one'));
1579 $this->serverList();
1580 return false;
1581 }
1582
1583 include_once("Services/Utilities/classes/class.ilConfirmationGUI.php");
1584 $c_gui = new ilConfirmationGUI();
1585
1586 // set confirm/cancel commands
1587 $c_gui->setFormAction($this->ctrl->getFormAction($this, "deleteServerSettings"));
1588 $c_gui->setHeaderText($this->lng->txt("ldap_confirm_del_server_settings"));
1589 $c_gui->setCancel($this->lng->txt("cancel"), "serverList");
1590 $c_gui->setConfirm($this->lng->txt("confirm"), "deleteServerSettings");
1591
1592 // add items to delete
1593 include_once('Services/LDAP/classes/class.ilLDAPServer.php');
1594 foreach((array)$_GET["ldap_server_id"] as $server_id)
1595 {
1596 $setting = new ilLDAPServer($server_id);
1597 $c_gui->addItem('server_ids[]',$server_id,$setting->getName());
1598 }
1599 $this->tpl->setContent($c_gui->getHTML());
1600 }

References $_GET, ilUtil\sendFailure(), and serverList().

+ Here is the call graph for this function:

◆ createRoleMapping()

ilLDAPSettingsGUI::createRoleMapping ( )

Check add screen input and save to db @global ilRbacReview $rbacreview.

Definition at line 1478 of file class.ilLDAPSettingsGUI.php.

1479 {
1480 global $rbacreview;
1481 $propertie_form = $this->initRoleMappingForm("createRoleMapping");
1482
1483 if($propertie_form->checkInput() && $rbacreview->roleExists($propertie_form->getInput("role")))
1484 {
1485 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSetting.php');
1486 $mapping = new ilLDAPRoleGroupMappingSetting(0);
1487 $mapping->setServerId($this->server->getServerId());
1488 $mapping->setURL($propertie_form->getInput("url"));
1489 $mapping->setDN($propertie_form->getInput("dn"));
1490 $mapping->setMemberAttribute($propertie_form->getInput("member"));
1491 $mapping->setMemberISDN($propertie_form->getInput("memberisdn"));
1492 $mapping->setRoleByName($propertie_form->getInput("role"));
1493 $mapping->setMappingInfo($propertie_form->getInput("info"));
1494 $mapping->setMappingInfoType($propertie_form->getInput("info_type"));
1495 $mapping->save();
1496
1497 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1498 $this->ctrl->redirect($this, "roleMapping");
1499 }
1500 else
1501 {
1502 if(!$rbacreview->roleExists($propertie_form->getInput("role")))
1503 {
1504 ilUtil::sendFailure($this->lng->txt("ldap_role_not_exists") . " " .
1505 $propertie_form->getInput("role"));
1506 }
1507 $propertie_form->setValuesByPost();
1508 $this->tpl->setContent($propertie_form->getHTML());
1509 }
1510 }

References initRoleMappingForm(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ deactivateServer()

ilLDAPSettingsGUI::deactivateServer ( )

Definition at line 1649 of file class.ilLDAPSettingsGUI.php.

1650 {
1651 $this->server->toggleActive(0);
1652 $this->server->update();
1653 $this->serverList();
1654 }

References serverList().

+ Here is the call graph for this function:

◆ deleteRoleMapping()

ilLDAPSettingsGUI::deleteRoleMapping ( )

Definition at line 565 of file class.ilLDAPSettingsGUI.php.

566 {
567 if(!count($_POST['mappings']))
568 {
569 ilUtil::sendFailure($this->lng->txt('select_one'));
570 $this->roleMapping();
571 return false;
572 }
573
574 $this->initRoleMapping();
575
576 foreach($_POST['mappings'] as $mapping_id)
577 {
578 $this->role_mapping->delete($mapping_id);
579 }
580 ilUtil::sendSuccess($this->lng->txt('ldap_deleted_role_mapping'));
581 $this->roleMapping();
582 return true;
583 }
roleMapping()
Role Mapping Tab @global ilToolbarGUI $ilToolbar.

References $_POST, initRoleMapping(), roleMapping(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ deleteRules()

ilLDAPSettingsGUI::deleteRules ( )

delete role assignment rule

@access public

Definition at line 279 of file class.ilLDAPSettingsGUI.php.

280 {
281 if(!is_array($_POST['rule_ids']))
282 {
283 ilUtil::sendFailure($this->lng->txt('select_once'));
284 $this->roleAssignments();
285 return false;
286 }
287 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
288 foreach($_POST["rule_ids"] as $rule_id)
289 {
291 $rule->delete();
292 }
293 ilUtil::sendSuccess($this->lng->txt('ldap_deleted_rule'));
294 $this->roleAssignments();
295 return true;
296 }

References $_POST, ilLDAPRoleAssignmentRule\_getInstanceByRuleId(), roleAssignments(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ deleteServerSettings()

ilLDAPSettingsGUI::deleteServerSettings ( )

Definition at line 1605 of file class.ilLDAPSettingsGUI.php.

1606 {
1607 if(!is_array($_POST["server_ids"]))
1608 {
1609 ilUtil::sendFailure($this->lng->txt('select_one'));
1610 $this->serverList();
1611 return false;
1612 }
1613
1614 foreach((array)$_POST["server_ids"] as $server_id)
1615 {
1616 $setting = new ilLDAPServer($server_id);
1617 $setting->delete();
1618 }
1619 ilUtil::sendSuccess($this->lng->txt('deleted'));
1620
1621 $this->serverList();
1622 }

References $_POST, ilUtil\sendFailure(), ilUtil\sendSuccess(), and serverList().

+ Here is the call graph for this function:

◆ editRoleAssignment()

ilLDAPSettingsGUI::editRoleAssignment ( )

Edit role assignment.

@access public

Definition at line 136 of file class.ilLDAPSettingsGUI.php.

137 {
138 if(!(int) $_GET['rule_id'])
139 {
140 ilUtil::sendFailure($this->lng->txt('select_one'));
141 $this->roleAssignments();
142 return false;
143 }
144 $this->setSubTabs();
145 $this->tabs_gui->setTabActive('role_assignments');
146
147 $this->ctrl->saveParameter($this,'rule_id',(int) $_GET['rule_id']);
148 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
149 $this->initFormRoleAssignments('edit',
150 $this->role_mapping_rule = ilLDAPRoleAssignmentRule::_getInstanceByRuleId((int) $_GET['rule_id']));
151 $this->setValuesByArray();
152 $this->tpl->setContent($this->form->getHTML());
153 }
setValuesByArray()
set values of form array

References $_GET, ilLDAPRoleAssignmentRule\_getInstanceByRuleId(), initFormRoleAssignments(), roleAssignments(), ilUtil\sendFailure(), setSubTabs(), and setValuesByArray().

+ Here is the call graph for this function:

◆ editRoleMapping()

ilLDAPSettingsGUI::editRoleMapping ( )

Edit Assigments for role mapping.

Definition at line 1453 of file class.ilLDAPSettingsGUI.php.

1454 {
1455 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSetting.php');
1456 $mapping = new ilLDAPRoleGroupMappingSetting($_GET["mapping_id"]);
1457 $mapping->read();
1458
1459 $propertie_form = $this->initRoleMappingForm("updateRoleMapping");
1460 $propertie_form->setTitle($this->lng->txt('ldap_edit_role_assignment'));
1461 $propertie_form->getItemByPostVar("url")->setValue($mapping->getURL());
1462 $propertie_form->getItemByPostVar("dn")->setValue($mapping->getDN());
1463 $propertie_form->getItemByPostVar("member")->setValue($mapping->getMemberAttribute());
1464 $propertie_form->getItemByPostVar("memberisdn")->setChecked($mapping->getMemberISDN());
1465 $propertie_form->getItemByPostVar("role")->setValue($mapping->getRoleName());
1466 $propertie_form->getItemByPostVar("info")->setValue($mapping->getMappingInfo());
1467 $propertie_form->getItemByPostVar("info_type")->setChecked($mapping->getMappingInfoType());
1468
1469 $this->tpl->setContent($propertie_form->getHTML());
1470 }

References $_GET, and initRoleMappingForm().

+ Here is the call graph for this function:

◆ editServerSettings()

ilLDAPSettingsGUI::editServerSettings ( )

Definition at line 1556 of file class.ilLDAPSettingsGUI.php.

1557 {
1558 $this->setSubTabs();
1559 $this->tabs_gui->setTabActive('settings');
1560
1561 $this->initForm();
1562 $this->setServerFormValues();
1563 return $this->tpl->setContent($this->form_gui->getHtml());
1564 }

References initForm(), setServerFormValues(), and setSubTabs().

+ Here is the call graph for this function:

◆ executeCommand()

ilLDAPSettingsGUI::executeCommand ( )

Definition at line 61 of file class.ilLDAPSettingsGUI.php.

62 {
63 global $ilAccess,$ilias, $ilErr, $ilCtrl;
64
65 $next_class = $this->ctrl->getNextClass($this);
66 $cmd = $this->ctrl->getCmd();
67
68 if(!$ilAccess->checkAccess('write','',$this->ref_id) && $cmd != "serverList")
69 {
70 ilUtil::sendFailure($this->lng->txt('msg_no_perm_write'), true);
71 $ilCtrl->redirect($this, "serverList");
72 }
73
74
75 switch($next_class)
76 {
77 default:
78 if(!$cmd)
79 {
80 $cmd = "serverList";
81 }
82 $this->$cmd();
83 break;
84 }
85 return true;
86 }
$cmd
Definition: sahs_server.php:35

References $cmd, $ilCtrl, $ilErr, and ilUtil\sendFailure().

+ Here is the call graph for this function:

◆ getMappingFields()

ilLDAPSettingsGUI::getMappingFields ( )
private

Definition at line 1104 of file class.ilLDAPSettingsGUI.php.

1105 {
1106 return array('gender' => $this->lng->txt('gender'),
1107 'firstname' => $this->lng->txt('firstname'),
1108 'lastname' => $this->lng->txt('lastname'),
1109 'title' => $this->lng->txt('person_title'),
1110 'institution' => $this->lng->txt('institution'),
1111 'department' => $this->lng->txt('department'),
1112 'street' => $this->lng->txt('street'),
1113 'city' => $this->lng->txt('city'),
1114 'zipcode' => $this->lng->txt('zipcode'),
1115 'country' => $this->lng->txt('country'),
1116 'phone_office' => $this->lng->txt('phone_office'),
1117 'phone_home' => $this->lng->txt('phone_home'),
1118 'phone_mobile' => $this->lng->txt('phone_mobile'),
1119 'fax' => $this->lng->txt('fax'),
1120 'email' => $this->lng->txt('email'),
1121 'hobby' => $this->lng->txt('hobby'),
1122 'matriculation' => $this->lng->txt('matriculation'));
1123 #'photo' => $this->lng->txt('photo'));
1124 }

Referenced by initUserMappingForm(), and saveMapping().

+ Here is the caller graph for this function:

◆ getRoleAssignmentTable()

ilLDAPSettingsGUI::getRoleAssignmentTable ( )
protected

Show active role assignments.

Returns

Definition at line 470 of file class.ilLDAPSettingsGUI.php.

471 {
472 if(count($rules = ilLDAPRoleAssignmentRule::_getRules($this->server->getServerId())))
473 {
474 include_once("./Services/LDAP/classes/class.ilLDAPRoleAssignmentTableGUI.php");
475 $table_gui = new ilLDAPRoleAssignmentTableGUI($this,'roleAssignments');
476 $table_gui->setTitle($this->lng->txt("ldap_tbl_role_ass"));
477 $table_gui->parse($rules);
478 $table_gui->addMultiCommand("confirmDeleteRules", $this->lng->txt("delete"));
479 $table_gui->setSelectAllCheckbox("rule_id");
480 return $table_gui->getHTML();
481 }
482 return '';
483 }
_getRules($a_server_id)
Get all rules.

References ilLDAPRoleAssignmentRule\_getRules().

Referenced by addRoleAssignment().

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

◆ getServer()

ilLDAPSettingsGUI::getServer ( )

Get server settings.

Returns
ilLDAPServer

Definition at line 92 of file class.ilLDAPSettingsGUI.php.

References $server.

Referenced by initAttributeMapping(), initRoleMapping(), loadRoleAssignmentRule(), and roleSelection().

+ Here is the caller graph for this function:

◆ hasActiveRoleAssignmentPlugins()

ilLDAPSettingsGUI::hasActiveRoleAssignmentPlugins ( )
private

Check if the plugin is active.

Returns

Definition at line 1300 of file class.ilLDAPSettingsGUI.php.

1301 {
1302 global $ilPluginAdmin;
1303
1304 return count($ilPluginAdmin->getActivePluginsForSlot(IL_COMP_SERVICE,'LDAP','ldaphk')) ? true : false;
1305 }
const IL_COMP_SERVICE

References IL_COMP_SERVICE.

Referenced by initFormRoleAssignments().

+ Here is the caller graph for this function:

◆ initAttributeMapping()

ilLDAPSettingsGUI::initAttributeMapping ( )
private

Definition at line 1034 of file class.ilLDAPSettingsGUI.php.

1035 {
1036 include_once './Services/LDAP/classes/class.ilLDAPAttributeMapping.php';
1037 $this->mapping = ilLDAPAttributeMapping::_getInstanceByServerId($this->getServer()->getServerId());
1038 }
static _getInstanceByServerId($a_server_id)
Get instance of class.
getServer()
Get server settings.

References ilLDAPAttributeMapping\_getInstanceByServerId(), and getServer().

Referenced by chooseMapping(), save(), saveMapping(), and userMapping().

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

◆ initForm()

ilLDAPSettingsGUI::initForm ( )
private

Definition at line 692 of file class.ilLDAPSettingsGUI.php.

693 {
694 include_once 'Services/Form/classes/class.ilPropertyFormGUI.php';
695
696 $this->form_gui = new ilPropertyFormGUI();
697 $this->form_gui->setFormAction($this->ctrl->getFormAction($this, 'save'));
698 $this->form_gui->setTitle($this->lng->txt('ldap_configure'));
699
700 $active = new ilCheckboxInputGUI($this->lng->txt('auth_ldap_enable'), 'active');
701 $active->setValue(1);
702 $this->form_gui->addItem($active);
703
704 $ds = new ilCheckboxInputGUI($this->lng->txt('ldap_as_ds'), 'ds');
705 $ds->setValue(1);
706 $ds->setInfo($this->lng->txt('ldap_as_ds_info'));
707 $this->form_gui->addItem($ds);
708
709 $servername = new ilTextInputGUI($this->lng->txt('ldap_server_name'), 'server_name');
710 $servername->setRequired(true);
711 $servername->setInfo($this->lng->txt('ldap_server_name_info'));
712 $servername->setSize(32);
713 $servername->setMaxLength(32);
714 $this->form_gui->addItem($servername);
715
716 // start Patch Name Filter
717 $namefilter = new ilTextInputGUI($this->lng->txt('ldap_username_filter'), "name_filter");//ADD LANG VAR
718 $namefilter->setInfo($this->lng->txt("ldap_username_filter_info"));
719 $namefilter->setSize(64);
720 $namefilter->setMaxLength(255);
721 $this->form_gui->addItem($namefilter);
722 // end Patch Name Filter
723
724 $serverurl = new ilTextInputGUI($this->lng->txt('ldap_server'), 'server_url');
725 $serverurl->setRequired(true);
726 $serverurl->setInfo($this->lng->txt('ldap_server_url_info'));
727 $serverurl->setSize(64);
728 $serverurl->setMaxLength(255);
729 $this->form_gui->addItem($serverurl);
730
731 $version = new ilSelectInputGUI($this->lng->txt('ldap_version'), 'version');
732 $version->setOptions(array(2 => 2, 3 => 3));
733 $version->setInfo($this->lng->txt('ldap_server_version_info'));
734 $this->form_gui->addItem($version);
735
736 $basedsn = new ilTextInputGUI($this->lng->txt('basedn'), 'base_dn');
737 $basedsn->setRequired(true);
738 $basedsn->setSize(64);
739 $basedsn->setMaxLength(255);
740 $this->form_gui->addItem($basedsn);
741
742 $referrals = new ilCheckboxInputGUI($this->lng->txt('ldap_referrals'), 'referrals');
743 $referrals->setValue(1);
744 $referrals->setInfo($this->lng->txt('ldap_referrals_info'));
745 $this->form_gui->addItem($referrals);
746
747 $section_security = new ilFormSectionHeaderGUI();
748 $section_security->setTitle($this->lng->txt('ldap_server_security_settings'));
749 $this->form_gui->addItem($section_security);
750
751 $tls = new ilCheckboxInputGUI($this->lng->txt('ldap_tls'), 'tls');
752 $tls->setValue(1);
753 $this->form_gui->addItem($tls);
754
755 $binding = new ilRadioGroupInputGUI($this->lng->txt('ldap_server_binding'), 'binding_type' );
756 $anonymous = new ilRadioOption($this->lng->txt('ldap_bind_anonymous'), IL_LDAP_BIND_ANONYMOUS);
757 $binding->addOption($anonymous);
758 $user = new ilRadioOption($this->lng->txt('ldap_bind_user'), IL_LDAP_BIND_USER);
759 $dn = new ilTextInputGUI($this->lng->txt('ldap_server_bind_dn'), 'bind_dn');
760 $dn->setSize(64);
761 $dn->setMaxLength(255);
762 $user->addSubItem($dn);
763 $pass = new ilPasswordInputGUI($this->lng->txt('ldap_server_bind_pass'), 'bind_pass');
764 $pass->setSkipSyntaxCheck(true);
765 $pass->setSize(12);
766 $pass->setMaxLength(36);
767 $user->addSubItem($pass);
768 $binding->addOption($user);
769 $this->form_gui->addItem($binding);
770
771 $section_auth = new ilFormSectionHeaderGUI();
772 $section_auth->setTitle($this->lng->txt('ldap_authentication_settings'));
773 $this->form_gui->addItem($section_auth);
774
775 $search_base = new ilTextInputGUI($this->lng->txt('ldap_user_dn'), 'search_base');
776 $search_base->setInfo($this->lng->txt('ldap_search_base_info'));
777 $search_base->setSize(64);
778 $search_base->setMaxLength(255);
779 $this->form_gui->addItem($search_base);
780
781 $user_scope = new ilSelectInputGUI($this->lng->txt('ldap_user_scope'), 'user_scope');
782 $user_scope->setOptions(array(IL_LDAP_SCOPE_ONE => $this->lng->txt('ldap_scope_one'),
783 IL_LDAP_SCOPE_SUB => $this->lng->txt('ldap_scope_sub')));
784 $user_scope->setInfo($this->lng->txt('ldap_user_scope_info'));
785 $this->form_gui->addItem($user_scope);
786
787 $user_attribute = new ilTextInputGUI($this->lng->txt('ldap_user_attribute'), 'user_attribute');
788 $user_attribute->setSize(16);
789 $user_attribute->setMaxLength(64);
790 $user_attribute->setRequired(true);
791 $this->form_gui->addItem($user_attribute);
792
793 $filter = new ilTextInputGUI($this->lng->txt('ldap_search_filter'), 'filter');
794 $filter->setInfo($this->lng->txt('ldap_filter_info'));
795 $filter->setSize(64);
796 $filter->setMaxLength(512);
797 $this->form_gui->addItem($filter);
798
799 $section_restrictions = new ilFormSectionHeaderGUI();
800 $section_restrictions->setTitle($this->lng->txt('ldap_group_restrictions'));
801 $this->form_gui->addItem($section_restrictions);
802
803 $group_dn = new ilTextInputGUI($this->lng->txt('ldap_group_search_base'), 'group_dn');
804 $group_dn->setInfo($this->lng->txt('ldap_group_dn_info'));
805 $group_dn->setSize(64);
806 $group_dn->setMaxLength(255);
807 $this->form_gui->addItem($group_dn);
808
809 $group_scope = new ilSelectInputGUI($this->lng->txt('ldap_group_scope'), 'group_scope');
810 $group_scope->setOptions(array(IL_LDAP_SCOPE_ONE => $this->lng->txt('ldap_scope_one'),
811 IL_LDAP_SCOPE_SUB => $this->lng->txt('ldap_scope_sub')));
812 $group_scope->setInfo($this->lng->txt('ldap_group_scope_info'));
813 $this->form_gui->addItem($group_scope);
814
815 $group_filter = new ilTextInputGUI($this->lng->txt('ldap_group_filter'), 'group_filter');
816 $group_filter->setInfo($this->lng->txt('ldap_group_filter_info'));
817 $group_filter->setSize(64);
818 $group_filter->setMaxLength(255);
819 $this->form_gui->addItem($group_filter);
820
821 $group_member = new ilTextInputGUI($this->lng->txt('ldap_group_member'), 'group_member');
822 $group_member->setInfo($this->lng->txt('ldap_group_member_info'));
823 $group_member->setSize(32);
824 $group_member->setMaxLength(255);
825 $this->form_gui->addItem($group_member);
826
827
828 $group_member_isdn = new ilCheckboxInputGUI($this->lng->txt('ldap_memberisdn'), 'memberisdn');
829 #$group_member_isdn->setInfo($this->lng->txt('ldap_group_member_info'));
830 $this->form_gui->addItem($group_member_isdn);
831 #$group_member->addSubItem($group_member_isdn);
832
833 $group = new ilTextInputGUI($this->lng->txt('ldap_group_name'), 'group');
834 $group->setInfo($this->lng->txt('ldap_group_name_info'));
835 $group->setSize(32);
836 $group->setMaxLength(255);
837 $this->form_gui->addItem($group);
838
839 $group_atrr = new ilTextInputGUI($this->lng->txt('ldap_group_attribute'), 'group_attribute');
840 $group_atrr->setInfo($this->lng->txt('ldap_group_attribute_info'));
841 $group_atrr->setSize(16);
842 $group_atrr->setMaxLength(64);
843 $this->form_gui->addItem($group_atrr);
844
845 $group_optional = new ilCheckboxInputGUI($this->lng->txt('ldap_group_membership'), 'group_optional');
846 $group_optional->setOptionTitle($this->lng->txt('ldap_group_member_optional'));
847 $group_optional->setInfo($this->lng->txt('ldap_group_optional_info'));
848 $group_optional->setValue(1);
849 $group_user_filter = new ilTextInputGUI($this->lng->txt('ldap_group_user_filter'), 'group_user_filter');
850 $group_user_filter->setSize(64);
851 $group_user_filter->setMaxLength(255);
852 $group_optional->addSubItem($group_user_filter);
853 $this->form_gui->addItem($group_optional);
854
855 $section_sync = new ilFormSectionHeaderGUI();
856 $section_sync->setTitle($this->lng->txt('ldap_user_sync'));
857 $this->form_gui->addItem($section_sync);
858
859 $ci_gui = new ilCustomInputGUI($this->lng->txt('ldap_moment_sync'));
860 $sync_on_login = new ilCheckboxInputGUI($this->lng->txt('ldap_sync_login'), 'sync_on_login');
861 $sync_on_login->setValue(1);
862 $ci_gui->addSubItem($sync_on_login);
863 $sync_per_cron = new ilCheckboxInputGUI($this->lng->txt('ldap_sync_cron'), 'sync_per_cron');
864 $sync_per_cron->setValue(1);
865 $ci_gui->addSubItem($sync_per_cron);
866 $ci_gui->setInfo($this->lng->txt('ldap_user_sync_info'));
867 $this->form_gui->addItem($ci_gui);
868
869 $global_role = new ilSelectInputGUI($this->lng->txt('ldap_global_role_assignment'), 'global_role');
870 $global_role->setOptions($this->prepareRoleSelect(false));
871 $global_role->setInfo($this->lng->txt('ldap_global_role_info'));
872 $this->form_gui->addItem($global_role);
873
874 $migr = new ilCheckboxInputGUI($this->lng->txt('auth_ldap_migration'), 'migration');
875 $migr->setInfo($this->lng->txt('auth_ldap_migration_info'));
876 $migr->setValue(1);
877 $this->form_gui->addItem($migr);
878
879
880 include_once "Services/Administration/classes/class.ilAdministrationSettingsFormHandler.php";
883 $this->form_gui,
885 );
886
887
888 $this->form_gui->addCommandButton('save', $this->lng->txt('save'));
889 if($_GET["cmd"] == "addServerSettings")
890 {
891 $this->form_gui->addCommandButton('serverList',$this->lng->txt('cancel'));
892 }
893 }
const IL_LDAP_BIND_USER
const IL_LDAP_BIND_ANONYMOUS
const IL_LDAP_SCOPE_SUB
const IL_LDAP_SCOPE_ONE
static addFieldsToForm($a_form_id, ilPropertyFormGUI $a_form, ilObjectGUI $a_parent_gui)
This class represents a checkbox property in a property form.
This class represents a custom property in a property form.
This class represents a section header in a property form.
prepareRoleSelect($a_as_select=true)
Used for old style table.
This class represents a password 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 $_GET, $pass, ilAdministrationSettingsFormHandler\addFieldsToForm(), ilAdministrationSettingsFormHandler\FORM_LDAP, ilAdministrationSettingsFormHandler\getSettingsGUIInstance(), IL_LDAP_BIND_ANONYMOUS, IL_LDAP_BIND_USER, IL_LDAP_SCOPE_ONE, IL_LDAP_SCOPE_SUB, and prepareRoleSelect().

Referenced by addServerSettings(), editServerSettings(), and save().

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

◆ initFormRoleAssignments()

ilLDAPSettingsGUI::initFormRoleAssignments (   $a_mode)
protected

Init form table for new role assignments.

Parameters
stringmode edit | create
objectobject of ilLDAPRoleAsssignmentRule @access protected

Definition at line 1171 of file class.ilLDAPSettingsGUI.php.

1172 {
1173 include_once('Services/Form/classes/class.ilPropertyFormGUI.php');
1174 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
1175
1176 $this->form = new ilPropertyFormGUI();
1177 $this->form->setFormAction($this->ctrl->getFormAction($this));
1178
1179 switch($a_mode)
1180 {
1181 case 'edit':
1182 $this->form->setTitle($this->lng->txt('ldap_edit_role_ass_rule'));
1183 $this->form->addCommandButton('updateRoleAssignment',$this->lng->txt('save'));
1184 //$this->form->addCommandButton('roleAssignments',$this->lng->txt('cancel'));
1185 break;
1186 case 'create':
1187 $this->form->setTitle($this->lng->txt('ldap_add_role_ass_rule'));
1188 $this->form->addCommandButton('addRoleAssignment',$this->lng->txt('ldap_btn_add_role_ass'));
1189 //$this->form->addCommandButton('roleAssignments',$this->lng->txt('cancel'));
1190 break;
1191 }
1192
1193 // Role Selection
1194 $role = new ilRadioGroupInputGUI($this->lng->txt('ldap_ilias_role'),'role_name');
1195 $role->setRequired(true);
1196
1197 $global = new ilRadioOption($this->lng->txt('ldap_global_role'),0);
1198 $role->addOption($global);
1199
1200 $role_select = new ilSelectInputGUI('','role_id');
1201 $role_select->setOptions($this->prepareGlobalRoleSelection());
1202 $global->addSubItem($role_select);
1203
1204 $local = new ilRadioOption($this->lng->txt('ldap_local_role'),1);
1205 $role->addOption($local);
1206
1207 include_once './Services/Form/classes/class.ilRoleAutoCompleteInputGUI.php';
1208 $role_search = new ilRoleAutoCompleteInputGUI('','role_search',$this,'addRoleAutoCompleteObject');
1209 $role_search->setSize(40);
1210 $local->addSubItem($role_search);
1211
1212 $role->setInfo($this->lng->txt('ldap_role_name_info'));
1213 $this->form->addItem($role);
1214
1215 // Update options
1216 $update = new ilNonEditableValueGUI($this->lng->txt('ldap_update_roles'),'update_roles');
1217 $update->setValue($this->lng->txt('ldap_check_role_assignment'));
1218
1219 $add = new ilCheckboxInputGUI('','add_missing');
1220 $add->setOptionTitle($this->lng->txt('ldap_add_missing'));
1221 $update->addSubItem($add);
1222
1223 $remove = new ilCheckboxInputGUI('','remove_deprecated');
1224 $remove->setOptionTitle($this->lng->txt('ldap_remove_deprecated'));
1225 $update->addSubItem($remove);
1226
1227 $this->form->addItem($update);
1228
1229
1230
1231 // Assignment Type
1232 $group = new ilRadioGroupInputGUI($this->lng->txt('ldap_assignment_type'),'type');
1233 #$group->setValue($current_rule->getType());
1234 $group->setRequired(true);
1235
1236 // Option by group
1237 $radio_group = new ilRadioOption($this->lng->txt('ldap_role_by_group'),ilLDAPRoleAssignmentRule::TYPE_GROUP);
1238
1239 $dn = new ilTextInputGUI($this->lng->txt('ldap_group_dn'),'dn');
1240 #$dn->setValue($current_rule->getDN());
1241 $dn->setSize(32);
1242 $dn->setMaxLength(512);
1243 $dn->setInfo($this->lng->txt('ldap_role_grp_dn_info'));
1244 $radio_group->addSubItem($dn);
1245 $at = new ilTextInputGUI($this->lng->txt('ldap_role_grp_at'),'at');
1246 #$at->setValue($current_rule->getMemberAttribute());
1247 $at->setSize(16);
1248 $at->setMaxLength(128);
1249 $radio_group->addSubItem($at);
1250 $isdn = new ilCheckboxInputGUI($this->lng->txt('ldap_role_grp_isdn'),'isdn');
1251 #$isdn->setChecked($current_rule->isMemberAttributeDN());
1252 $isdn->setInfo($this->lng->txt('ldap_group_member_info'));
1253 $radio_group->addSubItem($isdn);
1254 $radio_group->setInfo($this->lng->txt('ldap_role_grp_info'));
1255
1256 $group->addOption($radio_group);
1257
1258 // Option by Attribute
1259 $radio_attribute = new ilRadioOption($this->lng->txt('ldap_role_by_attribute'),ilLDAPRoleAssignmentRule::TYPE_ATTRIBUTE);
1260 $name = new ilTextInputGUI($this->lng->txt('ldap_role_at_name'),'name');
1261 #$name->setValue($current_rule->getAttributeName());
1262 $name->setSize(32);
1263 $name->setMaxLength(128);
1264 #$name->setInfo($this->lng->txt('ldap_role_at_name_info'));
1265 $radio_attribute->addSubItem($name);
1266
1267 // Radio Attribute
1268 $val = new ilTextInputGUI($this->lng->txt('ldap_role_at_value'),'value');
1269 #$val->setValue($current_rule->getAttributeValue());
1270 $val->setSize(32);
1271 $val->setMaxLength(128);
1272 #$val->setInfo($this->lng->txt('ldap_role_at_value_info'));
1273 $radio_attribute->addSubItem($val);
1274 $radio_attribute->setInfo($this->lng->txt('ldap_role_at_info'));
1275
1276 $group->addOption($radio_attribute);
1277
1278 // Option by Plugin
1279 $pl_active = (bool) $this->hasActiveRoleAssignmentPlugins();
1280 $pl = new ilRadioOption($this->lng->txt('ldap_plugin'),3);
1281 $pl->setInfo($this->lng->txt('ldap_plugin_info'));
1282 $pl->setDisabled(!$pl_active);
1283
1284 $id = new ilNumberInputGUI($this->lng->txt('ldap_plugin_id'),'plugin_id');
1285 $id->setDisabled(!$pl_active);
1286 $id->setSize(3);
1287 $id->setMaxLength(3);
1288 $id->setMaxValue(999);
1289 $id->setMinValue(1);
1290 $pl->addSubItem($id);
1291
1292 $group->addOption($pl);
1293 $this->form->addItem($group);
1294 }
prepareGlobalRoleSelection($a_as_select=true)
New implementation for InputForm.
hasActiveRoleAssignmentPlugins()
Check if the plugin is active.
This class represents a non editable value in a property form.
This class represents a number property in a property form.
This class represents a role + autocomplete feature form input.

References hasActiveRoleAssignmentPlugins(), prepareGlobalRoleSelection(), ilLDAPRoleAssignmentRule\TYPE_ATTRIBUTE, and ilLDAPRoleAssignmentRule\TYPE_GROUP.

Referenced by addRoleAssignment(), editRoleAssignment(), roleAssignments(), and updateRoleAssignment().

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

◆ initRoleMapping()

ilLDAPSettingsGUI::initRoleMapping ( )
private

Definition at line 1040 of file class.ilLDAPSettingsGUI.php.

1041 {
1042 include_once './Services/LDAP/classes/class.ilLDAPRoleGroupMappingSettings.php';
1043 $this->role_mapping = ilLDAPRoleGroupMappingSettings::_getInstanceByServerId($this->getServer()->getServerId());
1044 }
static _getInstanceByServerId($a_server_id)
Get instance of class.

References ilLDAPRoleGroupMappingSettings\_getInstanceByServerId(), and getServer().

Referenced by deleteRoleMapping().

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

◆ initRoleMappingForm()

ilLDAPSettingsGUI::initRoleMappingForm (   $command)
private

init propertyformgui for Assignment of LDAP Attributes to ILIAS User Profile

Parameters
string$commandcommand methode
Returns
\ilPropertyFormGUI

Definition at line 1664 of file class.ilLDAPSettingsGUI.php.

1665 {
1666 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1667 $this->setSubTabs();
1668 $this->tabs_gui->setTabActive('role_mapping');
1669
1670 if(isset($_GET["mapping_id"]))
1671 {
1672 $this->ctrl->setParameter($this,'mapping_id', $_GET["mapping_id"]);
1673 }
1674
1675 $propertie_form = new ilPropertyFormGUI();
1676 $propertie_form->setTitle($this->lng->txt('ldap_mapping_table'));
1677 $propertie_form->setFormAction($this->ctrl->getFormAction($this, $command));
1678 $propertie_form->addCommandButton($command ,$this->lng->txt('save'));
1679 $propertie_form->addCommandButton("roleMapping", $this->lng->txt('cancel'));
1680
1681 $url = new ilTextInputGUI($this->lng->txt('ldap_server'));
1682 $url->setPostVar("url");
1683 $url->setSize(50);
1684 $url->setMaxLength(255);
1685 $url->setRequired(true);
1686
1687 $group_dn = new ilTextInputGUI($this->lng->txt('ldap_group_dn'));
1688 $group_dn->setPostVar("dn");
1689 $group_dn->setSize(50);
1690 $group_dn->setMaxLength(255);
1691 $group_dn->setInfo($this->lng->txt('ldap_dn_info'));
1692 $group_dn->setRequired(true);
1693
1694 $member = new ilTextInputGUI($this->lng->txt('ldap_group_member'));
1695 $member->setPostVar("member");
1696 $member->setSize(32);
1697 $member->setMaxLength(255);
1698 $member->setInfo($this->lng->txt('ldap_member_info'));
1699 $member->setRequired(true);
1700
1701 $member_isdn = new ilCheckboxInputGUI("");
1702 $member_isdn->setPostVar("memberisdn");
1703 $member_isdn->setOptionTitle($this->lng->txt('ldap_memberisdn'));
1704
1705 $role = new ilTextInputGUI($this->lng->txt('ldap_ilias_role'));
1706 $role->setPostVar("role");
1707 $role->setSize(32);
1708 $role->setMaxLength(255);
1709 $role->setInfo($this->lng->txt('ldap_role_info'));
1710 $role->setRequired(true);
1711
1712 $info = new ilTextAreaInputGUI($this->lng->txt('ldap_info_text'));
1713 $info->setPostVar("info");
1714 $info->setCols(50);
1715 $info->setRows(3);
1716 $info->setInfo($this->lng->txt('ldap_info_text_info'));
1717
1718 $info_type = new ilCheckboxInputGUI("");
1719 $info_type->setPostVar("info_type");
1720 $info_type->setOptionTitle($this->lng->txt('ldap_mapping_info_type'));
1721
1722 $propertie_form->addItem($url);
1723 $propertie_form->addItem($group_dn);
1724 $propertie_form->addItem($member);
1725 $propertie_form->addItem($member_isdn);
1726 $propertie_form->addItem($role);
1727 $propertie_form->addItem($info);
1728 $propertie_form->addItem($info_type);
1729
1730 return $propertie_form;
1731 }
This class represents a text area property in a property form.
$info
Definition: example_052.php:80
$url
Definition: shib_logout.php:72

References $_GET, $info, $url, and setSubTabs().

Referenced by addRoleMapping(), createRoleMapping(), editRoleMapping(), and updateRoleMapping().

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

◆ initServer()

ilLDAPSettingsGUI::initServer ( )
private

Definition at line 1024 of file class.ilLDAPSettingsGUI.php.

1025 {
1026 include_once './Services/LDAP/classes/class.ilLDAPServer.php';
1027 if(!$_REQUEST['ldap_server_id'])
1028 {
1029 $_REQUEST['ldap_server_id'] = 0;
1030 }
1031 $this->server = new ilLDAPServer((int) $_REQUEST['ldap_server_id']);
1032 }
if($_REQUEST['ilias_path']) define('ILIAS_HTTP_PATH' $_REQUEST['ilias_path']
Definition: index.php:7

References $_REQUEST.

Referenced by __construct().

+ Here is the caller graph for this function:

◆ initUserDefinedFields()

ilLDAPSettingsGUI::initUserDefinedFields ( )
private

Definition at line 1126 of file class.ilLDAPSettingsGUI.php.

1127 {
1128 include_once("./Services/User/classes/class.ilUserDefinedFields.php");
1129 $this->udf = ilUserDefinedFields::_getInstance();
1130 }
static _getInstance()
Get instance.

References ilUserDefinedFields\_getInstance().

Referenced by initUserMappingForm(), and saveMapping().

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

◆ initUserMappingForm()

ilLDAPSettingsGUI::initUserMappingForm ( )
private

Create Property Form GUI for User Mapping.

Returns
\ilPropertyFormGUI

Definition at line 1349 of file class.ilLDAPSettingsGUI.php.

1350 {
1351 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1352 $propertie_form = new ilPropertyFormGUI();
1353 $propertie_form->setTitle($this->lng->txt('ldap_mapping_table'));
1354 $propertie_form->setFormAction($this->ctrl->getFormAction($this, 'saveMapping'));
1355 $propertie_form->addCommandButton('saveMapping',$this->lng->txt('save'));
1356
1357 foreach($this->getMappingFields() as $mapping => $lang)
1358 {
1359 $text_form = new ilTextInputGUI($lang);
1360 $text_form->setPostVar($mapping."_value");
1361 $text_form->setValue($this->mapping->getValue($mapping));
1362 $text_form->setSize(32);
1363 $text_form->setMaxLength(255);
1364 $propertie_form->addItem($text_form);
1365
1366 $checkbox_form = new ilCheckboxInputGUI("");
1367 $checkbox_form->setPostVar($mapping . "_update");
1368 $checkbox_form->setChecked($this->mapping->enabledUpdate($mapping));
1369 $checkbox_form->setOptionTitle($this->lng->txt('ldap_update_field_info'));
1370 $propertie_form->addItem($checkbox_form);
1371 }
1372
1373 $this->initUserDefinedFields();
1374 foreach($this->udf->getDefinitions() as $definition)
1375 {
1376 $text_form = new ilTextInputGUI($definition['field_name']);
1377 $text_form->setPostVar('udf_'.$definition['field_id'].'_value');
1378 $text_form->setValue($this->mapping->getValue('udf_'.$definition['field_id']));
1379 $text_form->setSize(32);
1380 $text_form->setMaxLength(255);
1381 $propertie_form->addItem($text_form);
1382
1383 $checkbox_form = new ilCheckboxInputGUI("");
1384 $checkbox_form->setPostVar('udf_'.$definition['field_id'].'_update');
1385 $checkbox_form->setChecked($this->mapping->enabledUpdate('udf_'.$definition['field_id']));
1386 $checkbox_form->setOptionTitle($this->lng->txt('ldap_update_field_info'));
1387 $propertie_form->addItem($checkbox_form);
1388 }
1389
1390 return $propertie_form;
1391 }

References $lang, getMappingFields(), and initUserDefinedFields().

Referenced by userMapping().

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

◆ loadMappingDetails()

ilLDAPSettingsGUI::loadMappingDetails ( )
private

Load info about hide/show details.

@access private

Definition at line 1147 of file class.ilLDAPSettingsGUI.php.

1148 {
1149 if(!isset($_SESSION['ldap_mapping_details']))
1150 {
1151 $_SESSION['ldap_mapping_details'] = array();
1152 }
1153 if(isset($_GET['details_show']))
1154 {
1155 $_SESSION['ldap_mapping_details'][$_GET['details_show']] = $_GET['details_show'];
1156 }
1157 if(isset($_GET['details_hide']))
1158 {
1159 unset($_SESSION['ldap_mapping_details'][$_GET['details_hide']]);
1160 }
1161 }
$_SESSION["AccountId"]

References $_GET, and $_SESSION.

◆ loadRoleAssignmentRule()

ilLDAPSettingsGUI::loadRoleAssignmentRule (   $a_rule_id,
  $a_from_form = true 
)
protected

Load input from form.

Returns
Parameters
object$a_rule_id

Definition at line 491 of file class.ilLDAPSettingsGUI.php.

492 {
493 if(is_object($this->rule))
494 {
495 return true;
496 }
497
498 include_once './Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php';
499 $this->rule = ilLDAPRoleAssignmentRule::_getInstanceByRuleId($a_rule_id);
500
501
502 if($a_from_form)
503 {
504 if($this->form->getInput('role_name') == 0)
505 {
506 $this->rule->setRoleId($this->form->getInput('role_id'));
507 }
508 elseif($this->form->getInput('role_search'))
509 {
510 // Search role
511 include_once './Services/Search/classes/class.ilQueryParser.php';
512
513 $parser = new ilQueryParser('"'.$this->form->getInput('role_search').'"');
514
515 // TODO: Handle minWordLength
516 $parser->setMinWordLength(1,true);
517 $parser->setCombination(QP_COMBINATION_AND);
518 $parser->parse();
519
520 include_once 'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
521 $object_search = new ilLikeObjectSearch($parser);
522 $object_search->setFilter(array('role'));
523 $res = $object_search->performSearch();
524
525 $entries = $res->getEntries();
526 if(count($entries) == 1)
527 {
528 $role = current($entries);
529 $this->rule->setRoleId($role['obj_id']);
530 }
531 elseif(count($entries) > 1)
532 {
533 $this->rule->setRoleId(-1);
534 }
535 }
536
537 $this->rule->setAttributeName($this->form->getInput('name'));
538 $this->rule->setAttributeValue($this->form->getInput('value'));
539 $this->rule->setDN($this->form->getInput('dn'));
540 $this->rule->setMemberAttribute($this->form->getInput('at'));
541 $this->rule->setMemberIsDN($this->form->getInput('isdn'));
542 $this->rule->enableAddOnUpdate($this->form->getInput('add_missing'));
543 $this->rule->enableRemoveOnUpdate($this->form->getInput('remove_deprecated'));
544 $this->rule->setPluginId($this->form->getInput('plugin_id'));
545 $this->rule->setType($this->form->getInput('type'));
546 $this->rule->setServerId($this->getServer()->getServerId());
547 return true;
548 }
549
550 // LOAD from session
551 $this->rule = ilLDAPRoleAssignmentRule::_getInstanceByRuleId($a_rule_id);
552 $this->rule->setServerId($this->getServer()->getServerId());
553 $this->rule->enableAddOnUpdate((int) $_SESSION['ldap_role_ass']['add_on_update']);
554 $this->rule->enableRemoveOnUpdate((int) $_SESSION['ldap_role_ass']['remove_on_update']);
555 $this->rule->setType(ilUtil::stripSlashes($_SESSION['ldap_role_ass']['type']));
556 $this->rule->setDN(ilUtil::stripSlashes($_SESSION['ldap_role_ass']['dn']));
557 $this->rule->setMemberAttribute( ilUtil::stripSlashes($_SESSION['ldap_role_ass']['at']));
558 $this->rule->setMemberIsDN( ilUtil::stripSlashes($_SESSION['ldap_role_ass']['isdn']));
559 $this->rule->setAttributeName( ilUtil::stripSlashes($_SESSION['ldap_role_ass']['name']));
560 $this->rule->setAttributeValue(ilUtil::stripSlashes($_SESSION['ldap_role_ass']['value']));
561 $this->rule->setPluginId(ilUtil::stripSlashes($_SESSION['ldap_role_ass']['plugin']));
562 return true;
563 }
const QP_COMBINATION_AND
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled

References $_SESSION, $res, ilLDAPRoleAssignmentRule\_getInstanceByRuleId(), getServer(), QP_COMBINATION_AND, and ilUtil\stripSlashes().

Referenced by checkRoleAssignmentInput(), and saveRoleSelection().

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

◆ prepareGlobalRoleSelection()

ilLDAPSettingsGUI::prepareGlobalRoleSelection (   $a_as_select = true)
private

New implementation for InputForm.

Returns
Parameters
object$a_as_select,[optional]

Definition at line 1051 of file class.ilLDAPSettingsGUI.php.

1052 {
1053 global $rbacreview,$ilObjDataCache;
1054
1055 $global_roles = ilUtil::_sortIds($rbacreview->getGlobalRoles(),
1056 'object_data',
1057 'title',
1058 'obj_id');
1059
1060 $select[0] = $this->lng->txt('links_select_one');
1061 foreach($global_roles as $role_id)
1062 {
1063 $select[$role_id] = ilObject::_lookupTitle($role_id);
1064 }
1065 return $select;
1066 }
static _lookupTitle($a_id)
lookup object title
static _sortIds($a_ids, $a_table, $a_field, $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,...

References ilObject\_lookupTitle(), and ilUtil\_sortIds().

Referenced by initFormRoleAssignments().

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

◆ prepareMappingSelect()

ilLDAPSettingsGUI::prepareMappingSelect ( )
private

Definition at line 1132 of file class.ilLDAPSettingsGUI.php.

1133 {
1134 return ilUtil::formSelect($_POST['mapping_template'],'mapping_template',array(0 => $this->lng->txt('ldap_mapping_template'),
1135 "inetOrgPerson" => 'inetOrgPerson',
1136 "organizationalPerson" => 'organizationalPerson',
1137 "person" => 'person',
1138 "ad_2003" => 'Active Directory (Win 2003)'),false,true);
1139 }
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 $_POST, and ilUtil\formSelect().

+ Here is the call graph for this function:

◆ prepareRoleSelect()

ilLDAPSettingsGUI::prepareRoleSelect (   $a_as_select = true)
private

Used for old style table.

Deprecated:
Returns
Parameters
object$a_as_select,[optional]

Definition at line 1075 of file class.ilLDAPSettingsGUI.php.

1076 {
1077 global $rbacreview,$ilObjDataCache;
1078
1079 include_once('./Services/LDAP/classes/class.ilLDAPAttributeMapping.php');
1080
1081 $global_roles = ilUtil::_sortIds($rbacreview->getGlobalRoles(),
1082 'object_data',
1083 'title',
1084 'obj_id');
1085
1086 $select[0] = $this->lng->txt('links_select_one');
1087 foreach($global_roles as $role_id)
1088 {
1089 $select[$role_id] = ilObject::_lookupTitle($role_id);
1090 }
1091
1092 if($a_as_select)
1093 {
1094 return ilUtil::formSelect(ilLDAPAttributeMapping::_lookupGlobalRole($this->server->getServerId()),
1095 'global_role',$select,false,true);
1096 }
1097 else
1098 {
1099 return $select;
1100 }
1101 }
static _lookupGlobalRole($a_server_id)
Lookup global role assignment.

References ilLDAPAttributeMapping\_lookupGlobalRole(), ilObject\_lookupTitle(), ilUtil\_sortIds(), and ilUtil\formSelect().

Referenced by initForm().

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

◆ roleAssignments()

ilLDAPSettingsGUI::roleAssignments ( )

Edit role assignments.

@access public

Definition at line 103 of file class.ilLDAPSettingsGUI.php.

104 {
105 global $rbacreview;
106
107 $this->setSubTabs();
108 $this->tabs_gui->setTabActive('role_assignments');
109
110 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.ldap_role_assignments.html','Services/LDAP');
111
112 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
113 $this->initFormRoleAssignments('create',$this->role_mapping_rule = ilLDAPRoleAssignmentRule::_getInstanceByRuleId(0));
114 $this->tpl->setVariable('NEW_ASSIGNMENT_TBL',$this->form->getHTML());
115
116
117 if(count($rules = ilLDAPRoleAssignmentRule::_getRules($this->server->getServerId())))
118 {
119 include_once("./Services/LDAP/classes/class.ilLDAPRoleAssignmentTableGUI.php");
120 $table_gui = new ilLDAPRoleAssignmentTableGUI($this,'roleAssignments');
121 $table_gui->setTitle($this->lng->txt("ldap_tbl_role_ass"));
122 $table_gui->parse($rules);
123 $table_gui->addMultiCommand("confirmDeleteRules", $this->lng->txt("delete"));
124 $table_gui->setSelectAllCheckbox("rule_id");
125 $this->tpl->setVariable('RULES_TBL',$table_gui->getHTML());
126 }
127
128 }

References ilLDAPRoleAssignmentRule\_getInstanceByRuleId(), ilLDAPRoleAssignmentRule\_getRules(), initFormRoleAssignments(), and setSubTabs().

Referenced by addRoleAssignment(), confirmDeleteRules(), deleteRules(), editRoleAssignment(), saveRoleSelection(), and updateRoleAssignment().

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

◆ roleMapping()

ilLDAPSettingsGUI::roleMapping ( )

Role Mapping Tab @global ilToolbarGUI $ilToolbar.

Definition at line 1397 of file class.ilLDAPSettingsGUI.php.

1398 {
1399 global $ilToolbar;
1400 $this->setSubTabs();
1401 $this->tabs_gui->setTabActive('role_mapping');
1402 $ilToolbar->addButton($this->lng->txt("ldap_new_role_assignment") ,
1403 $this->ctrl->getLinkTarget($this,'addRoleMapping'));
1404 include_once("./Services/Form/classes/class.ilPropertyFormGUI.php");
1405
1406 //Set propertyform for synchronization settings
1407 include_once("./Services/Form/classes/class.ilCombinationInputGUI.php");
1408 $propertie_form = new ilPropertyFormGUI();
1409 $propertie_form->setTitle($this->lng->txt('ldap_role_settings'));
1410 $propertie_form->setFormAction($this->ctrl->getFormAction($this, "saveSyncronizationSettings"));
1411 $propertie_form->addCommandButton("saveSyncronizationSettings" ,$this->lng->txt('save'));
1412 $role_active = new ilCheckboxInputGUI($this->lng->txt('ldap_role_active'));
1413 $role_active->setPostVar('role_sync_active');
1414 $role_active->setChecked($this->server->enabledRoleSynchronization() ? true : false);
1415 $propertie_form->addItem($role_active);
1416 $binding = new ilCombinationInputGUI($this->lng->txt('ldap_server_binding'));
1417 $binding->setInfo($this->lng->txt('ldap_role_bind_user_info'));
1418 $user = new ilTextInputGUI("");
1419 $user->setPostVar("role_bind_user");
1420 $user->setValue($this->server->getRoleBindDN());
1421 $user->setSize(50);
1422 $user->setMaxLength(255);
1423 $binding->addCombinationItem(0, $user, $this->lng->txt('ldap_role_bind_user'));
1424 $pass = new ilPasswordInputGUI("");
1425 $pass->setPostVar("role_bind_pass");
1426 $pass->setValue($this->server->getRoleBindPassword());
1427 $pass->setSize(12);
1428 $pass->setMaxLength(36);
1429 $pass->setRetype(false);
1430 $binding->addCombinationItem(1, $pass, $this->lng->txt('ldap_role_bind_pass'));
1431 $propertie_form->addItem($binding);
1432
1433 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.ldap_role_mappings.html','Services/LDAP');
1434 $this->tpl->setVariable("NEW_ASSIGNMENT_TBL",$propertie_form->getHTML());
1435
1436 //Set Group Assignments Table if mappings exist
1437 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSettings.php');
1438 $mapping_instance = ilLDAPRoleGroupMappingSettings::_getInstanceByServerId($this->server->getServerId());
1439 $mappings = $mapping_instance->getMappings();
1440 if(count($mappings))
1441 {
1442 include_once("./Services/LDAP/classes/class.ilLDAPRoleMappingTableGUI.php");
1443 $table_gui = new ilLDAPRoleMappingTableGUI($this, $this->server->getServerId());
1444 $table_gui->setTitle($this->lng->txt('ldap_role_group_assignments'));
1445 $table_gui->setData($mappings);
1446 $this->tpl->setVariable("RULES_TBL",$table_gui->getHTML());
1447 }
1448 }
This class represents a number property in a property form.

References $pass, ilLDAPRoleGroupMappingSettings\_getInstanceByServerId(), and setSubTabs().

Referenced by deleteRoleMapping().

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

◆ roleSelection()

ilLDAPSettingsGUI::roleSelection ( )
protected
Returns

Definition at line 351 of file class.ilLDAPSettingsGUI.php.

352 {
353 if($this->rule->getRoleId() > 0)
354 {
355 return false;
356 }
357 $_SESSION['ldap_role_ass']['server_id'] = $this->getServer()->getServerId();
358 $_SESSION['ldap_role_ass']['rule_id'] = $_REQUEST['rule_id'] ? $_REQUEST['rule_id'] : 0;
359 $_SESSION['ldap_role_ass']['role_search'] = $this->form->getInput('role_search');
360 $_SESSION['ldap_role_ass']['add_on_update'] = $this->form->getInput('add_missing');
361 $_SESSION['ldap_role_ass']['remove_on_update'] = $this->form->getInput('remove_deprecated');
362 $_SESSION['ldap_role_ass']['type'] = $this->form->getInput('type');
363 $_SESSION['ldap_role_ass']['dn'] = $this->form->getInput('dn');
364 $_SESSION['ldap_role_ass']['at'] = $this->form->getInput('at');
365 $_SESSION['ldap_role_ass']['isdn'] = $this->form->getInput('isdn');
366 $_SESSION['ldap_role_ass']['name'] = $this->form->getInput('name');
367 $_SESSION['ldap_role_ass']['value'] = $this->form->getInput('value');
368 $_SESSION['ldap_role_ass']['plugin'] = $this->form->getInput('plugin_id');
369
370
371 $this->ctrl->saveParameter($this,'rule_id');
372 $this->ctrl->redirect($this,'showRoleSelection');
373 }

References $_REQUEST, $_SESSION, and getServer().

Referenced by addRoleAssignment(), and updateRoleAssignment().

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

◆ save()

ilLDAPSettingsGUI::save ( )

Definition at line 898 of file class.ilLDAPSettingsGUI.php.

899 {
900 global $ilErr;
901
902 $this->setSubTabs();
903 $this->tabs_gui->setTabActive('settings');
904
905 $this->initForm();
906 if($this->form_gui->checkInput())
907 {
908 $this->server->toggleActive((int)$this->form_gui->getInput('active'));
909 $this->server->enableAuthentication(!$this->form_gui->getInput('ds'));
910 $this->server->setName($this->form_gui->getInput('server_name'));
911 $this->server->setUrl($this->form_gui->getInput('server_url'));
912 $this->server->setVersion($this->form_gui->getInput('version'));
913 $this->server->setBaseDN($this->form_gui->getInput('base_dn'));
914 $this->server->toggleReferrer($this->form_gui->getInput('referrals'));
915 $this->server->toggleTLS($this->form_gui->getInput('tls'));
916 $this->server->setBindingType((int)$this->form_gui->getInput('binding_type'));
917 $this->server->setBindUser($this->form_gui->getInput('bind_dn'));
918 $this->server->setBindPassword($this->form_gui->getInput('bind_pass'));
919 $this->server->setSearchBase($this->form_gui->getInput('search_base'));
920 $this->server->setUserScope($this->form_gui->getInput('user_scope'));
921 $this->server->setUserAttribute($this->form_gui->getInput('user_attribute'));
922 $this->server->setFilter($this->form_gui->getInput('filter'));
923 $this->server->setGroupDN($this->form_gui->getInput('group_dn'));
924 $this->server->setGroupScope((int)$this->form_gui->getInput('group_scope'));
925 $this->server->setGroupFilter($this->form_gui->getInput('group_filter'));
926 $this->server->setGroupMember($this->form_gui->getInput('group_member'));
927 $this->server->enableGroupMemberIsDN((int)$this->form_gui->getInput('memberisdn'));
928 $this->server->setGroupName($this->form_gui->getInput('group'));
929 $this->server->setGroupAttribute($this->form_gui->getInput('group_attribute'));
930 $this->server->setGroupUserFilter($this->form_gui->getInput('group_user_filter'));
931 $this->server->toggleMembershipOptional((int)$this->form_gui->getInput('group_optional'));
932 $this->server->enableSyncOnLogin((int)$this->form_gui->getInput('sync_on_login'));
933 $this->server->enableSyncPerCron((int)$this->form_gui->getInput('sync_per_cron'));
934 $this->server->setGlobalRole((int)$this->form_gui->getInput('global_role'));
935 $this->server->enableAccountMigration((int)$this->form_gui->getInput('migration'));
936 // start Patch Name Filter
937 $this->server->setUsernameFilter($this->form_gui->getInput("name_filter"));
938 // end Patch Name Filter
939 if(!$this->server->validate())
940 {
941 ilUtil::sendFailure($ilErr->getMessage());
942 $this->form_gui->setValuesByPost();
943 return $this->tpl->setContent($this->form_gui->getHtml());
944 }
945
946 // Update or create
947 if($this->server->getServerId())
948 {
949 $this->server->update();
950 }
951 else
952 {
953 $this->server->create();
954 }
955
956 // Now server_id exists => update LDAP attribute mapping
957 $this->initAttributeMapping();
958 $this->mapping->setRule('global_role', (int) $this->form_gui->getInput('global_role'), false);
959 $this->mapping->save();
960
961 ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
962 $this->ctrl->redirect($this,'serverList');
963 return true;
964 #$this->form_gui->setValuesByPost();
965 #return $this->tpl->setContent($this->form_gui->getHtml());
966 }
967
968 $this->form_gui->setValuesByPost();
969 return $this->tpl->setContent($this->form_gui->getHtml());
970 }

References $ilErr, initAttributeMapping(), initForm(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and setSubTabs().

+ Here is the call graph for this function:

◆ saveMapping()

ilLDAPSettingsGUI::saveMapping ( )

Definition at line 605 of file class.ilLDAPSettingsGUI.php.

606 {
607 $this->initAttributeMapping();
608 $this->tabs_gui->setTabActive('role_mapping');
609
610 foreach($this->getMappingFields() as $key => $mapping)
611 {
612 $this->mapping->setRule($key,ilUtil::stripSlashes($_POST[$key.'_value']),(int) $_POST[$key.'_update']);
613 }
614 $this->initUserDefinedFields();
615 foreach($this->udf->getDefinitions() as $definition)
616 {
617 $key = 'udf_'.$definition['field_id'];
618 $this->mapping->setRule($key,ilUtil::stripSlashes($_POST[$key.'_value']),(int) $_POST[$key.'_update']);
619 }
620
621 $this->mapping->save();
622 $this->userMapping();
623
624 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
625 unset($_POST['mapping_template']);
626 return;
627 }

References $_POST, getMappingFields(), initAttributeMapping(), initUserDefinedFields(), ilUtil\sendSuccess(), ilUtil\stripSlashes(), and userMapping().

+ Here is the call graph for this function:

◆ saveRoleSelection()

ilLDAPSettingsGUI::saveRoleSelection ( )
protected

Save role selection.

Returns

Definition at line 415 of file class.ilLDAPSettingsGUI.php.

416 {
417 global $ilErr,$ilAccess;
418
419 if(!$ilAccess->checkAccess('write','',$this->ref_id))
420 {
421 ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
422 $this->roleAssignment();
423 return false;
424 }
425
426 if(!(int) $_REQUEST['role_id'])
427 {
428 ilUtil::sendFailure($this->lng->txt('select_one'));
429 $this->showRoleSelection();
430 return false;
431 }
432
433 $this->loadRoleAssignmentRule((int) $_REQUEST['rule_id'],false);
434 $this->rule->setRoleId((int) $_REQUEST['role_id']);
435
436 if((int) $_REQUEST['rule_id'])
437 {
438 $this->rule->update();
439 }
440 else
441 {
442 $this->rule->create();
443 }
444
445 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
446 $this->roleAssignments();
447 return true;
448 }
showRoleSelection()
show role selection

References $_REQUEST, $ilErr, loadRoleAssignmentRule(), roleAssignments(), ilUtil\sendFailure(), ilUtil\sendSuccess(), and showRoleSelection().

+ Here is the call graph for this function:

◆ saveSyncronizationSettings()

ilLDAPSettingsGUI::saveSyncronizationSettings ( )

save Syncronization Settings on Role Mapping screen

Definition at line 1803 of file class.ilLDAPSettingsGUI.php.

1804 {
1805 $this->server->setRoleBindDN(ilUtil::stripSlashes($_POST['role_bind_user']));
1806 $this->server->setRoleBindPassword(ilUtil::stripSlashes($_POST['role_bind_pass']));
1807 $this->server->enableRoleSynchronization((int) $_POST['role_sync_active']);
1808
1809 // Update or create
1810 if($this->server->getServerId())
1811 {
1812 $this->server->update();
1813 }
1814 ilUtil::sendSuccess($this->lng->txt('settings_saved'),true);
1815 $this->ctrl->redirect($this, "roleMapping");
1816 }

References $_POST, ilUtil\sendSuccess(), and ilUtil\stripSlashes().

+ Here is the call graph for this function:

◆ serverList()

ilLDAPSettingsGUI::serverList ( )

Definition at line 629 of file class.ilLDAPSettingsGUI.php.

630 {
631 global $ilAccess, $ilErr, $ilToolbar;
632
633 if(!$ilAccess->checkAccess('read','',$this->ref_id) && $cmd != "serverList")
634 {
635 $ilErr->raiseError($this->lng->txt('msg_no_perm_write'),$ilErr->WARNING);
636 }
637
638 if(!ilLDAPServer::checkLDAPLib() and $this->server->isActive())
639 {
640 ilUtil::sendFailure('Missing LDAP libraries. Please ensure that the PHP LDAP module is installed on your server.');
641 }
642
643 $ilToolbar->addButton($this->lng->txt("add_ldap_server"),
644 $this->ctrl->getLinkTarget($this, "addServerSettings"));
645
646 include_once './Services/LDAP/classes/class.ilLDAPServerTableGUI.php';
647
648 $table = new ilLDAPServerTableGUI($this, "serverList");
649
650
651 return $this->tpl->setContent($table->getHTML());
652 }
static checkLDAPLib()
Check if ldap module is installed.

References $cmd, $ilErr, ilLDAPServer\checkLDAPLib(), and ilUtil\sendFailure().

Referenced by activateServer(), confirmDeleteServerSettings(), deactivateServer(), and deleteServerSettings().

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

◆ setServerFormValues()

ilLDAPSettingsGUI::setServerFormValues ( )

Definition at line 654 of file class.ilLDAPSettingsGUI.php.

655 {
656 $this->form_gui->setValuesByArray(array(
657 'active' => $this->server->isActive(),
658 'ds' => !$this->server->isAuthenticationEnabled(),
659 'server_name' => $this->server->getName(),
660 'server_url' => $this->server->getUrlString(),
661 'version' => $this->server->getVersion(),
662 'base_dn' => $this->server->getBaseDN(),
663 'referrals' => $this->server->isActiveReferrer(),
664 'tls' => $this->server->isActiveTLS(),
665 'binding_type' => $this->server->getBindingType(),
666 'bind_dn' => $this->server->getBindUser(),
667 'bind_pass' => $this->server->getBindPassword(),
668 'bind_pass_retype' => $this->server->getBindPassword(),
669 'search_base' => $this->server->getSearchBase(),
670 'user_scope' => $this->server->getUserScope(),
671 'user_attribute' => $this->server->getUserAttribute(),
672 'filter' => $this->server->getFilter(),
673 'group_dn' => $this->server->getGroupDN(),
674 'group_scope' => $this->server->getGroupScope(),
675 'group_filter' => $this->server->getGroupFilter(),
676 'group_member' => $this->server->getGroupMember(),
677 'memberisdn' => $this->server->enabledGroupMemberIsDN(),
678 'group' => $this->server->getGroupName(),
679 'group_attribute' => $this->server->getGroupAttribute(),
680 'group_optional' => $this->server->isMembershipOptional(),
681 'group_user_filter' => $this->server->getGroupUserFilter(),
682 'sync_on_login' => $this->server->enabledSyncOnLogin(),
683 'sync_per_cron' => $this->server->enabledSyncPerCron(),
684 'global_role' => ilLDAPAttributeMapping::_lookupGlobalRole($this->server->getServerId()),
685 'migration' => (int)$this->server->isAccountMigrationEnabled(),
686 // start Patch Name Filter
687 "name_filter" => $this->server->getUsernameFilter()
688 // end Patch Name Filter
689 ));
690 }

References ilLDAPAttributeMapping\_lookupGlobalRole().

Referenced by editServerSettings().

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

◆ setSubTabs()

ilLDAPSettingsGUI::setSubTabs ( )
private

Set sub tabs for ldap section.

@access private

Definition at line 979 of file class.ilLDAPSettingsGUI.php.

980 {
981 $this->tabs_gui->clearTargets();
982
983 $this->tabs_gui->setBackTarget($this->lng->txt("back"),
984 $this->ctrl->getLinkTarget($this,'serverList'));
985
986 /*$this->tabs_gui->addSubTabTarget("ldap_settings",
987 $this->ctrl->getLinkTarget($this,'serverList'),
988 "serverList",get_class($this));*/
989
990 $this->tabs_gui->addTab("settings", $this->lng->txt("ldap_settings"),
991 $this->ctrl->getLinkTarget($this,'editServerSettings'));
992
993 // Disable all other tabs, if server hasn't been configured.
994 include_once('Services/LDAP/classes/class.ilLDAPServer.php');
995 if(!count(ilLDAPServer::_getServerList()))
996 {
997 return true;
998 }
999
1000 /*$this->tabs_gui->addSubTabTarget("ldap_user_mapping",
1001 $this->ctrl->getLinkTarget($this,'userMapping'),
1002 "userMapping",get_class($this));*/
1003
1004 $this->tabs_gui->addTab("user_mapping",$this->lng->txt("ldap_user_mapping"),
1005 $this->ctrl->getLinkTarget($this,'userMapping'));
1006
1007 /*$this->tabs_gui->addSubTabTarget('ldap_role_assignments',
1008 $this->ctrl->getLinkTarget($this,'roleAssignments'),
1009 "roleAssignments",get_class($this));*/
1010
1011 $this->tabs_gui->addTab("role_assignments",$this->lng->txt('ldap_role_assignments'),
1012 $this->ctrl->getLinkTarget($this,'roleAssignments'));
1013
1014 /*$this->tabs_gui->addSubTabTarget("ldap_role_mapping",
1015 $this->ctrl->getLinkTarget($this,'roleMapping'),
1016 "roleMapping",get_class($this));
1017 "roleMapping",get_class($this));*/
1018 $this->tabs_gui->addTab("role_mapping",$this->lng->txt("ldap_role_mapping"),
1019 $this->ctrl->getLinkTarget($this,'roleMapping'));
1020
1021 }
static _getServerList()
Get list of all configured servers.

References ilLDAPServer\_getServerList().

Referenced by confirmDeleteRules(), editRoleAssignment(), editServerSettings(), initRoleMappingForm(), roleAssignments(), roleMapping(), save(), showRoleSelection(), and userMapping().

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

◆ setValuesByArray()

ilLDAPSettingsGUI::setValuesByArray ( )
protected

set values of form array

Returns

Definition at line 160 of file class.ilLDAPSettingsGUI.php.

161 {
162 global $rbacreview;
163
164 $role_id = $this->role_mapping_rule->getRoleId();
165 if($rbacreview->isGlobalRole($role_id))
166 {
167 $val['role_name'] = 0;
168 $val['role_id'] = $role_id;
169 }
170 else
171 {
172 $val['role_name'] = 1;
173 $val['role_search'] = ilObject::_lookupTitle($role_id);
174 }
175 $val['add_missing'] = (int) $this->role_mapping_rule->isAddOnUpdateEnabled();
176 $val['remove_deprecated'] = (int) $this->role_mapping_rule->isRemoveOnUpdateEnabled();
177 $val['type'] = (int) $this->role_mapping_rule->getType();
178 $val['dn'] = $this->role_mapping_rule->getDN();
179 $val['at'] = $this->role_mapping_rule->getMemberAttribute();
180 $val['isdn'] = $this->role_mapping_rule->isMemberAttributeDN();
181 $val['name'] = $this->role_mapping_rule->getAttributeName();
182 $val['value'] = $this->role_mapping_rule->getAttributeValue();
183 $val['plugin_id'] = $this->role_mapping_rule->getPluginId();
184
185 $this->form->setValuesByArray($val);
186 }

References ilObject\_lookupTitle().

Referenced by editRoleAssignment().

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

◆ showRoleSelection()

ilLDAPSettingsGUI::showRoleSelection ( )
protected

show role selection

Returns

Definition at line 381 of file class.ilLDAPSettingsGUI.php.

382 {
383 $this->setSubTabs();
384 $this->tabs_gui->setTabActive('role_assignment');
385 $this->ctrl->saveParameter($this,'rule_id');
386
387 include_once './Services/Search/classes/class.ilQueryParser.php';
388 $parser = new ilQueryParser($_SESSION['ldap_role_ass']['role_search']);
389 $parser->setMinWordLength(1,true);
390 $parser->setCombination(QP_COMBINATION_AND);
391 $parser->parse();
392
393 include_once 'Services/Search/classes/Like/class.ilLikeObjectSearch.php';
394 $object_search = new ilLikeObjectSearch($parser);
395 $object_search->setFilter(array('role'));
396 $res = $object_search->performSearch();
397
398 $entries = $res->getEntries();
399
400 include_once './Services/AccessControl/classes/class.ilRoleSelectionTableGUI.php';
401 $table = new ilRoleSelectionTableGUI($this,'showRoleSelection');
402 $table->setTitle($this->lng->txt('ldap_role_selection'));
403 $table->addMultiCommand('saveRoleSelection',$this->lng->txt('ldap_choose_role'));
404 #$table->addCommandButton('roleAssignment',$this->lng->txt('cancel'));
405 $table->parse($entries);
406
407 $this->tpl->setContent($table->getHTML());
408 return true;
409 }

References $_SESSION, $res, QP_COMBINATION_AND, and setSubTabs().

Referenced by saveRoleSelection().

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

◆ updateRoleAssignment()

ilLDAPSettingsGUI::updateRoleAssignment ( )

update role assignment

@access public

Definition at line 194 of file class.ilLDAPSettingsGUI.php.

195 {
196 global $ilErr,$ilAccess;
197
198 if(!$ilAccess->checkAccess('write','',$this->ref_id))
199 {
200 ilUtil::sendFailure($this->lng->txt('permission_denied'), true);
201 $this->roleAssignment();
202 return false;
203 }
204
205 include_once('Services/LDAP/classes/class.ilLDAPRoleAssignmentRule.php');
206 include_once('Services/LDAP/classes/class.ilLDAPServer.php');
207
208 $this->initFormRoleAssignments('edit');
209 if(!$this->form->checkInput() or ($err = $this->checkRoleAssignmentInput((int) $_REQUEST['rule_id'])))
210 {
211 if($err)
212 {
213 ilUtil::sendFailure($this->lng->txt($err));
214 }
215
216 $this->tpl->addBlockFile('ADM_CONTENT','adm_content','tpl.ldap_role_assignments.html','Services/LDAP');
217
218 // DONE: wrap this
219 $this->form->setValuesByPost();
220 $this->tpl->setVariable('NEW_ASSIGNMENT_TBL',$this->form->getHTML());
221 #$this->tpl->setVariable('RULES_TBL',$this->getRoleAssignmentTable());
222 $this->tabs_gui->setSubTabActive('shib_role_assignment');
223 return true;
224
225 }
226
227 // Might redirect
228 $this->roleSelection();
229
230 $this->rule->update();
231 ilUtil::sendSuccess($this->lng->txt('settings_saved'));
232 $this->roleAssignments();
233 return true;
234 }

References $_REQUEST, $ilErr, checkRoleAssignmentInput(), initFormRoleAssignments(), roleAssignments(), roleSelection(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ updateRoleMapping()

ilLDAPSettingsGUI::updateRoleMapping ( )

Check edit screen input and save to db @global ilRbacReview $rbacreview.

Definition at line 1766 of file class.ilLDAPSettingsGUI.php.

1767 {
1768 global $rbacreview;
1769 $propertie_form = $this->initRoleMappingForm("updateRoleMapping");
1770
1771 if($propertie_form->checkInput() && $rbacreview->roleExists($propertie_form->getInput("role")))
1772 {
1773 include_once('Services/LDAP/classes/class.ilLDAPRoleGroupMappingSetting.php');
1774 $mapping = new ilLDAPRoleGroupMappingSetting($_GET["mapping_id"]);
1775 $mapping->setServerId($this->server->getServerId());
1776 $mapping->setURL($propertie_form->getInput("url"));
1777 $mapping->setDN($propertie_form->getInput("dn"));
1778 $mapping->setMemberAttribute($propertie_form->getInput("member"));
1779 $mapping->setMemberISDN($propertie_form->getInput("memberisdn"));
1780 $mapping->setRoleByName($propertie_form->getInput("role"));
1781 $mapping->setMappingInfo($propertie_form->getInput("info"));
1782 $mapping->setMappingInfoType($propertie_form->getInput("info_type"));
1783 $mapping->update();
1784
1785 ilUtil::sendSuccess($this->lng->txt('settings_saved'), true);
1786 $this->ctrl->redirect($this, "roleMapping");
1787 }
1788 else
1789 {
1790 if(!$rbacreview->roleExists($propertie_form->getInput("role")))
1791 {
1792 ilUtil::sendFailure($this->lng->txt("ldap_role_not_exists") . " " .
1793 $propertie_form->getInput("role"));
1794 }
1795 $propertie_form->setValuesByPost();
1796 $this->tpl->setContent($propertie_form->getHTML());
1797 }
1798 }

References $_GET, initRoleMappingForm(), ilUtil\sendFailure(), and ilUtil\sendSuccess().

+ Here is the call graph for this function:

◆ userMapping()

ilLDAPSettingsGUI::userMapping ( )

Ldap User Mapping.

Definition at line 1627 of file class.ilLDAPSettingsGUI.php.

1628 {
1629 $this->initAttributeMapping();
1630
1631 $this->setSubTabs();
1632 $this->tabs_gui->setTabActive('user_mapping');
1633 $this->userMappingToolbar();
1634
1635 $propertie_form = $this->initUserMappingForm();
1636
1637 $this->tpl->setContent($propertie_form->getHTML());
1638 }
userMappingToolbar()
Create Toolbar @global ilToolbarGUI $ilToolbar.
initUserMappingForm()
Create Property Form GUI for User Mapping.

References initAttributeMapping(), initUserMappingForm(), setSubTabs(), and userMappingToolbar().

Referenced by chooseMapping(), and saveMapping().

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

◆ userMappingToolbar()

ilLDAPSettingsGUI::userMappingToolbar ( )
private

Create Toolbar @global ilToolbarGUI $ilToolbar.

Definition at line 1324 of file class.ilLDAPSettingsGUI.php.

1325 {
1326 global $ilToolbar;
1327 include_once("./Services/Form/classes/class.ilSelectInputGUI.php");
1328
1329 $select_form = new ilSelectInputGUI("mapping_template");
1330 $select_form->setPostVar("mapping_template");
1331 $options = array(
1332 "" => $this->lng->txt('ldap_mapping_template'),
1333 "inetOrgPerson" => 'inetOrgPerson',
1334 "organizationalPerson" => 'organizationalPerson',
1335 "person" => 'person',
1336 "ad_2003" => 'Active Directory (Win 2003)');
1337 $select_form->setOptions($options);
1338 $select_form->setValue($_POST['mapping_template']);
1339
1340 $ilToolbar->addInputItem($select_form);
1341 $ilToolbar->addFormButton($this->lng->txt('show'), "chooseMapping");
1342 $ilToolbar->setFormAction($this->ctrl->getFormAction($this, "chooseMapping"));
1343 }
if(!is_array($argv)) $options

References $_POST, and $options.

Referenced by userMapping().

+ Here is the caller graph for this function:

Field Documentation

◆ $ref_id

ilLDAPSettingsGUI::$ref_id = null
private

Definition at line 35 of file class.ilLDAPSettingsGUI.php.

◆ $server

ilLDAPSettingsGUI::$server = null
private

Definition at line 36 of file class.ilLDAPSettingsGUI.php.

Referenced by getServer().


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