ILIAS  release_5-4 Revision v5.4.26-12-gabc799a52e6
class.ilHistoryTableGUI.php
Go to the documentation of this file.
1<?php
2include_once('./Services/Table/classes/class.ilTable2GUI.php');
3include_once('./Services/History/classes/class.ilHistory.php');
4include_once('./Services/User/classes/class.ilUserUtil.php');
19{
20 protected $obj_id;
21 protected $obj_type;
22 protected $ref_id;
23 protected $ilCtrl;
24
25 protected $comment_visibility = false;
26
27
28 public function __construct($a_parent_obj, $a_parent_cmd, $a_obj_id, $a_obj_type = null)
29 {
30 global $DIC;
31
32 $ilCtrl = $DIC->ctrl();
33 parent::__construct($a_parent_obj, $a_parent_cmd);
34
35 $this->setObjId($a_obj_id);
36 $this->setObjType($a_obj_type);
37 $this->ilCtrl = $ilCtrl;
38 }
39
43 public function getDataFromDb()
44 {
45 $entries = ilHistory::_getEntriesForObject($this->getObjId(), $this->getObjType());
46 $this->setData($entries);
47 }
48
52 public function initTable()
53 {
54 $this->setRowTemplate("tpl.history_row.html", "Services/History");
55 $this->setFormAction($this->ilCtrl->getFormAction($this->getParentObject()));
56
57 $this->setTitle($this->lng->txt("history"));
58 $this->addColumn($this->lng->txt("user"), "", "25%");
59 $this->addColumn($this->lng->txt("date"), "", "25%");
60 $this->addColumn($this->lng->txt("action"), "", "50%");
61
62 $this->getDataFromDb();
63 }
64
68 protected function fillRow($a_set)
69 {
70 $this->tpl->setVariable("TXT_USER", ilUserUtil::getNamePresentation($a_set["user_id"], false, false));
71 $this->tpl->setVariable(
72 'TXT_DATE',
74 );
75 $this->tpl->setVariable("TXT_ACTION", $this->createInfoText($a_set));
76
77 if ($this->getObjType() == "lm") {
78 $obj_arr = explode(":", $a_set["obj_type"]);
79 switch ($obj_arr[1]) {
80 case "st":
81 $img_type = "st";
82 $class = "ilstructureobjectgui";
83 $cmd = "view";
84 break;
85
86 case "pg":
87 $img_type = "pg";
88 $class = "illmpageobjectgui";
89 $cmd = "edit";
90 break;
91
92 default:
93 $img_type = $obj_arr[0];
94 $class = "";
95 $cmd = "view";
96 break;
97 }
98
99 $this->tpl->setCurrentBlock("item_icon");
100 $this->tpl->setVariable("SRC_ICON", ilUtil::getImagePath("icon_" . $img_type . ".svg"));
101 $this->tpl->parseCurrentBlock();
102
103 if ($class != "") {
104 $this->tpl->setCurrentBlock("item_link");
105 $this->ilCtrl->setParameterByClass($class, "obj_id", $a_set["obj_id"]);
106 $this->tpl->setVariable(
107 "HREF_LINK",
108 $this->ilCtrl->getLinkTargetByClass($class, $cmd)
109 );
110 $this->tpl->setVariable("TXT_LINK", $a_set["title"]);
111 $this->tpl->parseCurrentBlock();
112 } else {
113 $this->tpl->setCurrentBlock("item_title");
114 $this->tpl->setVariable(
115 "TXT_TITLE",
116 ilObject::_lookupTitle($a_set["obj_id"])
117 );
118 $this->tpl->parseCurrentBlock();
119 }
120 }
121
122 if ($this->isCommentVisible() && $a_set["user_comment"] != "") {
123 $this->tpl->setCurrentBlock("user_comment");
124 $this->tpl->setVariable("TXT_COMMENT", $this->lng->txt("comment"));
125 $this->tpl->setVariable("TXT_USER_COMMENT", $a_set["user_comment"]);
126 $this->tpl->parseCurrentBlock();
127 }
128 }
129
135 protected function createInfoText($a_set)
136 {
137 $info_params = explode(",", $a_set["info_params"]);
138
139 switch ($this->getObjType()) {
140 case "lm":
141 $info_text = $this->lng->txt("hist_" . str_replace(":", "_", $a_set["obj_type"]) .
142 "_" . $a_set["action"]);
143 break;
144 default:
145 $info_text = $this->lng->txt("hist_" . str_replace(":", "_", $this->getObjType()) .
146 "_" . $a_set["action"]);
147 break;
148 }
149
150 $i = 1;
151 foreach ($info_params as $info_param) {
152 $info_text = str_replace("%" . $i, $info_param, $info_text);
153 $i++;
154 }
155
156 return $info_text;
157 }
158
164 public function setCommentVisibility($a_visible)
165 {
166 $this->comment_visibility = (bool) $a_visible;
167 }
168
173 public function isCommentVisible()
174 {
176 }
177
182 public function setObjId($a_obj_id)
183 {
184 $this->obj_id = $a_obj_id;
185 }
186
191 public function getObjId()
192 {
193 return $this->obj_id;
194 }
195
200 public function setObjType($a_obj_type)
201 {
202 $this->obj_type = $a_obj_type;
203 }
204
209 public function getObjType()
210 {
211 if (!$this->obj_type) {
212 $this->setObjType(ilObject::_lookupType($this->getObjId()));
213 }
214 return $this->obj_type;
215 }
216}
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_DATETIME
This class provides processing control methods.
getLinkTargetByClass( $a_class, $a_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get link target for command using gui class name.
getFormAction( $a_gui_obj, $a_fallback_cmd="", $a_anchor="", $a_asynch=false, $xml_style=true)
Get form action url for gui class object.
setParameterByClass($a_class, $a_parameter, $a_value)
Same as setParameterByClass, except that a class name is passed.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false, $include_seconds=false)
Format a date @access public.
@classDescription Date and time handling
Copyright (c) 1998-2014 ILIAS open source, Extended GPL, see docs/LICENSE Date: 24....
getDataFromDb()
Get data and put it into an array.
isCommentVisible()
comments visible?
fillRow($a_set)
Fill a single data row.
createInfoText($a_set)
format info parameters into info text
__construct($a_parent_obj, $a_parent_cmd, $a_obj_id, $a_obj_type=null)
setObjType($a_obj_type)
set object type (not required)
getObjType()
get object type (if not set, it will be set via object id)
setCommentVisibility($a_visible)
set comments visible
setObjId($a_obj_id)
set object id
static _getEntriesForObject($a_obj_id, $a_obj_type="")
get all history entries for an object
static _lookupTitle($a_id)
lookup object title
static _lookupType($a_id, $a_reference=false)
lookup object type
Class ilTable2GUI.
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.
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.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
static getNamePresentation( $a_user_id, $a_user_image=false, $a_profile_link=false, $a_profile_back_link="", $a_force_first_lastname=false, $a_omit_login=false, $a_sortable=true, $a_return_data_array=false, $a_ctrl_path="ilpublicuserprofilegui")
Default behaviour is:
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
$i
Definition: disco.tpl.php:19
global $DIC
Definition: saml.php:7