ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilConditionHandlerTableGUI.php
Go to the documentation of this file.
1<?php
2
3/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
4
5include_once './Services/Table/classes/class.ilTable2GUI.php';
6
14{
15 protected $enable_editing;
16
23 public function __construct($a_parent_obj,$a_parent_cmd,$a_enable_editing = false)
24 {
25 $this->enable_editing = $a_enable_editing;
26
27 parent::__construct($a_parent_obj,$a_parent_cmd);
28
29 $this->initTable();
30 }
31
36 public function fillRow($a_row)
37 {
38 global $ilCtrl;
39
40 $this->tpl->setVariable('OBJ_SRC', $a_row['icon']);
41 $this->tpl->setVariable('OBJ_ALT', $a_row['icon_alt']);
42 $this->tpl->setVariable('OBJ_TITLE',$a_row['title']);
43 include_once './Services/Link/classes/class.ilLink.php';
44 $this->tpl->setVariable('OBJ_LINK', ilLink::_getLink($a_row['ref_id'], $a_row['type']));
45 $this->tpl->setVariable('OBJ_DESCRIPTION', $a_row['description']);
46 $this->tpl->setVariable('COND_ID', $a_row['id']);
47 $this->tpl->setVariable('OBJ_CONDITION', $a_row['condition']);
48
49 if(!$this->enable_editing)
50 {
51 $this->tpl->setCurrentBlock("obligatory_static");
52 $this->tpl->setVariable('OBL_SRC', ilUtil::getImagePath($a_row['obligatory'] ? 'icon_ok.svg' : 'icon_not_ok.svg'));
53 $this->tpl->setVariable(
54 'OBL_ALT',
55 $this->lng->txt($a_row['obligatory'] ?
56 'precondition_obligatory_alt' :
57 'precondition_not_obligatory_alt')
58 );
59 $this->tpl->parseCurrentBlock();
60 }
61 else
62 {
63 $this->tpl->setCurrentBlock("obligatory_edit");
64 $this->tpl->setVariable('OBL_ID', $a_row['id']);
65 $this->tpl->setVariable('OBL_STATUS', $a_row['obligatory'] ? ' checked="checked"' : '');
66 $this->tpl->parseCurrentBlock();
67 }
68
69 $ilCtrl->setParameterByClass(get_class($this->getParentObject()),'condition_id',$a_row['id']);
70 $this->tpl->setVariable('EDIT_LINK',$ilCtrl->getLinkTargetByClass(get_class($this->getParentObject()),'edit'));
71 $this->tpl->setVariable('TXT_EDIT', $this->lng->txt('edit'));
72
73 }
74
79 public function setConditions($a_conditions)
80 {
81 foreach((array) $a_conditions as $condition)
82 {
83 if($condition['trigger_type'] == 'crsg')
84 {
85 continue;
86 }
87
88 $row['id'] = $condition['condition_id'];
89 $row['ref_id'] = $condition['trigger_ref_id'];
90 $row['type'] = $condition['trigger_type'];
91 $row['title'] = ilObject::_lookupTitle($condition['trigger_obj_id']);
92 $row['description'] = ilObject::_lookupDescription($condition['trigger_obj_id']);
93 $row['icon'] = ilObject::_getIcon($condition['trigger_obj_id']);
94 $row['icon_alt'] = $this->lng->txt('obj_'.$condition['trigger_type']);
95 $row['condition'] = $this->lng->txt('condition_'.$condition['operator']);
96 $row['obligatory'] = $condition['obligatory'];
97
98 $rows[] = $row;
99 }
100 $this->setData($rows);
101 }
102
107 protected function initTable()
108 {
109 global $ilCtrl;
110
111 $this->lng->loadLanguageModule('rbac');
112
113 $this->setRowTemplate('tpl.condition_handler_row.html', 'Services/AccessControl');
114
115 $this->setTitle($this->lng->txt('active_preconditions'));
116
117 $this->addColumn('','','1');
118 $this->addColumn($this->lng->txt('rbac_precondition_source'),'title','66%');
119 $this->addColumn($this->lng->txt('condition'), 'condition');
120 $this->addColumn($this->lng->txt('precondition_obligatory'),'obligatory');
121 $this->addColumn($this->lng->txt('actions'));
122
123 $this->enable('select_all');
124 $this->setSelectAllCheckbox('conditions');
125
126 $this->setDefaultOrderField('title');
127 $this->setDefaultOrderDirection('asc');
128
129 $this->setFormAction($ilCtrl->getFormAction($this->getParentObject(),$this->getParentCmd()));
130 $this->addMultiCommand('askDelete', $this->lng->txt('delete'));
131
132 if($this->enable_editing)
133 {
134 $this->addCommandButton("saveObligatoryList", $this->lng->txt("rbac_precondition_save_obligatory"));
135 }
136 }
137
138
139}
140?>
Table presentation of conditions.
setConditions($a_conditions)
Set and parse conditions.
__construct($a_parent_obj, $a_parent_cmd, $a_enable_editing=false)
Constructor.
static _lookupTitle($a_id)
lookup object title
static _lookupDescription($a_id)
lookup object description
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
Class ilTable2GUI.
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.
getParentObject()
Get parent object.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
setData($a_data)
set table data @access public
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
enable($a_module_name)
enables particular modules of table
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
global $ilCtrl
Definition: ilias.php:18