4 include_once
'./Services/Table/classes/class.ilTable2GUI.php';
29 private $type = self::TYPE_VIEW;
44 $this->
setId(
'rolf_role_tbl');
46 parent::__construct($a_parent_gui, $a_parent_cmd);
47 $this->lng->loadLanguageModule(
'rbac');
48 $this->lng->loadLanguageModule(
'search');
66 $this->role_title_filter = $a_filter;
106 case self::TYPE_VIEW:
111 $this->
addColumn($this->lng->txt(
'search_title_description'),
'title',
'30%');
112 $this->
addColumn($this->lng->txt(
'type'),
'rtype',
'20%');
113 $this->
addColumn($this->lng->txt(
'context'),
'',
'40%');
114 $this->
addColumn($this->lng->txt(
'actions'),
'',
'10%');
115 $this->
setTitle($this->lng->txt(
'objs_role'));
123 case self::TYPE_SEARCH:
127 $this->
addColumn($this->lng->txt(
'search_title_description'),
'title',
'30%');
128 $this->
addColumn($this->lng->txt(
'type'),
'rtype',
'20%');
129 $this->
addColumn($this->lng->txt(
'context'),
'',
'50%');
130 $this->
setTitle($this->lng->txt(
'rbac_role_rights_copy'));
131 $this->
addMultiCommand(
'chooseCopyBehaviour',$this->lng->txt(
'btn_next'));
137 $this->
setRowTemplate(
'tpl.role_row.html',
'Services/AccessControl');
138 $this->
setFormAction($this->ctrl->getFormAction($this->getParentObject()));
141 include_once
'./Services/Tree/classes/class.ilPathGUI.php';
149 if($this->
getType() == self::TYPE_VIEW)
164 case self::TYPE_VIEW:
173 case self::TYPE_SEARCH:
182 include_once
'./Services/Form/classes/class.ilSelectInputGUI.php';
183 $roles =
new ilSelectInputGUI($this->lng->txt(
'rbac_role_selection'),
'role_type');
189 $roles->readFromSession();
190 if(!$roles->getValue())
196 include_once
'./Services/Form/classes/class.ilTextInputGUI.php';
202 $title->readFromSession();
204 $this->filter[
'role_type'] = $roles->getValue();
205 $this->filter[
'role_title'] =
$title->getValue();
214 global $rbacreview,$tree;
216 if($set[
'type'] ==
'role')
218 if($set[
'parent'] != ROLE_FOLDER_ID)
220 $this->ctrl->setParameterByClass(
227 $this->ctrl->setParameterByClass(
"ilobjrolegui",
"obj_id", $set[
"obj_id"]);
228 $link = $this->ctrl->getLinkTargetByClass(
"ilobjrolegui",
"perm");
229 $this->ctrl->setParameterByClass(
"ilobjrolegui",
"rolf_ref_id",
"");
233 $this->ctrl->setParameterByClass(
"ilobjroletemplategui",
"obj_id", $set[
"obj_id"]);
234 $link = $this->ctrl->getLinkTargetByClass(
"ilobjroletemplategui",
"perm");
237 switch($set[
'rtype'])
239 case self::TYPE_GLOBAL_AU:
240 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_global'));
242 case self::TYPE_GLOBAL_UD:
243 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_global'));
245 case self::TYPE_LOCAL_AU:
246 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_local'));
248 case self::TYPE_LOCAL_UD:
249 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_local'));
251 case self::TYPE_ROLT_AU:
252 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_rolt'));
254 case self::TYPE_ROLT_UD:
255 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_rolt'));
262 ($set[
'obj_id'] != ANONYMOUS_ROLE_ID
and 263 $set[
'obj_id'] != SYSTEM_ROLE_ID
and 264 substr($set[
'title_orig'],0,3) !=
'il_')
or 265 $this->
getType() == self::TYPE_SEARCH)
267 $this->tpl->setVariable(
'VAL_ID', $set[
'obj_id']);
269 $this->tpl->setVariable(
'VAL_TITLE_LINKED', $set[
'title']);
270 $this->tpl->setVariable(
'VAL_LINK', $link);
271 if(strlen($set[
'description']))
273 $this->tpl->setVariable(
'VAL_DESC', $set[
'description']);
283 $ref = $set[
'parent'];
284 if($ref == ROLE_FOLDER_ID)
286 $this->tpl->setVariable(
'CONTEXT', $this->lng->txt(
'rbac_context_global'));
290 $this->tpl->setVariable(
292 (
string) $this->
getPathGUI()->getPath(ROOT_FOLDER_ID,$ref)
296 if($this->
getType() == self::TYPE_VIEW
and $set[
'obj_id'] != SYSTEM_ROLE_ID)
298 if(
$GLOBALS[
'rbacsystem']->checkAccess(
'write',$this->role_folder_id))
301 $this->tpl->setVariable(
'COPY_TEXT',$this->lng->txt(
'rbac_role_rights_copy'));
302 $this->ctrl->setParameter($this->
getParentObject(),
"copy_source", $set[
"obj_id"]);
303 $link = $this->ctrl->getLinkTarget($this->
getParentObject(),
'roleSearch');
304 $this->tpl->setVariable(
323 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
325 if($this->
getType() == self::TYPE_VIEW)
344 $role_list = $rbacreview->getRolesByFilter(
352 foreach((
array) $role_list as $role)
357 $GLOBALS[
'tree']->isDeleted($role[
'parent'])
or 358 !
$GLOBALS[
'tree']->isInTree($role[
'parent'])
368 if(strlen($filter_orig))
370 if(stristr(
$title, $filter_orig) == FALSE)
378 $rows[
$counter][
'title_orig'] = $role[
'title'];
380 $rows[
$counter][
'description'] = $role[
'description'];
381 $rows[
$counter][
'obj_id'] = $role[
'obj_id'];
382 $rows[
$counter][
'parent'] = $role[
'parent'];
383 $rows[
$counter][
'type'] = $role[
'type'];
385 $auto = (substr($role[
'title'], 0, 3) ==
'il_' ? true :
false);
389 if($role[
'type'] ==
'rolt')
391 $rows[
$counter][
'rtype'] = $auto ? self::TYPE_ROLT_AU : self::TYPE_ROLT_UD;
396 if($role[
'parent'] == ROLE_FOLDER_ID)
398 if($role[
'obj_id'] == ANONYMOUS_ROLE_ID
or $role[
'obj_id'] == SYSTEM_ROLE_ID)
400 $rows[
$counter][
'rtype'] = self::TYPE_GLOBAL_AU;
404 $rows[
$counter][
'rtype'] = self::TYPE_GLOBAL_UD;
409 $rows[
$counter][
'rtype'] = $auto ? self::TYPE_LOCAL_AU : self::TYPE_LOCAL_UD;
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
Creates a path for a start and endnode.
setType($a_type)
Set table type.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
getRoleTitleFilter()
Get role title filter.
setRoleTitleFilter($a_filter)
Set role title filter.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
getFilterItemByPostVar($a_post_var)
parse($role_folder_id)
Parse role list.
addFilterItem($a_input_item, $a_optional=false)
Add filter item.
const FILTER_NOT_INTERNAL
getParentObject()
Get parent object.
TableGUI for the presentation og roles and role templates.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
__construct($a_parent_gui, $a_parent_cmd)
Constructor.
setDisableFilterHiding($a_val=true)
Set disable filter hiding.
addMultiCommand($a_cmd, $a_text)
Add Command button.
This class represents a text property in a property form.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
static _getTranslation($a_role_title)
Create styles array
The data for the language used.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
disable($a_module_name)
diesables particular modules of table
Create new PHPExcel object
obj_idprivate
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setMaxCount($a_max_count)
set max.
addColumn($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="", $a_tooltip_with_html=false)
Add a column to the header.
getPathGUI()
Get path gui.