ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilSCORMTrackingUsersTableGUI.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2009 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4include_once './Services/Table/classes/class.ilTable2GUI.php';
5
13{
14 private $obj_id = 0;
15
19 public function __construct($a_obj_id, $a_parent_obj, $a_parent_cmd)
20 {
21 $this->obj_id = $a_obj_id;
22
23 $this->setId('sco_tr_usrs_' . $this->obj_id);
24 parent::__construct($a_parent_obj, $a_parent_cmd);
25 $this->initFilter();
26 }
27
32 public function getObjId()
33 {
34 return $this->obj_id;
35 }
36
40 public function parse()
41 {
42 $this->initTable();
43
44 // @TODO add filter
45 $users = $this->getParentObject()->object->getTrackedUsers($this->filter['lastname']);
46 $attempts = $this->getParentObject()->object->getAttemptsForUsers();
47 $versions = $this->getParentObject()->object->getModuleVersionForUsers();
48
49 include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
51 $allowExportPrivacy = $privacy->enabledExportSCORM();
52
53 $data = array();
54 foreach ($users as $user) {
55 $tmp = array();
56 $tmp['user'] = $user['user_id'];
57 if ($allowExportPrivacy == true) {
58 $tmp['name'] = $user['lastname'] . ', ' . $user['firstname'];
59 } else {
60 $tmp['name'] = $user['user_id'];
61 }
62 $dt = new ilDateTime($user['last_access'], IL_CAL_DATETIME);
63 $tmp['last_access'] = $dt->get(IL_CAL_UNIX);
64 $tmp['attempts'] = (int) $attempts[$user['user_id']];
65 $tmp['version'] = (int) $versions[$user['user_id']];
66
67 $data[] = $tmp;
68 }
69 $this->setData($data);
70 }
71
72 public function initFilter()
73 {
74 $item = $this->addFilterItemByMetaType("lastname", ilTable2GUI::FILTER_TEXT);
75 $this->filter["lastname"] = $item->getValue();
76 }
77
82 protected function fillRow($a_set)
83 {
84 global $ilCtrl;
85
86 $this->tpl->setVariable('CHECKBOX_ID', $a_set['user']);
87 $this->tpl->setVariable('VAL_USERNAME', $a_set['name']);
88
89 // $ilCtrl->setParameter($this->getParentObject(),'user_id',$a_set['user']);
90 // $this->tpl->setVariable('LINK_ITEM', $ilCtrl->getLinkTarget($this->getParentObject(),'showTrackingItem'));
91
92 $this->tpl->setVariable('VAL_LAST', ilDatePresentation::formatDate(new ilDateTime($a_set['last_access'], IL_CAL_UNIX)));
93 $this->tpl->setVariable('VAL_ATTEMPT', (int) $a_set['attempts']);
94 $this->tpl->setVariable('VAL_VERSION', (string) $a_set['version']);
95 }
96
100 protected function initTable()
101 {
102 global $ilCtrl;
103
104 $this->setFilterCommand('applyUserTableFilter');
105 $this->setResetCommand('resetUserTableFilter');
106
107 $this->setDisableFilterHiding(false);
108
109 $this->setFormAction($ilCtrl->getFormAction($this->getParentObject()));
110 $this->setRowTemplate('tpl.scorm_track_items.html', 'Modules/ScormAicc');
111 $this->setTitle($this->lng->txt('cont_tracking_items'));
112
113 $this->addColumn('', '', '1px');
114 $this->addColumn($this->lng->txt('user'), 'name', '35%');
115 $this->addColumn($this->lng->txt('last_access'), 'last_access', '25%');
116 $this->addColumn($this->lng->txt('attempts'), 'attempts', '20%');
117 $this->addColumn($this->lng->txt('version'), 'version', '20%');
118
119 $this->enable('select_all');
120 $this->setSelectAllCheckbox('user');
121
122 $this->addMultiCommand('deleteTrackingForUser', $this->lng->txt('delete'));
123 $this->addMultiCommand('decreaseAttempts', $this->lng->txt('decrease_attempts'));
124 $this->addMultiCommand('exportSelectionUsers', $this->lng->txt('export'));
125 }
126}
$users
Definition: authpage.php:44
An exception for terminatinating execution or to throw for unit testing.
const IL_CAL_UNIX
const IL_CAL_DATETIME
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date @access public.
@classDescription Date and time handling
static _getInstance()
Get instance of ilPrivacySettings.
__construct($a_obj_id, $a_parent_obj, $a_parent_cmd)
Constructor.
Class ilTable2GUI.
setDisableFilterHiding($a_val=true)
Set disable filter hiding.
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
setResetCommand($a_val, $a_caption=null)
Set reset filter command.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
addMultiCommand($a_cmd, $a_text)
Add Command button.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
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.
addFilterItemByMetaType($id, $type=self::FILTER_TEXT, $a_optional=false, $caption=null)
Add filter by standard type.
setId($a_val)
Set id.
setFormAction($a_form_action, $a_multipart=false)
Set Form action parameter.
setFilterCommand($a_val, $a_caption=null)
Set filter command.
enable($a_module_name)
enables particular modules of table
global $ilCtrl
Definition: ilias.php:18