ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
class.ilContainerStartObjectsTableGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once('./Services/Table/classes/class.ilTable2GUI.php');
5
14{
15 protected $start_obj; // [ilContainerStartObjects]
16
17 public function __construct($a_parent_obj, $a_parent_cmd, ilContainerStartObjects $a_start_objects)
18 {
19 global $lng, $ilCtrl;
20
21 $this->lng = $lng;
22 $this->ctrl = $ilCtrl;
23 $this->lng->loadLanguageModule('crs');
24
25 $this->start_obj = $a_start_objects;
26
27 parent::__construct($a_parent_obj, $a_parent_cmd);
28
29 $this->addColumn('','', 1);
30
31 if($a_parent_cmd == 'listStructure')
32 {
33 $this->addColumn($this->lng->txt('cntr_ordering'),'pos', '5%');
34 }
35
36 $this->addColumn($this->lng->txt('type'),'type', 1);
37 $this->addColumn($this->lng->txt('title'),'title');
38 $this->addColumn($this->lng->txt('description'),'description');
39
40 // add
41 if($a_parent_cmd != 'listStructure')
42 {
43 $this->setTitle($this->lng->txt('crs_select_starter'));
44 $this->addMultiCommand('addStarter', $this->lng->txt('crs_add_starter'));
45 $this->addCommandButton('listStructure', $this->lng->txt('cancel'));
46
47 $this->setDefaultOrderField('title');
48 $this->setDefaultOrderDirection('asc');
49 }
50 // list
51 else
52 {
53 $this->setTitle($this->lng->txt('crs_start_objects'));
54 $this->addMultiCommand('askDeleteStarter', $this->lng->txt('remove'));
55 $this->addCommandButton('saveSorting', $this->lng->txt('sorting_save'));
56
57 $this->setDefaultOrderField('pos');
58 $this->setDefaultOrderDirection('asc');
59 }
60
61 $this->setRowTemplate("tpl.start_objects_row.html", "Services/Container");
62 $this->setFormAction($this->ctrl->getFormAction($a_parent_obj));
63 $this->setSelectAllCheckbox('starter');
64
65 $data = array();
66
67 // add
68 if($a_parent_cmd != 'listStructure')
69 {
70 $data = $this->getPossibleObjects();
71 }
72 // list
73 else
74 {
75 $data = $this->getStartObjects();
76 }
77
78 $this->setData($data);
79 }
80
81 protected function getPossibleObjects()
82 {
83 $data = array();
84 foreach($this->start_obj->getPossibleStarters() as $item_ref_id)
85 {
86 $tmp_obj = ilObjectFactory::getInstanceByRefId($item_ref_id);
87
88 $data[$item_ref_id]['id'] = $item_ref_id;
89 $data[$item_ref_id]['title'] = $tmp_obj->getTitle();
90 $data[$item_ref_id]['type'] = $this->lng->txt('obj_'.$tmp_obj->getType());
91 $data[$item_ref_id]['icon'] = ilObject::_getIcon($tmp_obj->getId(), 'tiny');
92
93 if(strlen($tmp_obj->getDescription()))
94 {
95 $data[$item_ref_id]['description'] = $tmp_obj->getDescription();
96 }
97 }
98
99 return $data;
100 }
101
102 protected function getStartObjects()
103 {
104 $data = array();
105 $counter = 0;
106 foreach($this->start_obj->getStartObjects() as $start_id => $item)
107 {
108 $tmp_obj = ilObjectFactory::getInstanceByRefId($item['item_ref_id']);
109
110 $data[$item['item_ref_id']]['id'] = $start_id;
111 $data[$item['item_ref_id']]['title'] = $tmp_obj->getTitle();
112 $data[$item['item_ref_id']]['type'] = $this->lng->txt('obj_'.$tmp_obj->getType());
113 $data[$item['item_ref_id']]['icon'] = ilObject::_getIcon($tmp_obj->getId(), 'tiny');
114
115 $counter += 10;
116 $data[$item['item_ref_id']]['pos'] = $counter;
117
118 if(strlen($tmp_obj->getDescription()))
119 {
120 $data[$item['item_ref_id']]['description'] = $tmp_obj->getDescription();
121 }
122 }
123
124 return $data;
125 }
126
127 public function fillRow($a_set)
128 {
129 if($this->getParentCmd() == 'listStructure')
130 {
131 $this->tpl->setCurrentBlock('pos_bl');
132 $this->tpl->setVariable("POS_ID", $a_set["id"]);
133 $this->tpl->setVariable("POS", $a_set["pos"]);
134 $this->tpl->parseCurrentBlock();
135 }
136
137 $this->tpl->setVariable("ID", $a_set["id"]);
138 $this->tpl->setVariable("TXT_TITLE", $a_set["title"]);
139 $this->tpl->setVariable("TXT_DESCRIPTION", $a_set["description"]);
140 $this->tpl->setVariable("ICON_SRC", $a_set["icon"]);
141 $this->tpl->setVariable("ICON_ALT", $a_set["type"]);
142 }
143}
144
145?>
fillRow($a_set)
Standard Version of Fill Row.
__construct($a_parent_obj, $a_parent_cmd, ilContainerStartObjects $a_start_objects)
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static _getIcon($a_obj_id="", $a_size="big", $a_type="", $a_offline=false)
Get icon for repository item.
Class ilTable2GUI.
getParentCmd()
Get parent command.
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.
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.
global $ilCtrl
Definition: ilias.php:18
global $lng
Definition: privfeed.php:40