ILIAS  Release_5_0_x_branch Revision 61816
 All Data Structures Namespaces Files Functions Variables Groups Pages
ilObjectRolePermissionTableGUI Class Reference

Table for object role permissions. More...

+ Inheritance diagram for ilObjectRolePermissionTableGUI:
+ Collaboration diagram for ilObjectRolePermissionTableGUI:

Public Member Functions

 __construct ($a_parent_obj, $a_parent_cmd, $a_ref_id)
 Constructor.
 getPathIds ()
 Get tree path ids.
 getRefId ()
 Get ref id of current object.
 getObjId ()
 Get obj id.
 getObjType ()
 get obj type
 addActiveOperation ($a_ops_id)
 Add active operation.
 getActiveOperations ()
 get active operations
 setVisibleRoles ($a_ar)
 Set Visible roles.
 getVisibleRoles ()
 get visible roles
 initFilter ()
 Init role filter.
 fillRow ($row)
 Fill one permission row.
 parse ()
 Parse.
- Public Member Functions inherited from ilTable2GUI
 setOpenFormTag ($a_val)
 Set open form tag.
 getOpenFormTag ()
 Get open form tag.
 setCloseFormTag ($a_val)
 Set close form tag.
 getCloseFormTag ()
 Get close form tag.
 determineLimit ()
 Determine the limit.
 getSelectableColumns ()
 Get selectable columns.
 determineSelectedColumns ()
 Determine selected columns.
 isColumnSelected ($a_col)
 Is given column selected?
 getSelectedColumns ()
 Get selected columns.
executeCommand ()
 Execute command.
 resetOffset ($a_in_determination=false)
 Reset offset.
 getParentObject ()
 Get parent object.
 getParentCmd ()
 Get parent command.
 setTopAnchor ($a_val)
 Set top anchor.
 getTopAnchor ()
 Get top anchor.
 setNoEntriesText ($a_text)
 Set text for an empty table.
 getNoEntriesText ()
 Get text for an empty table.
 setIsDataTable ($a_val)
 Set is data table.
 getIsDataTable ()
 Get is data table.
 setEnableTitle ($a_enabletitle)
 Set Enable Title.
 getEnableTitle ()
 Get Enable Title.
 setEnableHeader ($a_enableheader)
 Set Enable Header.
 getEnableHeader ()
 Get Enable Header.
 setEnableNumInfo ($a_val)
 Set enable num info.
 getEnableNumInfo ()
 Get enable num info.
 setTitle ($a_title, $a_icon=0, $a_icon_alt=0)
 Set title and title icon.
 setDescription ($a_val)
 Set description.
 getDescription ()
 Get description.
 setOrderField ($a_order_field)
 set order column
 getOrderField ()
 setData ($a_data)
 set table data public
 getData ()
 dataExists ()
 setPrefix ($a_prefix)
 set prefix for sort and offset fields (if you have two or more tables on a page that you want to sort separately) public
 getPrefix ()
 addFilterItem ($a_input_item, $a_optional=false)
 Add filter item.
 addFilterItemByMetaType ($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=NULL)
 Add filter by standard type.
 getFilterItems ($a_optionals=false)
 Get filter items.
 getFilterItemByPostVar ($a_post_var)
 setFilterCols ($a_val)
 Set filter columns.
 getFilterCols ()
 Get filter columns.
 setDisableFilterHiding ($a_val=true)
 Set disable filter hiding.
 getDisableFilterHiding ()
 Get disable filter hiding.
 isFilterSelected ($a_col)
 Is given filter selected?
 getSelectedFilters ()
 Get selected filters.
 determineSelectedFilters ()
 Determine selected filters.
 setCustomPreviousNext ($a_prev_link, $a_next_link)
 Set custom previous/next links.
 setFormAction ($a_form_action, $a_multipart=false)
 Set Form action parameter.
 getFormAction ()
 Get Form action parameter.
 setFormName ($a_formname)
 Set Form name.
 getFormName ()
 Get Form name.
 setId ($a_val)
 Set id.
 getId ()
 Get element id.
 setDisplayAsBlock ($a_val)
 Set display as block.
 getDisplayAsBlock ()
 Get display as block.
 getSelectAllCheckbox ()
 Get the name of the checkbox that should be toggled with a select all button.
 setSelectAllCheckbox ($a_select_all_checkbox)
 Set the name of the checkbox that should be toggled with a select all button.
 setExternalSorting ($a_val)
 Set external sorting.
 getExternalSorting ()
 Get external sorting.
 setFilterCommand ($a_val, $a_caption=null)
 Set filter command.
 getFilterCommand ()
 Get filter command.
 setResetCommand ($a_val, $a_caption=null)
 Set reset filter command.
 getResetCommand ()
 Get reset filter command.
 setExternalSegmentation ($a_val)
 Set external segmentation.
 getExternalSegmentation ()
 Get external segmentation.
 setRowTemplate ($a_template, $a_template_dir="")
 Set row template.
 setDefaultOrderField ($a_defaultorderfield)
 Set Default order field.
 getDefaultOrderField ()
 Get Default order field.
 setDefaultOrderDirection ($a_defaultorderdirection)
 Set Default order direction.
 getDefaultOrderDirection ()
 Get Default order direction.
 clearCommandButtons ()
 addCommandButton ($a_cmd, $a_text, $a_onclick= '', $a_id="", $a_class=null)
 Add Command button.
 addCommandButtonInstance (ilButton $a_button)
 Add Command button instance.
 addSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button.
 addMultiItemSelectionButton ($a_sel_var, $a_options, $a_cmd, $a_text, $a_default_selection= '')
 Add Selection List + Command button for selected items.
 setCloseCommand ($a_link)
 Add command for closing table.
 addMultiCommand ($a_cmd, $a_text)
 Add Command button.
 addHiddenInput ($a_name, $a_value)
 Add Hidden Input field.
 addHeaderCommand ($a_href, $a_text, $a_target="", $a_img="")
 Add Header Command (Link) (Image needed for now)
 setTopCommands ($a_val)
 Set top commands (display command buttons on top of table, too)
 getTopCommands ()
 Get top commands (display command buttons on top of table, too)
 addColumn ($a_text, $a_sort_field="", $a_width="", $a_is_checkbox_action_column=false, $a_class="", $a_tooltip="")
 Add a column to the header.
 getNavParameter ()
 setOrderLink ($sort_field, $order_dir)
 fillHeader ()
 determineOffsetAndOrder ($a_omit_offset=false)
 Determine offset and order.
 storeNavParameter ()
 getHTML ()
 Get HTML.
 numericOrdering ($a_field)
 Should this field be sorted numeric?
 render ()
 render table public
 writeFilterToSession ()
 Write filter values to session.
 resetFilter ()
 Reset filter.
 fillFooter ()
 Fill footer row.
 getLinkbar ($a_num)
 Get previous/next linkbar.
 fillHiddenRow ()
 fillActionRow ()
 Fill Action Row.
 setHeaderHTML ($html)
 set header html
 storeProperty ($type, $value)
 Store table property.
 loadProperty ($type)
 Load table property.
 getCurrentState ()
 get current settings for order, limit, columns and filter
 setContext ($id)
 Set context.
 getContext ()
 Get context.
 setShowRowsSelector ($a_value)
 Toggle rows-per-page selector.
 getShowRowsSelector ()
 Get rows-per-page selector state.
 setShowTemplates ($a_value)
 Toggle templates.
 getShowTemplates ()
 Get template state.
 restoreTemplate ($a_name)
 Restore state from template.
 saveTemplate ($a_name)
 Save current state as template.
 deleteTemplate ($a_name)
 Delete template.
 getLimit ()
 Get limit.
 getOffset ()
 Get offset.
 setExportFormats (array $formats)
 Set available export formats.
 setPrintMode ($a_value=false)
 Toogle print mode.
 getPrintMode ()
 Get print mode.
 getExportMode ()
 Was export activated?
 exportData ($format, $send=false)
 Export and optionally send current table data.
 setEnableAllCommand ($a_value)
 Enable actions for all entries in current result.
 setRowSelectorLabel ($row_selector_label)
 getRowSelectorLabel ()
 setPreventDoubleSubmission ($a_val)
 Set prevent double submission.
 getPreventDoubleSubmission ()
 Get prevent double submission.
- Public Member Functions inherited from ilTableGUI
 ilTableGUI ($a_data=0, $a_global_tpl=true)
 Constructor.
 setTemplate (&$a_tpl)
 set template public
getTemplateObject ()
 setHelp ($a_help_page, $a_help_icon, $a_help_icon_alt=0)
 set table help page public
 setHeaderNames ($a_header_names)
 set table header names public
 getColumnCount ()
 Returns the column count based on the number of the header row columns public.
 setHeaderVars ($a_header_vars, $a_header_params=0)
 set table header vars public
 setColumnWidth ($a_column_width)
 set table column widths public
 setOneColumnWidth ($a_column_width, $a_column_number)
 set one table column width public
 setMaxCount ($a_max_count)
 set max.
 setLimit ($a_limit=0, $a_default_limit=0)
 set max.
 setOffset ($a_offset)
 set dataset offset public
 setOrderColumn ($a_order_column=0, $a_default_column=0)
 set order column public
 getOrderColumn ()
 Get order column.
 setOrderDirection ($a_order_direction)
 set order direction public
 getOrderDirection ()
 Get order direction.
 setFooter ($a_style, $a_previous=0, $a_next=0)
 set order direction public
 enable ($a_module_name)
 enables particular modules of table
 disable ($a_module_name)
 diesables particular modules of table
 sortData ()
 renderHeader ()
 setStyle ($a_element, $a_style)
 getStyle ($a_element)
 setBase ($a_base)
 Set Base script name (deprecated, only use this for workarounds).
 getBase ()
 Get Base script name (deprecated, only use this for workarounds).
 clearActionButtons ()
 addActionButton ($btn_name, $btn_value)

Data Fields

const ROLE_FILTER_ALL = 1
const ROLE_FILTER_GLOBAL = 2
const ROLE_FILTER_LOCAL = 3
const ROLE_FILTER_LOCAL_POLICY = 4
const ROLE_FILTER_LOCAL_OBJECT = 5
- Data Fields inherited from ilTable2GUI
const FILTER_TEXT = 1
const FILTER_SELECT = 2
const FILTER_DATE = 3
const FILTER_LANGUAGE = 4
const FILTER_NUMBER_RANGE = 5
const FILTER_DATE_RANGE = 6
const FILTER_DURATION_RANGE = 7
const FILTER_DATETIME_RANGE = 8
const EXPORT_EXCEL = 1
const EXPORT_CSV = 2
const ACTION_ALL_LIMIT = 1000
- Data Fields inherited from ilTableGUI
 $title
 $icon
 $icon_alt
 $help_page
 $help_icon
 $help_icon_alt
 $header_names
 $header_vars
 $linkbar_vars
 $data
 $column_count
 $column_width
 $max_count
 $limit
 $max_limit = false
 $offset
 $order_column
 $order_direction
 $footer_style
 $footer_previous
 $footer_next
 $lang_support = true
 $global_tpl
 $form_name
 $select_all_checkbox
 $action_buttons
 $prefix
 $base = ""
 $enabled
 $styles

Protected Member Functions

 initColumns ()
 init Columns
 createTooltip ($role)
 Create a linked title for roles with local policy.
 createTitle ($role)
 Create (linked) title.
- Protected Member Functions inherited from ilTable2GUI
 prepareOutput ()
 Anything that must be done before HTML is generated.
 getFilterValue (ilFormPropertyGUI $a_item)
 Get current filter value.
 SetFilterValue (ilFormPropertyGUI $a_item, $a_value)
 Set current filter value.
 fillMetaExcel ($worksheet, &$a_row)
 Add meta information to excel export.
 fillHeaderExcel ($worksheet, &$a_row)
 Excel Version of Fill Header.
 fillRowExcel ($a_worksheet, &$a_row, $a_set)
 Excel Version of Fill Row.
 fillMetaCSV ($a_csv)
 Add meta information to csv export.
 fillHeaderCSV ($a_csv)
 CSV Version of Fill Header.
 fillRowCSV ($a_csv, $a_set)
 CSV Version of Fill Row.

Private Attributes

 $ref_id = null
 $roles = array()
 $tree_path_ids = array()
 $activeOperations = array()
 $visible_roles = array()

Additional Inherited Members

- Static Public Member Functions inherited from ilTable2GUI
static getAllCommandLimit ()
 Get maximum number of entries to enable actions for all.
- Protected Attributes inherited from ilTable2GUI
 $close_command = ""
 $top_anchor = "il_table_top"
 $filters = array()
 $optional_filters = array()
 $filter_cmd = 'applyFilter'
 $reset_cmd = 'resetFilter'
 $filter_cols = 5
 $ext_sort = false
 $ext_seg = false
 $context = ""
 $mi_sel_buttons = null
 $disable_filter_hiding = false
 $selected_filter = false
 $top_commands = true
 $selectable_columns = array()
 $selected_column = array()
 $show_templates = false
 $show_rows_selector = true
 $nav_determined = false
 $limit_determined = false
 $filters_determined = false
 $columns_determined = false
 $open_form_tag = true
 $close_form_tag = true
 $export_formats
 $export_mode
 $print_mode
 $enable_command_for_all
 $restore_filter
 $restore_filter_values
 $sortable_fields = array()
 $prevent_double_submission = true
 $row_selector_label

Detailed Description

Table for object role permissions.

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

Definition at line 16 of file class.ilObjectRolePermissionTableGUI.php.

Constructor & Destructor Documentation

ilObjectRolePermissionTableGUI::__construct (   $a_parent_obj,
  $a_parent_cmd,
  $a_ref_id 
)

Constructor.

Returns

Reimplemented from ilTable2GUI.

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

References $ilCtrl, $tpl, ilTable2GUI\addCommandButton(), ilTableGUI\disable(), initFilter(), ilTable2GUI\setDisableFilterHiding(), ilTable2GUI\setEnableHeader(), ilTable2GUI\setFormAction(), ilTable2GUI\setId(), ilTableGUI\setLimit(), ilTable2GUI\setNoEntriesText(), ilTable2GUI\setRowTemplate(), ilTable2GUI\setShowRowsSelector(), and ilTable2GUI\setTitle().

{
global $ilCtrl,$rbacreview,$tpl,$tree;
parent::__construct($a_parent_obj,$a_parent_cmd);
$this->lng->loadLanguageModule('rbac');
$this->ref_id = $a_ref_id;
$this->tree_path_ids = $tree->getPathId($this->ref_id);
$this->setId('objroleperm_'.$this->ref_id);
$tpl->addJavaScript('./Services/AccessControl/js/ilPermSelect.js');
$this->setTitle($this->lng->txt('permission_settings'));
$this->setEnableHeader(true);
$this->disable('sort');
$this->setFormAction($ilCtrl->getFormAction($a_parent_obj, $a_parent_cmd));
$this->disable('numinfo');
$this->setRowTemplate("tpl.obj_role_perm_row.html", "Services/AccessControl");
$this->setLimit(100);
$this->setShowRowsSelector(false);
$this->setDisableFilterHiding(true);
$this->setNoEntriesText($this->lng->txt('msg_no_roles_of_type'));
$this->addCommandButton('savePermissions', $this->lng->txt('save'));
$this->initFilter();
}

+ Here is the call graph for this function:

Member Function Documentation

ilObjectRolePermissionTableGUI::addActiveOperation (   $a_ops_id)

Add active operation.

Parameters
int$a_ops_id
Returns

Definition at line 109 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by parse().

{
$this->activeOperations[] = $a_ops_id;
}

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::createTitle (   $role)
protected

Create (linked) title.

Parameters
array$role
Returns

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

References $ilCtrl, ilObjRole\_getTranslation(), and getRefId().

Referenced by initColumns().

{
global $ilCtrl;
include_once './Services/AccessControl/classes/class.ilObjRole.php';
$role['title'] = ilObjRole::_getTranslation($role['title']);
// No local policies
if($role['parent'] != $this->getRefId())
{
return $role['title'];
}
$ilCtrl->setParameterByClass('ilobjrolegui', 'obj_id', $role['obj_id']);
return '<a class="tblheader" href="'.$ilCtrl->getLinkTargetByClass('ilobjrolegui','').'" >'.$role['title'].'</a>';
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::createTooltip (   $role)
protected

Create a linked title for roles with local policy.

Parameters
object$role
Returns

Definition at line 560 of file class.ilObjectRolePermissionTableGUI.php.

References ilObject\_lookupObjId(), ilObject\_lookupTitle(), ilObject\_lookupType(), and getRefId().

Referenced by initColumns().

{
global $rbacreview,$tree;
#vd($role);
$protected_status = $rbacreview->isProtected($role['parent'], $role['obj_id']) ? 'protected_' : '';
if($role['role_type'] == 'global')
{
$tp = $this->lng->txt('perm_'.$protected_status.'global_role');
}
else
{
$tp = $this->lng->txt('perm_'.$protected_status.'local_role');
}
$inheritance_seperator = ': ';
// Show create at info
if(
($role['assign'] == 'y' and $role['role_type'] != 'global') or
($role['assign'] == 'n' and $role['role_type'] != 'global')
)
{
$tp .= ': ';
$obj = $rbacreview->getObjectOfRole($role['obj_id']);
if($obj)
{
$tp .= sprintf(
$this->lng->txt('perm_role_path_info_created'),
$this->lng->txt('obj_'.ilObject::_lookupType($obj)),ilObject::_lookupTitle($obj)
);
$inheritance_seperator = ', ';
}
}
$path_hierarchy = $rbacreview->getObjectsWithStopedInheritance(
$role['obj_id'],
$tree->getPathId($this->getRefId())
);
$reduced_path_hierarchy = (array) array_diff(
$path_hierarchy,
array(
$this->getRefId(),
$rbacreview->getObjectReferenceOfRole($role['obj_id'])
)
);
// Inheritance
if($role['assign'] == 'n' and count($reduced_path_hierarchy))
{
$tp .= $inheritance_seperator;
$parent = end($reduced_path_hierarchy);
$tp .= sprintf($this->lng->txt('perm_role_path_info_inheritance'),$this->lng->txt('obj_'.$p_type),$p_title);
}
return $tp;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::fillRow (   $row)

Fill one permission row.

Parameters
object$row
Returns

Reimplemented from ilTable2GUI.

Definition at line 187 of file class.ilObjectRolePermissionTableGUI.php.

References $row, ilTable2GUI\getFormName(), getObjType(), getVisibleRoles(), and ilPlugin\lookupTxt().

{
global $objDefinition;
// local policy
if(isset($row['show_local_policy_row']))
{
foreach($row['roles'] as $role_id => $role_info)
{
$this->tpl->setCurrentBlock('role_option');
$this->tpl->setVariable('INHERIT_ROLE_ID',$role_id);
$this->tpl->setVariable('INHERIT_CHECKED',$role_info['local_policy'] ? 'checked=checked' : '');
$this->tpl->setVariable('INHERIT_DISABLED',($role_info['protected'] or $role_info['isLocal']) ? 'disabled="disabled"' : '');
$this->tpl->setVariable('TXT_INHERIT',$this->lng->txt('rbac_local_policy'));
$this->tpl->setVariable('INHERIT_LONG',$this->lng->txt('perm_use_local_policy_desc'));
$this->tpl->parseCurrentBlock();
}
return true;
}
// protected
if(isset($row['show_protected_row']))
{
foreach($row['roles'] as $role_id => $role_info)
{
$this->tpl->setCurrentBlock('role_protect');
$this->tpl->setVariable('PROTECT_ROLE_ID',$role_id);
$this->tpl->setVariable('PROTECT_CHECKED',$role_info['protected_status'] ? 'checked=checked' : '');
$this->tpl->setVariable('PROTECT_DISABLED',$role_info['protected_allowed'] ? '' : 'disabled="disabled"');
$this->tpl->setVariable('TXT_PROTECT',$this->lng->txt('role_protect_permissions'));
$this->tpl->setVariable('PROTECT_LONG',$this->lng->txt('role_protect_permissions_desc'));
$this->tpl->parseCurrentBlock();
}
return true;
}
// block role
if(isset($row['show_block_row']))
{
foreach($this->getVisibleRoles() as $counter => $role_info)
{
$this->tpl->setCurrentBlock('role_block');
$this->tpl->setVariable('BLOCK_ROLE_ID',$role_info['obj_id']);
$this->tpl->setVariable('TXT_BLOCK',$this->lng->txt('role_block_role'));
$this->tpl->setVariable('BLOCK_LONG',$this->lng->txt('role_block_role_desc'));
if($role_info['protected'] == 'y')
{
$this->tpl->setVariable('BLOCK_DISABLED','disabled="disabled');
}
$this->tpl->parseCurrentBlock();
}
return true;
}
// Select all
if(isset($row['show_select_all']))
{
foreach($this->getVisibleRoles() as $role)
{
$this->tpl->setCurrentBlock('role_select_all');
$this->tpl->setVariable('JS_ROLE_ID',$role['obj_id']);
$this->tpl->setVariable('JS_SUBID',$row['subtype']);
$this->tpl->setVariable('JS_ALL_PERMS',"['".implode("','",$row['ops'])."']");
$this->tpl->setVariable('JS_FORM_NAME',$this->getFormName());
$this->tpl->setVariable('TXT_SEL_ALL',$this->lng->txt('select_all'));
$this->tpl->parseCurrentBlock();
}
return true;
}
// Object permissions
if(isset($row['show_start_info']))
{
$this->tpl->setCurrentBlock('section_info');
$this->tpl->setVariable('SECTION_TITLE',$this->lng->txt('perm_class_object'));
$this->tpl->setVariable('SECTION_DESC',$this->lng->txt('perm_class_object_desc'));
$this->tpl->parseCurrentBlock();
return true;
}
if(isset($row['show_create_info']))
{
$this->tpl->setCurrentBlock('section_info');
$this->tpl->setVariable('SECTION_TITLE',$this->lng->txt('perm_class_create'));
$this->tpl->setVariable('SECTION_DESC',$this->lng->txt('perm_class_create_desc'));
$this->tpl->parseCurrentBlock();
return true;
}
foreach((array) $row['roles'] as $role_id => $role_info)
{
$this->tpl->setCurrentBlock('role_td');
$this->tpl->setVariable('PERM_ROLE_ID',$role_id);
$this->tpl->setVariable('PERM_PERM_ID',$row['perm']['ops_id']);
if(substr($row['perm']['operation'],0,6) == 'create')
{
if ($objDefinition->isPlugin(substr($row['perm']['operation'],7)))
{
$perm = ilPlugin::lookupTxt("rep_robj", substr($row['perm']['operation'],7),
"obj_".substr($row['perm']['operation'],7));
}
else
{
$perm = $this->lng->txt('obj_'.substr($row['perm']['operation'],7));
}
}
else
{
if($this->lng->exists($this->getObjType().'_'.$row['perm']['operation'].'_short'))
{
$perm = $this->lng->txt($this->getObjType().'_'.$row['perm']['operation'].'_short');
}
else
{
$perm = $this->lng->txt($row['perm']['operation']);
}
}
$this->tpl->setVariable('TXT_PERM',$perm);
if ($objDefinition->isPlugin($this->getObjType()))
{
$this->tpl->setVariable('PERM_LONG',ilPlugin::lookupTxt("rep_robj", $this->getObjType(),
$this->getObjType()."_".$row['perm']['operation']));
}
elseif(substr($row['perm']['operation'],0,6) == 'create')
{
$this->tpl->setVariable('PERM_LONG',$this->lng->txt('rbac_'.$row['perm']['operation']));
}
else
{
$this->tpl->setVariable('PERM_LONG',$this->lng->txt($this->getObjType().'_'.$row['perm']['operation']));
}
if($role_info['protected'])
{
$this->tpl->setVariable('PERM_DISABLED',$role_info['protected'] ? 'disabled="disabled"' : '');
}
if($role_info['permission_set'])
{
$this->tpl->setVariable('PERM_CHECKED','checked="checked"');
}
$this->tpl->parseCurrentBlock();
}
}

+ Here is the call graph for this function:

ilObjectRolePermissionTableGUI::getActiveOperations ( )

get active operations

Returns

Definition at line 118 of file class.ilObjectRolePermissionTableGUI.php.

References $activeOperations.

{
return (array) $this->activeOperations;
}
ilObjectRolePermissionTableGUI::getObjId ( )

Get obj id.

Returns

Definition at line 90 of file class.ilObjectRolePermissionTableGUI.php.

References ilObject\_lookupObjId(), and getRefId().

Referenced by getObjType().

{
return ilObject::_lookupObjId($this->getRefId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::getObjType ( )

get obj type

Returns

Definition at line 99 of file class.ilObjectRolePermissionTableGUI.php.

References ilObject\_lookupType(), and getObjId().

Referenced by fillRow(), and parse().

{
return ilObject::_lookupType($this->getObjId());
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::getPathIds ( )

Get tree path ids.

Returns
array

Definition at line 72 of file class.ilObjectRolePermissionTableGUI.php.

References $tree_path_ids.

{
return (array) $this->tree_path_ids;
}
ilObjectRolePermissionTableGUI::getRefId ( )

Get ref id of current object.

Returns

Definition at line 81 of file class.ilObjectRolePermissionTableGUI.php.

References $ref_id.

Referenced by createTitle(), createTooltip(), getObjId(), initColumns(), and parse().

{
return $this->ref_id;
}

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::getVisibleRoles ( )

get visible roles

Returns

Definition at line 137 of file class.ilObjectRolePermissionTableGUI.php.

References $visible_roles.

Referenced by fillRow(), and parse().

{
}

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::initColumns ( )
protected

init Columns

Returns

Definition at line 509 of file class.ilObjectRolePermissionTableGUI.php.

References ilTableGUI\$column_width, $ilCtrl, $roles, ilTable2GUI\addColumn(), createTitle(), createTooltip(), ilTable2GUI\getFilterItemByPostVar(), ilTable2GUI\getParentObject(), getRefId(), and setVisibleRoles().

Referenced by parse().

{
global $rbacreview,$ilCtrl;
$roles = $rbacreview->getParentRoleIds($this->getRefId());
$roles = $this->getParentObject()->applyRoleFilter(
$this->getFilterItemByPostVar('role')->getValue()
);
if(count($roles))
{
$column_width = 100/count($roles);
$column_width .= '%';
}
else
{
$column_widht = "0%";
}
$all_roles = array();
foreach($roles as $role)
{
if($role['obj_id'] == SYSTEM_ROLE_ID)
{
continue;
}
$role['role_type'] = $rbacreview->isGlobalRole($role['obj_id']) ? 'global' : 'local';
// TODO check filter
$this->addColumn(
$this->createTitle($role),
$role['obj_id'],
'',
'',
false,
$this->createTooltip($role)
);
$all_roles[] = $role;
}
$this->setVisibleRoles($all_roles);
return true;
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::initFilter ( )

Init role filter.

Returns

Reimplemented from ilTable2GUI.

Definition at line 146 of file class.ilObjectRolePermissionTableGUI.php.

References $roles, ilTable2GUI\addFilterItemByMetaType(), and ilTable2GUI\FILTER_SELECT.

Referenced by __construct().

{
global $tree;
'role',
);
// Limit filter to local roles only for objects with group or course in path
if(!$roles->getValue())
{
if ($tree->checkForParentType($this->getRefId(), 'crs') or
$tree->checkForParentType($this->getRefId(), 'grp'))
{
$roles->setValue(self::ROLE_FILTER_LOCAL);
}
else
{
$roles->setValue(self::ROLE_FILTER_ALL);
}
}
$roles->setOptions(
array(
self::ROLE_FILTER_ALL => $this->lng->txt('filter_all_roles'),
self::ROLE_FILTER_GLOBAL => $this->lng->txt('filter_global_roles'),
self::ROLE_FILTER_LOCAL => $this->lng->txt('filter_local_roles'),
self::ROLE_FILTER_LOCAL_POLICY => $this->lng->txt('filter_roles_local_policy'),
self::ROLE_FILTER_LOCAL_OBJECT => $this->lng->txt('filter_local_roles_object')
)
);
}

+ Here is the call graph for this function:

+ Here is the caller graph for this function:

ilObjectRolePermissionTableGUI::parse ( )

Parse.

Returns

Definition at line 344 of file class.ilObjectRolePermissionTableGUI.php.

References $roles, addActiveOperation(), getObjType(), getRefId(), getVisibleRoles(), ilPermissionGUI\hasContainerCommands(), initColumns(), ilRbacReview\lookupCreateOperationIds(), and ilTable2GUI\setData().

{
global $rbacreview,$objDefinition;
$this->initColumns();
$perms = array();
$roles = array();
if(!count($this->getVisibleRoles()))
{
return $this->setData(array());
}
// Read operations of role
$operations = array();
foreach($this->getVisibleRoles() as $role_data)
{
$operations[$role_data['obj_id']] = $rbacreview->getActiveOperationsOfRole($this->getRefId(), $role_data['obj_id']);
}
$counter = 0;
// Local policy
{
$roles = array();
$local_roles = $rbacreview->getRolesOfObject($this->getRefId());
foreach($this->getVisibleRoles() as $role_id => $role_data)
{
$roles[$role_data['obj_id']] = array(
'protected' => $role_data['protected'],
'local_policy' => in_array($role_data['obj_id'],$local_roles),
'isLocal' => ($this->getRefId() == $role_data['parent']) && $role_data['assign'] == 'y'
);
}
$perms[$counter]['roles'] = $roles;
$perms[$counter]['show_local_policy_row'] = 1;
$counter++;
}
// Protect permissions
{
$roles = array();
foreach($this->getVisibleRoles() as $role_id => $role_data)
{
$roles[$role_data['obj_id']] = array(
'protected_allowed' => $rbacreview->isAssignable($role_data['obj_id'],$this->getRefId()),
'protected_status' => $rbacreview->isProtected($role_data['parent'], $role_data['obj_id'])
);
}
$perms[$counter]['roles'] = $roles;
$perms[$counter]['show_protected_row'] = 1;
$counter++;
}
// Block role
{
$perms[$counter++]['show_block_row'] = 1;
}
{
$perms[$counter++]['show_start_info'] = true;
}
// no creation permissions
$no_creation_operations = array();
foreach($rbacreview->getOperationsByTypeAndClass($this->getObjType(),'object') as $operation)
{
$this->addActiveOperation($operation);
$no_creation_operations[] = $operation;
$roles = array();
foreach($this->getVisibleRoles() as $role_data)
{
$roles[$role_data['obj_id']] =
array(
'protected' => $role_data['protected'],
'permission_set' => in_array($operation,(array) $operations[$role_data['obj_id']])
);
}
$op = $rbacreview->getOperation($operation);
$perms[$counter]['roles'] = $roles;
$perms[$counter]['perm'] = $op;
$counter++;
}
/*
* Select all
*/
if($no_creation_operations)
{
$perms[$counter]['show_select_all'] = 1;
$perms[$counter]['ops'] = $no_creation_operations;
$perms[$counter]['subtype'] = 'nocreation';
$counter++;
}
if($objDefinition->isContainer($this->getObjType()))
{
$perms[$counter++]['show_create_info'] = true;
}
// Get creatable objects
$objects = $objDefinition->getCreatableSubObjects($this->getObjType());
$ops_ids = ilRbacReview::lookupCreateOperationIds(array_keys($objects));
$creation_operations = array();
foreach($objects as $type => $info)
{
$ops_id = $ops_ids[$type];
if(!$ops_id)
{
continue;
}
$this->addActiveOperation($ops_id);
$creation_operations[] = $ops_id;
$roles = array();
foreach($this->getVisibleRoles() as $role_data)
{
$roles[$role_data['obj_id']] =
array(
'protected' => $role_data['protected'],
'permission_set' => in_array($ops_id,(array) $operations[$role_data['obj_id']])
);
}
$op = $rbacreview->getOperation($ops_id);
$perms[$counter]['roles'] = $roles;
$perms[$counter]['perm'] = $op;
$counter++;
}
// Select all
if(count($creation_operations))
{
$perms[$counter]['show_select_all'] = 1;
$perms[$counter]['ops'] = $creation_operations;
$perms[$counter]['subtype'] = 'creation';
$counter++;
}
$this->setData($perms);
}

+ Here is the call graph for this function:

ilObjectRolePermissionTableGUI::setVisibleRoles (   $a_ar)

Set Visible roles.

Parameters
object$a_ar
Returns

Definition at line 128 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by initColumns().

{
$this->visible_roles = $a_ar;
}

+ Here is the caller graph for this function:

Field Documentation

ilObjectRolePermissionTableGUI::$activeOperations = array()
private

Definition at line 29 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by getActiveOperations().

ilObjectRolePermissionTableGUI::$ref_id = null
private

Definition at line 24 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by getRefId().

ilObjectRolePermissionTableGUI::$roles = array()
private

Definition at line 25 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by initColumns(), initFilter(), and parse().

ilObjectRolePermissionTableGUI::$tree_path_ids = array()
private

Definition at line 27 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by getPathIds().

ilObjectRolePermissionTableGUI::$visible_roles = array()
private

Definition at line 30 of file class.ilObjectRolePermissionTableGUI.php.

Referenced by getVisibleRoles().

const ilObjectRolePermissionTableGUI::ROLE_FILTER_ALL = 1
const ilObjectRolePermissionTableGUI::ROLE_FILTER_GLOBAL = 2
const ilObjectRolePermissionTableGUI::ROLE_FILTER_LOCAL = 3
const ilObjectRolePermissionTableGUI::ROLE_FILTER_LOCAL_OBJECT = 5
const ilObjectRolePermissionTableGUI::ROLE_FILTER_LOCAL_POLICY = 4

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