ILIAS  release_5-3 Revision v5.3.23-19-g915713cf615
class.ilUserLPTableGUI.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 
15 {
16  public function __construct($a_parent_obj, $a_parent_cmd, $a_ref_id)
17  {
18  global $ilCtrl, $lng, $ilAccess, $lng, $rbacsystem;
19 
20  $this->ref_id = $a_ref_id;
21  $this->setId("admusrlp");
22 
23  parent::__construct($a_parent_obj, $a_parent_cmd);
24  // $this->setTitle($this->lng->txt("obj_usr"));
25 
26  $this->addColumn($this->lng->txt("login"), "login");
27  $this->addColumn($this->lng->txt("firstname"), "firstname");
28  $this->addColumn($this->lng->txt("lastname"), "lastname");
29  $this->addColumn($this->lng->txt("online_time"), "online_time");
30  $this->addColumn($this->lng->txt("last_login"), "last_login");
31  $this->setExternalSorting(true);
32  $this->setExternalSegmentation(true);
33 
34  $this->setFormAction($ilCtrl->getFormAction($this->parent_obj));
35 
36  $this->setRowTemplate("tpl.user_list_lp_row.html", "Services/User");
37 
38  $this->setDefaultOrderField("login");
39  $this->setDefaultOrderDirection("asc");
40 
41  $this->setExportFormats(array(self::EXPORT_EXCEL));
42 
43  $this->getItems();
44  }
45 
46  public function getItems()
47  {
48  $this->determineOffsetAndOrder();
49 
50  include_once("./Services/User/classes/class.ilUserQuery.php");
51  $usr_data = ilUserQuery::getUserListData(
56  null,
57  null,
58  null,
59  null,
60  null,
61  null,
62  null,
63  null,
64  array("online_time"),
65  null,
66  null
67  );
68 
69  if (count($usr_data["set"]) == 0 && $this->getOffset() > 0) {
70  $this->resetOffset();
71  $usr_data = ilUserQuery::getUserListData(
76  null,
77  null,
78  null,
79  null,
80  null,
81  null,
82  null,
83  null,
84  array("online_time"),
85  null,
86  null
87  );
88  }
89 
90  $this->setMaxCount($usr_data["cnt"]);
91  $this->setData($usr_data["set"]);
92 
93  include_once 'Services/Tracking/classes/class.ilObjUserTracking.php';
95  }
96 
97  protected function fillRow($user)
98  {
99  global $ilCtrl;
100 
101  if ($this->lp_active) {
102  $ilCtrl->setParameterByClass("illearningprogressgui", "ref_id", $this->ref_id);
103  $ilCtrl->setParameterByClass("illearningprogressgui", "obj_id", $user["usr_id"]);
104  $link = $ilCtrl->getLinkTargetByClass(array("ilobjusergui",'illearningprogressgui'), "");
105 
106  $this->tpl->setCurrentBlock("login_link");
107  $this->tpl->setVariable("HREF_LOGIN", $link);
108  $this->tpl->setVariable("VAL_LOGIN", $user["login"]);
109  $this->tpl->parseCurrentBlock();
110  } else {
111  $this->tpl->setCurrentBlock("login_plain");
112  $this->tpl->setVariable("VAL_LOGIN_PLAIN", $user["login"]);
113  $this->tpl->parseCurrentBlock();
114  }
115 
116  $this->tpl->setVariable("VAL_FIRSTNAME", $user["firstname"]);
117  $this->tpl->setVariable("VAL_LASTNAME", $user["lastname"]);
118  $this->tpl->setVariable(
119  "VAL_ONLINE_TIME",
120  self::secondsToShortString($user["online_time"])
121  );
122  $this->tpl->setVariable(
123  "VAL_LAST_LOGIN",
125  );
126  }
127 
128  protected function fillRowExcel(ilExcel $a_excel, &$a_row, $a_set)
129  {
130  $a_excel->setCell($a_row, 0, $a_set["login"]);
131  $a_excel->setCell($a_row, 1, $a_set["firstname"]);
132  $a_excel->setCell($a_row, 2, $a_set["lastname"]);
133  $a_excel->setCell(
134  $a_row,
135  3,
136  self::secondsToShortString($a_set["online_time"])
137  );
138  $a_excel->setCell($a_row, 4, new ilDateTime($a_set["last_login"], IL_CAL_DATETIME));
139  }
140 
148  protected static function secondsToShortString($seconds)
149  {
150  global $lng;
151 
152  $seconds = $seconds ? $seconds : 0;
153 
154  global $lng;
155 
156  $days = floor($seconds / 86400);
157  $rest = $seconds % 86400;
158 
159  $hours = floor($rest / 3600);
160  $rest = $rest % 3600;
161 
162  $minutes = floor($rest / 60);
163  $rest = $rest % 60;
164 
165  return sprintf("%02d:%02d:%02d:%02d", $days, $hours, $minutes, $rest);
166  }
167 }
setExternalSorting($a_val)
Set external sorting.
$rest
Definition: goto.php:46
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
setExportFormats(array $formats)
Set available export formats.
const IL_CAL_DATETIME
setExternalSegmentation($a_val)
Set external segmentation.
static formatDate(ilDateTime $date, $a_skip_day=false, $a_include_wd=false)
Format a date public.
resetOffset($a_in_determination=false)
Reset offset.
Learning progress account list for user administration.
fillRowExcel(ilExcel $a_excel, &$a_row, $a_set)
getOrderDirection()
Get order direction.
setId($a_val)
Set id.
global $ilCtrl
Definition: ilias.php:18
setDefaultOrderDirection($a_defaultorderdirection)
Set Default order direction.
static _enabledLearningProgress()
check wether learing progress is enabled or not
Class ilTable2GUI.
getOffset()
Get offset.
Date and time handling
setCell($a_row, $a_col, $a_value, $a_datatype=null)
Set cell value.
static stripSlashes($a_str, $a_strip_html=true, $a_allow="")
strip slashes if magic qoutes is enabled
static secondsToShortString($seconds)
converts seconds to string: Long: 7 days 4 hour(s) ...
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
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.
getLimit()
Get limit.
setMaxCount($a_max_count)
set max.
static getUserListData( $a_order_field, $a_order_dir, $a_offset, $a_limit, $a_string_filter="", $a_activation_filter="", $a_last_login_filter=null, $a_limited_access_filter=false, $a_no_courses_filter=false, $a_course_group_filter=0, $a_role_filter=0, $a_user_folder_filter=null, $a_additional_fields='', $a_user_filter=null, $a_first_letter="", $a_authentication_filter=null)
Get data for user administration list.
__construct($a_parent_obj, $a_parent_cmd, $a_ref_id)