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;
105 case self::TYPE_VIEW:
110 $this->
addColumn($this->lng->txt(
'search_title_description'),
'title',
'30%');
111 $this->
addColumn($this->lng->txt(
'type'),
'rtype',
'20%');
112 $this->
addColumn($this->lng->txt(
'context'),
'',
'40%');
113 $this->
addColumn($this->lng->txt(
'actions'),
'',
'10%');
114 $this->
setTitle($this->lng->txt(
'objs_role'));
121 case self::TYPE_SEARCH:
125 $this->
addColumn($this->lng->txt(
'search_title_description'),
'title',
'30%');
126 $this->
addColumn($this->lng->txt(
'type'),
'rtype',
'20%');
127 $this->
addColumn($this->lng->txt(
'context'),
'',
'50%');
128 $this->
setTitle($this->lng->txt(
'rbac_role_rights_copy'));
129 $this->
addMultiCommand(
'chooseCopyBehaviour', $this->lng->txt(
'btn_next'));
135 $this->
setRowTemplate(
'tpl.role_row.html',
'Services/AccessControl');
136 $this->
setFormAction($this->ctrl->getFormAction($this->getParentObject()));
139 include_once
'./Services/Tree/classes/class.ilPathGUI.php';
147 if ($this->
getType() == self::TYPE_VIEW) {
160 case self::TYPE_VIEW:
169 case self::TYPE_SEARCH:
178 include_once
'./Services/Form/classes/class.ilSelectInputGUI.php';
179 $roles =
new ilSelectInputGUI($this->lng->txt(
'rbac_role_selection'),
'role_type');
185 $roles->readFromSession();
186 if (!$roles->getValue()) {
191 include_once
'./Services/Form/classes/class.ilTextInputGUI.php';
197 $title->readFromSession();
199 $this->filter[
'role_type'] = $roles->getValue();
200 $this->filter[
'role_title'] =
$title->getValue();
209 global $rbacreview,$tree;
211 if ($set[
'type'] ==
'role') {
212 if ($set[
'parent'] != ROLE_FOLDER_ID) {
213 $this->ctrl->setParameterByClass(
220 $this->ctrl->setParameterByClass(
"ilobjrolegui",
"obj_id", $set[
"obj_id"]);
221 $link = $this->ctrl->getLinkTargetByClass(
"ilobjrolegui",
"perm");
222 $this->ctrl->setParameterByClass(
"ilobjrolegui",
"rolf_ref_id",
"");
224 $this->ctrl->setParameterByClass(
"ilobjroletemplategui",
"obj_id", $set[
"obj_id"]);
225 $link = $this->ctrl->getLinkTargetByClass(
"ilobjroletemplategui",
"perm");
228 switch ($set[
'rtype']) {
229 case self::TYPE_GLOBAL_AU:
230 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_global'));
232 case self::TYPE_GLOBAL_UD:
233 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_global'));
235 case self::TYPE_LOCAL_AU:
236 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_local'));
238 case self::TYPE_LOCAL_UD:
239 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_local'));
241 case self::TYPE_ROLT_AU:
242 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_auto_rolt'));
244 case self::TYPE_ROLT_UD:
245 $this->tpl->setVariable(
'ROLE_TYPE', $this->lng->txt(
'rbac_ud_rolt'));
252 ($set[
'obj_id'] != ANONYMOUS_ROLE_ID and
253 $set[
'obj_id'] != SYSTEM_ROLE_ID and
254 substr($set[
'title_orig'], 0, 3) !=
'il_') or
255 $this->
getType() == self::TYPE_SEARCH) {
256 $this->tpl->setVariable(
'VAL_ID', $set[
'obj_id']);
258 $this->tpl->setVariable(
'VAL_TITLE_LINKED', $set[
'title']);
259 $this->tpl->setVariable(
'VAL_LINK', $link);
260 if (strlen($set[
'description'])) {
261 $this->tpl->setVariable(
'VAL_DESC', $set[
'description']);
271 $ref = $set[
'parent'];
272 if ($ref == ROLE_FOLDER_ID) {
273 $this->tpl->setVariable(
'CONTEXT', $this->lng->txt(
'rbac_context_global'));
275 $this->tpl->setVariable(
277 (
string) $this->
getPathGUI()->getPath(ROOT_FOLDER_ID, $ref)
281 if ($this->
getType() == self::TYPE_VIEW and $set[
'obj_id'] != SYSTEM_ROLE_ID) {
282 if (
$GLOBALS[
'rbacsystem']->checkAccess(
'write', $this->role_folder_id)) {
284 $this->tpl->setVariable(
'COPY_TEXT', $this->lng->txt(
'rbac_role_rights_copy'));
285 $this->ctrl->setParameter($this->
getParentObject(),
"copy_source", $set[
"obj_id"]);
286 $link = $this->ctrl->getLinkTarget($this->
getParentObject(),
'roleSearch');
287 $this->tpl->setVariable(
305 include_once
'./Services/AccessControl/classes/class.ilObjRole.php';
307 if ($this->
getType() == self::TYPE_VIEW) {
322 $role_list = $rbacreview->getRolesByFilter(
330 foreach ((
array) $role_list as $role) {
334 $GLOBALS[
'tree']->isDeleted($role[
'parent']) or
335 !
$GLOBALS[
'tree']->isInTree($role[
'parent'])
343 if (strlen($filter_orig)) {
344 if (stristr(
$title, $filter_orig) ==
false) {
358 $auto = (substr($role[
'title'], 0, 3) ==
'il_' ? true :
false);
362 if ($role[
'type'] ==
'rolt') {
363 $rows[
$counter][
'rtype'] = $auto ? self::TYPE_ROLT_AU : self::TYPE_ROLT_UD;
366 if ($role[
'parent'] == ROLE_FOLDER_ID) {
367 if ($role[
'obj_id'] == ANONYMOUS_ROLE_ID or $role[
'obj_id'] == SYSTEM_ROLE_ID) {
373 $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
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.
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.
getPathGUI()
Get path gui.