ILIAS  release_10 Revision v10.1-43-ga1241a92c2f
class.ilShibbolethRoleAssignmentTableGUI.php
Go to the documentation of this file.
1 <?php
2 /******************************************************************************
3  *
4  * This file is part of ILIAS, a powerful learning management system.
5  *
6  * ILIAS is licensed with the GPL-3.0, you should have received a copy
7  * of said license along with the source code.
8  *
9  * If this is not the case or you just want to try ILIAS, you'll find
10  * us at:
11  * https://www.ilias.de
12  * https://github.com/ILIAS-eLearning
13  *
14  *****************************************************************************/
25 {
29  public function __construct(ilAuthShibbolethSettingsGUI $a_parent_obj, string $a_parent_cmd = '')
30  {
31  global $DIC;
32  $this->ctrl = $DIC->ctrl();
33  $this->lng = $DIC->language();
34  parent::__construct($a_parent_obj, $a_parent_cmd);
35 
36  $this->addColumn('', 'f', 1);
37  $this->addColumn($this->lng->txt('shib_rule_type'), 'type', "20%");
38  $this->addColumn($this->lng->txt('shib_ilias_role'), 'role', "30%");
39  $this->addColumn($this->lng->txt('shib_rule_condition'), 'condition', "20%");
40  $this->addColumn($this->lng->txt('shib_add_remove'), 'add_remove', "30%");
41  $this->setFormAction($this->ctrl->getFormAction($a_parent_obj));
42  $this->setRowTemplate("tpl.show_role_assignment_row.html", "components/ILIAS/AuthShibboleth");
43  $this->setDefaultOrderField('type');
44  $this->setDefaultOrderDirection("desc");
45  }
46 
50  protected function fillRow(array $a_set): void
51  {
52  $this->tpl->setVariable('VAL_ID', $a_set['id']);
53  $this->tpl->setVariable('VAL_TYPE', $a_set['type']);
54  $this->tpl->setVariable('VAL_CONDITION', $a_set['condition']);
55  $this->tpl->setVariable('VAL_ROLE', $a_set['role']);
56  $this->tpl->setVariable('TXT_EDIT', $this->lng->txt('edit'));
57  if ($a_set['add']) {
58  $this->tpl->setVariable('STATA_SRC', ilUtil::getImagePath('standard/icon_ok.svg'));
59  $this->tpl->setVariable('STATA_ALT', $this->lng->txt('yes'));
60  } else {
61  $this->tpl->setVariable('STATA_SRC', ilUtil::getImagePath('standard/icon_not_ok.svg'));
62  $this->tpl->setVariable('STATA_ALT', $this->lng->txt('no'));
63  }
64  if ($a_set['remove']) {
65  $this->tpl->setVariable('STATB_SRC', ilUtil::getImagePath('standard/icon_ok.svg'));
66  $this->tpl->setVariable('STATB_ALT', $this->lng->txt('yes'));
67  } else {
68  $this->tpl->setVariable('STATB_SRC', ilUtil::getImagePath('standard/icon_not_ok.svg'));
69  $this->tpl->setVariable('STATB_ALT', $this->lng->txt('no'));
70  }
71  $this->ctrl->setParameter($this->getParentObject(), 'rule_id', $a_set['id']);
72  $this->tpl->setVariable('EDIT_LINK', $this->ctrl->getLinkTarget($this->getParentObject(), 'editRoleAssignment'));
73  }
74 
75 
76  public function parse(array $rule_objs): void
77  {
78  $records_arr = [];
79  foreach ($rule_objs as $rule) {
80  $tmp_arr['id'] = $rule->getRuleId();
81  $tmp_arr['type'] = $rule->isPluginActive() ? $this->lng->txt('shib_role_by_plugin') : $this->lng->txt('shib_role_by_attribute');
82  $tmp_arr['add'] = $rule->isAddOnUpdateEnabled();
83  $tmp_arr['remove'] = $rule->isRemoveOnUpdateEnabled();
84  $tmp_arr['condition'] = $rule->conditionToString();
85  $tmp_arr['role'] = ilObject::_lookupTitle($rule->getRoleId());
86  $records_arr[] = $tmp_arr;
87  }
88  $this->setData($records_arr);
89  }
90 }
setData(array $a_data)
Class ilAuthShibbolethSettingsGUI.
setFormAction(string $a_form_action, bool $a_multipart=false)
static _lookupTitle(int $obj_id)
setDefaultOrderField(string $a_defaultorderfield)
__construct(ilAuthShibbolethSettingsGUI $a_parent_obj, string $a_parent_cmd='')
setRowTemplate(string $a_template, string $a_template_dir="")
Set row template.
global $DIC
Definition: shib_login.php:25
static getImagePath(string $image_name, string $module_path="", string $mode="output", bool $offline=false)
get image path (for images located in a template directory)
setDefaultOrderDirection(string $a_defaultorderdirection)
__construct(Container $dic, ilPlugin $plugin)
addColumn(string $a_text, string $a_sort_field="", string $a_width="", bool $a_is_checkbox_action_column=false, string $a_class="", string $a_tooltip="", bool $a_tooltip_with_html=false)