ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilObjectCustomUserFieldsTableGUI.php
Go to the documentation of this file.
1 <?php
2 /* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 include_once './Services/Table/classes/class.ilTable2GUI.php';
5 
13 {
17  public function __construct($a_parent_obj, $a_parent_cmd)
18  {
19  global $ilCtrl,$lng;
20 
21  $this->ctrl = $ilCtrl;
22  $this->lng = $lng;
23 
24  parent::__construct($a_parent_obj, $a_parent_cmd);
25 
26  $this->setFormAction($this->ctrl->getFormAction($this->getParentObject(), $this->getParentCmd()));
27 
28  $this->setTitle($this->lng->txt(ilObject::_lookupType($this->getParentObject()->getObjId()) . '_custom_user_fields'));
29 
30  $this->addColumn('', '', 1);
31  $this->addColumn($this->lng->txt('ps_cdf_name'), 'name', '30%');
32  $this->addColumn($this->lng->txt('ps_cdf_type'), 'type', '30%');
33  $this->addColumn($this->lng->txt('ps_cdf_required'), '', '20%');
34  $this->addColumn('', '', '20%');
35 
36  $this->setDefaultOrderField('name');
37  $this->setDefaultOrderDirection('asc');
38 
39  $this->addMultiCommand('confirmDeleteFields', $this->lng->txt('delete'));
40  $this->addCommandButton('saveFields', $this->lng->txt('save'));
41 
42  $this->setSelectAllCheckbox('field_ids[]');
43 
44  $this->enable('sort');
45  $this->enable('header');
46  $this->enable('numinfo');
47  $this->enable('select_all');
48 
49  $this->setRowTemplate('tpl.mem_cust_user_data_table_row.html', 'Services/Membership');
50  }
51 
57  public function fillRow($row)
58  {
59  $this->tpl->setVariable('VAL_ID', $row['field_id']);
60  $this->tpl->setVariable('VAL_NAME', $row['name']);
61  $this->tpl->setVariable('VAL_TYPE', $row['type']);
62  $this->tpl->setVariable('REQUIRED_CHECKED', $row['required'] ? 'checked="checked"' : '');
63 
64  $this->ctrl->setParameter($this->getParentObject(), 'field_id', $row['field_id']);
65  $this->tpl->setVariable('EDIT_LINK', $this->ctrl->getLinkTarget($this->getParentObject(), 'editField'));
66  $this->tpl->setVariable('TXT_EDIT', $this->lng->txt('edit'));
67  }
68 
74  public function parse($a_defs)
75  {
76  $rows = array();
77  foreach ($a_defs as $def) {
78  $rows[$def->getId()]['field_id'] = $def->getId();
79  $rows[$def->getId()]['name'] = $def->getName();
80 
81  switch ($def->getType()) {
82  case IL_CDF_TYPE_SELECT:
83  $rows[$def->getId()]['type'] = $this->lng->txt('ps_type_select');
84  break;
85 
86  case IL_CDF_TYPE_TEXT:
87  $rows[$def->getId()]['type'] = $this->lng->txt('ps_type_text');
88  break;
89  }
90 
91  $rows[$def->getId()]['required'] = (bool) $def->isRequired();
92  }
93  $this->setData($rows);
94  if (!sizeof($rows)) {
95  $this->clearCommandButtons();
96  }
97  }
98 }
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
__construct($a_parent_obj, $a_parent_cmd)
Constructor.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
getParentCmd()
Get parent command.
getParentObject()
Get parent object.
Table presentation of course/group relevant user data fields
global $ilCtrl
Definition: ilias.php:18
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
setTitle($a_title, $a_icon=0, $a_icon_alt=0)
Set title and title icon.
Class ilTable2GUI.
addMultiCommand($a_cmd, $a_text)
Add Command button.
enable($a_module_name)
enables particular modules of table
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
static _lookupType($a_id, $a_reference=false)
lookup object type
$rows
Definition: xhr_table.php:10
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
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.
$def
Definition: croninfo.php:21
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.