ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilCourseParticipantsTableGUI.php
Go to the documentation of this file.
1 <?php
2 
3 /* Copyright (c) 1998-2010 ILIAS open source, Extended GPL, see docs/LICENSE */
4 
5 include_once './Services/Membership/classes/class.ilParticipantsTableGUI.php';
14 {
15  protected $show_learning_progress = false;
16  protected $show_timings = false;
17  protected $show_lp_status_sync = false;
18 
19 
27  public function __construct(
28  $a_parent_obj,
30  $a_show_learning_progress = false,
31  $a_show_timings = false,
32  $a_show_lp_status_sync = false)
33  {
34  global $lng, $ilCtrl;
35 
36  $this->show_learning_progress = $a_show_learning_progress;
37  if($this->show_learning_progress)
38  {
39  include_once './Services/Tracking/classes/class.ilLPStatus.php';
40  }
41 
42  $this->show_timings = $a_show_timings;
43  $this->show_lp_status_sync = $a_show_lp_status_sync;
44 
45  $this->rep_object = $rep_object;
46 
47  // #13208
48  include_once("Services/Tracking/classes/class.ilObjUserTracking.php");
50  {
51  $this->show_lp_status_sync = false;
52  }
53 
54  $this->lng = $lng;
55  $this->lng->loadLanguageModule('crs');
56  $this->lng->loadLanguageModule('trac');
57  $this->lng->loadLanguageModule('rbac');
58  $this->lng->loadLanguageModule('mmbr');
59 
60  $this->ctrl = $ilCtrl;
61 
62  include_once('./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
63  $this->privacy = ilPrivacySettings::_getInstance();
64 
65  include_once './Services/Membership/classes/class.ilParticipants.php';
66  $this->participants = ilParticipants::getInstanceByObjId($this->getRepositoryObject()->getId());
67 
68 
69  // required before constructor for columns
70  $this->setId('crs_'. $this->getRepositoryObject()->getId());
71  parent::__construct($a_parent_obj, 'participants');
72 
73  $this->initSettings();
74 
75  $this->setFormName('participants');
76 
77  $this->addColumn('', 'f', "1");
78  $this->addColumn($this->lng->txt('name'), 'name', '20%');
79 
80  $all_cols = $this->getSelectableColumns();
81  foreach($this->getSelectedColumns() as $col)
82  {
83  $this->addColumn($all_cols[$col]['txt'], $col);
84  }
85 
86  if($this->show_learning_progress)
87  {
88  $this->addColumn($this->lng->txt('learning_progress'), 'progress');
89  }
90 
91  if($this->privacy->enabledCourseAccessTimes())
92  {
93  $this->addColumn($this->lng->txt('last_access'), 'access_ut', '16em');
94  }
95 
96  $this->addColumn($this->lng->txt('crs_member_passed'), 'passed');
97  if($this->show_lp_status_sync)
98  {
99  $this->addColumn($this->lng->txt('crs_member_passed_status_changed'), 'passed_info');
100  }
101 
102 
103  $this->setSelectAllCheckbox('participants');
104  $this->addColumn($this->lng->txt('crs_mem_contact'),'contact');
105  $this->addColumn($this->lng->txt('crs_blocked'), 'blocked');
106  $this->addColumn($this->lng->txt('crs_notification_list_title'), 'notification');
107 
108  $this->addColumn($this->lng->txt(''), 'optional');
109 
110  $this->setRowTemplate("tpl.show_participants_row.html", "Modules/Course");
111 
112  $this->setDefaultOrderField('roles');
113  $this->enable('sort');
114  $this->enable('header');
115  $this->enable('numinfo');
116  $this->enable('select_all');
117 
118  $this->setEnableNumInfo(true);
119  $this->setExternalSegmentation(false);
120 
121  $this->getItems();
122  $this->setTopCommands(true);
123  $this->setEnableHeader(true);
124  $this->setEnableTitle(true);
125  $this->initFilter();
126 
127  $this->setShowRowsSelector(true);
128 
129  include_once "Services/Certificate/classes/class.ilCertificate.php";
130  $this->enable_certificates = ilCertificate::isActive();
131  if($this->enable_certificates)
132  {
133  $this->enable_certificates = ilCertificate::isObjectActive($this->getRepositoryObject()->getId());
134  }
135  if($this->enable_certificates)
136  {
137  $lng->loadLanguageModule('certificate');
138  }
139 
140  $this->addMultiCommand('editParticipants', $this->lng->txt('edit'));
141  $this->addMultiCommand('confirmDeleteParticipants', $this->lng->txt('remove'));
142  $this->addMultiCommand('sendMailToSelectedUsers', $this->lng->txt('mmbr_btn_mail_selected_users'));
143  $this->lng->loadLanguageModule('user');
144  $this->addMultiCommand('addToClipboard', $this->lng->txt('clipboard_add_btn'));
145 
146  $this->addCommandButton('updateParticipantsStatus', $this->lng->txt('save'));
147 
148  }
149 
150 
151 
152  public function getItems()
153  {
154 
155  }
156 
157 
165  public function fillRow($a_set)
166  {
167  global $ilAccess;
168 
169  $this->tpl->setVariable('VAL_ID', $a_set['usr_id']);
170  $this->tpl->setVariable('VAL_NAME', $a_set['lastname'] . ', ' . $a_set['firstname']);
171 
172  if(!$ilAccess->checkAccessOfUser($a_set['usr_id'], 'read', '', $this->getRepositoryObject()->getRefId()) and
173  is_array($info = $ilAccess->getInfo()))
174  {
175  $this->tpl->setCurrentBlock('access_warning');
176  $this->tpl->setVariable('PARENT_ACCESS', $info[0]['text']);
177  $this->tpl->parseCurrentBlock();
178  }
179 
180  if(!ilObjUser::_lookupActive($a_set['usr_id']))
181  {
182  $this->tpl->setCurrentBlock('access_warning');
183  $this->tpl->setVariable('PARENT_ACCESS', $this->lng->txt('usr_account_inactive'));
184  $this->tpl->parseCurrentBlock();
185  }
186 
187  foreach($this->getSelectedColumns() as $field)
188  {
189  switch($field)
190  {
191  case 'gender':
192  $a_set['gender'] = $a_set['gender'] ? $this->lng->txt('gender_' . $a_set['gender']) : '';
193  $this->tpl->setCurrentBlock('custom_fields');
194  $this->tpl->setVariable('VAL_CUST', $a_set[$field]);
195  $this->tpl->parseCurrentBlock();
196  break;
197 
198  case 'birthday':
199  $a_set['birthday'] = $a_set['birthday'] ? ilDatePresentation::formatDate(new ilDate($a_set['birthday'], IL_CAL_DATE)) : $this->lng->txt('no_date');
200  $this->tpl->setCurrentBlock('custom_fields');
201  $this->tpl->setVariable('VAL_CUST', $a_set[$field]);
202  $this->tpl->parseCurrentBlock();
203  break;
204 
205  case 'consultation_hour':
206  $this->tpl->setCurrentBlock('custom_fields');
207  $dts = array();
208  foreach((array) $a_set['consultation_hours'] as $ch)
209  {
211  new ilDateTime($ch['dt'],IL_CAL_UNIX),
212  new ilDateTime($ch['dtend'],IL_CAL_UNIX)
213  );
214  if($ch['explanation'])
215  {
216  $tmp .= ' ' . $ch['explanation'];
217  }
218  $dts[] = $tmp;
219  }
220  $dt_string = implode('<br />', $dts);
221  $this->tpl->setVariable('VAL_CUST',$dt_string);
222  $this->tpl->parseCurrentBlock();
223  break;
224 
225  case 'prtf':
226  $tmp = array();
227  if(is_array($a_set['prtf']))
228  {
229  foreach($a_set['prtf'] as $prtf_url => $prtf_txt)
230  {
231  $tmp[] = '<a href="'.$prtf_url.'">'.$prtf_txt.'</a>';
232  }
233  }
234  $this->tpl->setCurrentBlock('custom_fields');
235  $this->tpl->setVariable('VAL_CUST', (string) implode('<br />', $tmp)) ;
236  $this->tpl->parseCurrentBlock();
237  break;
238 
239 
240  case 'odf_last_update':
241  $this->tpl->setCurrentBlock('custom_fields');
242  $this->tpl->setVariable('VAL_CUST',(string) $a_set['odf_info_txt']);
243  $this->tpl->parseCurrentBlock();
244  break;
245 
246  case 'roles':
247  $this->tpl->setCurrentBlock('custom_fields');
248  $this->tpl->setVariable('VAL_CUST', (string) $a_set['roles_label']);
249  $this->tpl->parseCurrentBlock();
250  break;
251 
252  case 'org_units':
253  $this->tpl->setCurrentBlock('custom_fields');
254  include_once './Modules/OrgUnit/classes/PathStorage/class.ilOrgUnitPathStorage.php';
255  $this->tpl->setVariable('VAL_CUST', (string) ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits($a_set['usr_id']));
256  $this->tpl->parseCurrentBlock();
257  break;
258 
259  default:
260  $this->tpl->setCurrentBlock('custom_fields');
261  $this->tpl->setVariable('VAL_CUST', isset($a_set[$field]) ? (string) $a_set[$field] : '');
262  $this->tpl->parseCurrentBlock();
263  break;
264  }
265  }
266 
267  if($this->privacy->enabledCourseAccessTimes())
268  {
269  $this->tpl->setVariable('VAL_ACCESS', $a_set['access_time']);
270  }
271  if($this->show_learning_progress)
272  {
273 
274  $this->tpl->setCurrentBlock('lp');
275  switch($a_set['progress'])
276  {
278  $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
279  $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/complete.svg'));
280  break;
281 
283  $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
284  $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/incomplete.svg'));
285  break;
286 
288  $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
289  $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/not_attempted.svg'));
290  break;
291 
293  $this->tpl->setVariable('LP_STATUS_ALT', $this->lng->txt($a_set['progress']));
294  $this->tpl->setVariable('LP_STATUS_PATH', ilUtil::getImagePath('scorm/failed.svg'));
295  break;
296  }
297  $this->tpl->parseCurrentBlock();
298  }
299 
300  $this->tpl->setVariable('VAL_POSTNAME', 'participants');
301  $this->tpl->setVariable('VAL_PASSED_ID',$a_set['usr_id']);
302  $this->tpl->setVariable('VAL_PASSED_CHECKED',($a_set['passed'] ? 'checked="checked"' : ''));
303 
304  if(
305  $this->getParticipants()->isAdmin($a_set['usr_id']) ||
306  $this->getParticipants()->isTutor($a_set['usr_id'])
307  )
308  {
309  // cognos-blu-patch: begin
310  $this->tpl->setCurrentBlock('with_contact');
311  $this->tpl->setVariable('VAL_CONTACT_ID',$a_set['usr_id']);
312  $this->tpl->setVariable('VAL_CONTACT_CHECKED',$a_set['contact'] ? 'checked="checked"' : '');
313  $this->tpl->parseCurrentBlock();
314  // cognos-blu-patch: end
315 
316  $this->tpl->setCurrentBlock('with_notification');
317  $this->tpl->setVariable('VAL_NOTIFICATION_ID', $a_set['usr_id']);
318  $this->tpl->setVariable('VAL_NOTIFICATION_CHECKED', ($a_set['notification'] ? 'checked="checked"' : ''));
319  $this->tpl->parseCurrentBlock();
320 
321  }
322 
323  // blocked only for real members
324  if(
325  !$this->getParticipants()->isAdmin($a_set['usr_id']) &&
326  !$this->getParticipants()->isTutor($a_set['usr_id'])
327  )
328  {
329  $this->tpl->setCurrentBlock('with_blocked');
330  $this->tpl->setVariable('VAL_BLOCKED_ID', $a_set['usr_id']);
331  $this->tpl->setVariable('VAL_BLOCKED_CHECKED', ($a_set['blocked'] ? 'checked="checked"' : ''));
332  $this->tpl->parseCurrentBlock();
333  }
334 
335 
336  if($this->show_lp_status_sync)
337  {
338  $this->tpl->setVariable('PASSED_INFO', $a_set["passed_info"]);
339  }
340 
341  $this->showActionLinks($a_set);
342 
343  if($a_set['passed'] && $this->enable_certificates)
344  {
345  $this->tpl->setCurrentBlock('link');
346  $this->tpl->setVariable('LINK_NAME', $this->ctrl->getLinkTarget($this->parent_obj, 'deliverCertificate'));
347  $this->tpl->setVariable('LINK_TXT', $this->lng->txt('download_certificate'));
348  $this->tpl->parseCurrentBlock();
349  }
350  $this->ctrl->clearParameters($this->parent_obj);
351 
352  if($this->show_timings)
353  {
354  $this->ctrl->setParameterByClass('ilcoursecontentgui', 'member_id', $a_set['usr_id']);
355  $this->tpl->setCurrentBlock('link');
356  $this->tpl->setVariable('LINK_NAME', $this->ctrl->getLinkTargetByClass('ilcoursecontentgui', 'showUserTimings'));
357  $this->tpl->setVariable('LINK_TXT', $this->lng->txt('timings_timings'));
358  $this->tpl->parseCurrentBlock();
359  }
360  }
361 
368  public function parse()
369  {
370  global $rbacreview;
371 
372  $this->determineOffsetAndOrder(true);
373 
374  include_once './Services/User/classes/class.ilUserQuery.php';
375 
376  $additional_fields = $this->getSelectedColumns();
377  unset($additional_fields["firstname"]);
378  unset($additional_fields["lastname"]);
379  unset($additional_fields["last_login"]);
380  unset($additional_fields["access_until"]);
381  unset($additional_fields['consultation_hour']);
382  unset($additional_fields['prtf']);
383  unset($additional_fields['roles']);
384  unset($additional_fields['org_units']);
385 
386  $part = $this->participants->getParticipants();
387  if(!$part)
388  {
389  $this->setData(array());
390  return;
391  }
392 
393  $udf_ids = $usr_data_fields = $odf_ids = array();
394  foreach($additional_fields as $field)
395  {
396  if(substr($field, 0, 3) == 'udf')
397  {
398  $udf_ids[] = substr($field, 4);
399  continue;
400  }
401  if(substr($field, 0, 3) == 'odf')
402  {
403  $odf_ids[] = substr($field, 4);
404  continue;
405  }
406 
407  $usr_data_fields[] = $field;
408  }
409 
410  $usr_data = ilUserQuery::getUserListData(
411  $this->getOrderField(),
412  $this->getOrderDirection(),
413  0,
414  9999,
415  $this->current_filter['login'],
416  '',
417  null,
418  false,
419  false,
420  0,
421  0,
422  null,
423  $usr_data_fields,
424  $part
425  );
426  // filter by array
427  $usr_ids = array();
428  $local_roles = $this->getParentObject()->getLocalRoles();
429  foreach((array) $usr_data['set'] as $user)
430  {
431  if($this->current_filter['roles'])
432  {
433  if(!$GLOBALS['rbacreview']->isAssigned($user['usr_id'], $this->current_filter['roles']))
434  {
435  continue;
436  }
437  }
438  if($this->current_filter['org_units'])
439  {
440  $org_unit = $this->current_filter['org_units'];
441 
442  include_once './Modules/OrgUnit/classes/class.ilObjOrgUnitTree.php';
443  $assigned = ilObjOrgUnitTree::_getInstance()->getOrgUnitOfUser($user['usr_id']);
444  if(!in_array($org_unit, $assigned))
445  {
446  continue;
447  }
448  }
449 
450 
451  $usr_ids[] = $user['usr_id'];
452  }
453 
454  // merge course data
455  $course_user_data = $this->getParentObject()->readMemberData(
456  $usr_ids,
457  $this->getSelectedColumns()
458  );
459  $a_user_data = array();
460  foreach((array) $usr_data['set'] as $ud)
461  {
462  $user_id = $ud['usr_id'];
463 
464  if(!in_array($user_id, $usr_ids))
465  {
466  continue;
467  }
468  // #15434
469  if(!$this->checkAcceptance($user_id))
470  {
471  $ud = array();
472  }
473 
474  $a_user_data[$user_id] = array_merge($ud,$course_user_data[$user_id]);
475 
476 
477  $roles = array();
478  foreach($local_roles as $role_id => $role_name)
479  {
480  // @todo fix performance
481  if($GLOBALS['rbacreview']->isAssigned($user_id, $role_id))
482  {
483  $roles[] = $role_name;
484  }
485  }
486 
487  $a_user_data[$user_id]['name'] = ($a_user_data[$user_id]['lastname'].', '.$a_user_data[$user_id]['firstname']);
488  $a_user_data[$user_id]['roles_label'] = implode('<br />', $roles);
489  $a_user_data[$user_id]['roles'] = $this->participants->setRoleOrderPosition($user_id);
490 
491 
492  if($this->show_lp_status_sync)
493  {
494  // #9912 / #13208
495  $passed_info = "";
496  if($a_user_data[$user_id]["passed_info"])
497  {
498  $pinfo = $a_user_data[$user_id]["passed_info"];
499  if($pinfo["user_id"])
500  {
501  if($pinfo["user_id"] < 0)
502  {
503  $passed_info = $this->lng->txt("crs_passed_status_system");
504  }
505  else if($pinfo["user_id"] > 0)
506  {
507  $name = ilObjUser::_lookupName($pinfo["user_id"]);
508  $passed_info = $this->lng->txt("crs_passed_status_manual_by").": ".$name["login"];
509  }
510  }
511  if($pinfo["timestamp"])
512  {
513  $passed_info .= "<br />".ilDatePresentation::formatDate($pinfo["timestamp"]);
514  }
515  }
516  $a_user_data[$user_id]["passed_info"] = $passed_info;
517  }
518  }
519 
520  // Custom user data fields
521  if($udf_ids)
522  {
523  include_once './Services/User/classes/class.ilUserDefinedData.php';
524  $data = ilUserDefinedData::lookupData($usr_ids, $udf_ids);
525  foreach($data as $usr_id => $fields)
526  {
527  if(!$this->checkAcceptance($usr_id))
528  {
529  continue;
530  }
531 
532  foreach($fields as $field_id => $value)
533  {
534  $a_user_data[$usr_id]['udf_' . $field_id] = $value;
535  }
536  }
537  }
538  // Object specific user data fields
539  if($odf_ids)
540  {
541  include_once './Modules/Course/classes/Export/class.ilCourseUserData.php';
543  foreach($data as $usr_id => $fields)
544  {
545  // #7264: as we get data for all course members filter against user data
546  if(!$this->checkAcceptance($usr_id) || !in_array($usr_id, $usr_ids))
547  {
548  continue;
549  }
550 
551  foreach($fields as $field_id => $value)
552  {
553  $a_user_data[$usr_id]['odf_' . $field_id] = $value;
554  }
555  }
556 
557 
558  // add last edit date
559  include_once './Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
560  foreach(ilObjectCustomUserFieldHistory::lookupEntriesByObjectId($this->getRepositoryObject()->getId()) as $usr_id => $edit_info)
561  {
562  if(!isset($a_user_data[$usr_id]))
563  {
564  continue;
565  }
566 
567  include_once './Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
568  if($usr_id == $edit_info['update_user'])
569  {
570  $a_user_data[$usr_id]['odf_last_update'] = '';
571  $a_user_data[$usr_id]['odf_info_txt'] = $GLOBALS['lng']->txt('cdf_edited_by_self');
572  if(ilPrivacySettings::_getInstance()->enabledAccessTimesByType($this->getRepositoryObject()->getType()))
573  {
574  $a_user_data[$usr_id]['odf_last_update'] .= ('_'.$edit_info['editing_time']->get(IL_CAL_UNIX));
575  $a_user_data[$usr_id]['odf_info_txt'] .= (', '.ilDatePresentation::formatDate($edit_info['editing_time']));
576  }
577  }
578  else
579  {
580  $a_user_data[$usr_id]['odf_last_update'] = $edit_info['update_user'];
581  $a_user_data[$usr_id]['odf_last_update'] .= ('_'.$edit_info['editing_time']->get(IL_CAL_UNIX));
582 
583  $name = ilObjUser::_lookupName($edit_info['update_user']);
584  $a_user_data[$usr_id]['odf_info_txt'] = ($name['firstname'].' '.$name['lastname'].', '.ilDatePresentation::formatDate($edit_info['editing_time']));
585  }
586  }
587  }
588 
589  // consultation hours
590  if($this->isColumnSelected('consultation_hour'))
591  {
592  include_once './Services/Booking/classes/class.ilBookingEntry.php';
593  foreach(ilBookingEntry::lookupManagedBookingsForObject($this->getRepositoryObject()->getId(), $GLOBALS['ilUser']->getId()) as $buser => $booking)
594  {
595  if(isset($a_user_data[$buser]))
596  {
597  $a_user_data[$buser]['consultation_hour'] = $booking[0]['dt'];
598  $a_user_data[$buser]['consultation_hour_end'] = $booking[0]['dtend'];
599  $a_user_data[$buser]['consultation_hours'] = $booking;
600  }
601  }
602  }
603 
604  // always sort by name first
605  $a_user_data = ilUtil::sortArray(
606  $a_user_data,
607  'name',
608  $this->getOrderDirection()
609  );
610 
611  return $this->setData($a_user_data);
612  }
613 
614 }
615 ?>
showActionLinks($a_set)
show edit links
addCommandButton($a_cmd, $a_text, $a_onclick='', $a_id="", $a_class=null)
Add Command button.
static _lookupName($a_user_id)
lookup user name
__construct( $a_parent_obj, ilObject $rep_object, $a_show_learning_progress=false, $a_show_timings=false, $a_show_lp_status_sync=false)
Constructor.
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="")
Get data for user administration list.
setDefaultOrderField($a_defaultorderfield)
Set Default order field.
static lookupManagedBookingsForObject($a_obj_id, $a_usr_id)
Lookup bookings for own and managed consultation hours of an object.
setEnableNumInfo($a_val)
Set enable num info.
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
const LP_STATUS_NOT_ATTEMPTED
Class ilObject Basic functions for all objects.
setExternalSegmentation($a_val)
Set external segmentation.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
const IL_CAL_UNIX
getOrderDirection()
Get order direction.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
getParentObject()
Get parent object.
setId($a_val)
Set id.
const LP_STATUS_IN_PROGRESS
global $ilCtrl
Definition: ilias.php:18
static lookupData($a_user_ids, $a_field_ids)
Lookup data.
$info
Definition: example_052.php:80
static _enabledLearningProgress()
check wether learing progress is enabled or not
setTopCommands($a_val)
Set top commands (display command buttons on top of table, too)
const LP_STATUS_FAILED
Class for single dates.
static getImagePath($img, $module_path="", $mode="output", $offline=false)
get image path (for images located in a template directory)
addMultiCommand($a_cmd, $a_text)
Add Command button.
enable($a_module_name)
enables particular modules of table
static formatDate(ilDateTime $date)
Format a date public.
Date and time handling
getSelectedColumns()
Get selected columns.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
Create styles array
The data for the language used.
getSelectableColumns()
Get selectable columns.
isColumnSelected($a_col)
Is given column selected?
determineOffsetAndOrder($a_omit_offset=false)
Determine offset and order.
static isObjectActive($a_obj_id)
const IL_CAL_DATE
setFormName($a_formname="")
Set Form name.
global $lng
Definition: privfeed.php:17
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
setEnableHeader($a_enableheader)
Set Enable Header.
checkAcceptance($a_usr_id)
Check acceptance.
static _lookupActive($a_usr_id)
Check user account active.
static _getInstance()
Get instance of ilPrivacySettings.
setSelectAllCheckbox($a_select_all_checkbox)
Set the name of the checkbox that should be toggled with a select all button.
getId()
Get element id.
setEnableTitle($a_enabletitle)
Set Enable Title.
const LP_STATUS_COMPLETED
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.
static lookupEntriesByObjectId($a_obj_id)
Get entries by obj_id type $ilDB.
static getInstanceByObjId($a_obj_id)
Get instance by obj type.