4 include_once
'./Services/Membership/classes/class.ilParticipantsTableGUI.php';
5 include_once
'./Services/Tracking/classes/class.ilLPStatus.php';
38 $this->lng->loadLanguageModule(
'grp');
39 $this->lng->loadLanguageModule(
'trac');
40 $this->lng->loadLanguageModule(
'rbac');
41 $this->lng->loadLanguageModule(
'mmbr');
47 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
50 include_once
'./Services/Membership/classes/class.ilParticipants.php';
57 parent::__construct($a_parent_obj,
'participants');
64 $this->
addColumn($this->lng->txt(
'name'),
'lastname',
'20%');
69 $this->
addColumn($all_cols[$col][
'txt'], $col);
72 if($this->show_learning_progress)
74 $this->
addColumn($this->lng->txt(
'learning_progress'),
'progress');
77 if($this->privacy->enabledGroupAccessTimes())
79 $this->
addColumn($this->lng->txt(
'last_access'),
'access_time_unix');
81 $this->
addColumn($this->lng->txt(
'grp_notification'),
'notification');
83 $this->
addColumn($this->lng->txt(
''),
'optional');
86 $this->
setRowTemplate(
"tpl.show_participants_row.html",
"Modules/Group");
93 $this->
enable(
'select_all');
98 $this->
addMultiCommand(
'confirmDeleteParticipants', $this->lng->txt(
'remove'));
99 $this->
addMultiCommand(
'sendMailToSelectedUsers', $this->lng->txt(
'mmbr_btn_mail_selected_users'));
100 $this->lng->loadLanguageModule(
'user');
101 $this->
addMultiCommand(
'addToClipboard', $this->lng->txt(
'clipboard_add_btn'));
104 $this->
addCommandButton(
'updateParticipantsStatus', $this->lng->txt(
'save'));
118 $this->tpl->setVariable(
'VAL_ID',$a_set[
'usr_id']);
119 $this->tpl->setVariable(
'VAL_NAME',$a_set[
'lastname'].
', '.$a_set[
'firstname']);
120 if(!$ilAccess->checkAccessOfUser($a_set[
'usr_id'],
'read',
'',$this->getRepositoryObject()->getRefId())
and 121 is_array(
$info = $ilAccess->getInfo()))
123 $this->tpl->setCurrentBlock(
'access_warning');
124 $this->tpl->setVariable(
'PARENT_ACCESS',
$info[0][
'text']);
125 $this->tpl->parseCurrentBlock();
130 $this->tpl->setCurrentBlock(
'access_warning');
131 $this->tpl->setVariable(
'PARENT_ACCESS',$this->lng->txt(
'usr_account_inactive'));
132 $this->tpl->parseCurrentBlock();
141 $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_'.$a_set[
'gender']) :
'';
142 $this->tpl->setCurrentBlock(
'custom_fields');
143 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
144 $this->tpl->parseCurrentBlock();
149 $this->tpl->setCurrentBlock(
'custom_fields');
150 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
151 $this->tpl->parseCurrentBlock();
154 case 'consultation_hour':
155 $this->tpl->setCurrentBlock(
'custom_field');
157 foreach((
array) $a_set[
'consultation_hours'] as $ch)
163 if($ch[
'explanation'])
165 $tmp .=
' ' . $ch[
'explanation'];
169 $dt_string = implode(
'<br />', $dts);
170 $this->tpl->setVariable(
'VAL_CUST',$dt_string) ;
171 $this->tpl->parseCurrentBlock();
176 if(is_array($a_set[
'prtf']))
178 foreach($a_set[
'prtf'] as $prtf_url => $prtf_txt)
180 $tmp[] =
'<a href="'.$prtf_url.
'">'.$prtf_txt.
'</a>';
183 $this->tpl->setCurrentBlock(
'custom_fields');
184 $this->tpl->setVariable(
'VAL_CUST', (
string) implode(
'<br />', $tmp)) ;
185 $this->tpl->parseCurrentBlock();
188 case 'odf_last_update':
189 $this->tpl->setCurrentBlock(
'custom_fields');
190 $this->tpl->setVariable(
'VAL_CUST',(
string) $a_set[
'odf_info_txt']);
191 $this->tpl->parseCurrentBlock();
195 $this->tpl->setCurrentBlock(
'custom_fields');
196 $this->tpl->setVariable(
'VAL_CUST', (
string) $a_set[
'roles_label']);
197 $this->tpl->parseCurrentBlock();
201 $this->tpl->setCurrentBlock(
'custom_fields');
202 include_once
'./Modules/OrgUnit/classes/PathStorage/class.ilOrgUnitPathStorage.php';
203 $this->tpl->setVariable(
'VAL_CUST', (
string) ilOrgUnitPathStorage::getTextRepresentationOfUsersOrgUnits($a_set[
'usr_id']));
204 $this->tpl->parseCurrentBlock();
208 $this->tpl->setCurrentBlock(
'custom_fields');
209 $this->tpl->setVariable(
'VAL_CUST',isset($a_set[$field]) ? (
string) $a_set[$field] :
'');
210 $this->tpl->parseCurrentBlock();
215 if($this->privacy->enabledGroupAccessTimes())
217 $this->tpl->setVariable(
'VAL_ACCESS',$a_set[
'access_time']);
220 if($this->show_learning_progress)
222 $this->tpl->setCurrentBlock(
'lp');
223 switch($a_set[
'progress'])
226 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
231 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
236 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
241 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
246 $this->tpl->parseCurrentBlock();
249 $this->tpl->setVariable(
'VAL_POSTNAME',
'participants');
254 $this->tpl->setVariable(
'VAL_NOTIFICATION_ID', $a_set[
'usr_id']);
255 $this->tpl->setVariable(
256 'VAL_NOTIFICATION_CHECKED',
257 $a_set[
'notification'] ?
'checked="checked"' :
'');
263 $this->tpl->setVariable(
'VAL_LOGIN',$a_set[
'login']);
289 include_once
'./Services/User/classes/class.ilUserQuery.php';
292 unset($additional_fields[
"firstname"]);
293 unset($additional_fields[
"lastname"]);
294 unset($additional_fields[
"last_login"]);
295 unset($additional_fields[
"access_until"]);
296 unset($additional_fields[
'consultation_hour']);
297 unset($additional_fields[
'prtf']);
298 unset($additional_fields[
'roles']);
299 unset($additional_fields[
'org_units']);
303 $udf_ids = $usr_data_fields = $odf_ids =
array();
304 foreach($additional_fields as $field)
306 if(substr($field,0,3) ==
'udf')
308 $udf_ids[] = substr($field,4);
311 if(substr($field,0,3) ==
'odf')
313 $odf_ids[] = substr($field,4);
317 $usr_data_fields[] = $field;
325 $this->current_filter[
'login'],
337 $a_user_data =
array();
338 $filtered_user_ids =
array();
340 foreach((
array) $usr_data[
'set'] as $ud)
342 $user_id = $ud[
'usr_id'];
343 if($this->current_filter[
'roles'])
345 if(!
$GLOBALS[
'rbacreview']->isAssigned($user_id, $this->current_filter[
'roles']))
350 if($this->current_filter[
'org_units'])
352 $org_unit = $this->current_filter[
'org_units'];
353 include_once
'./Modules/OrgUnit/classes/class.ilObjOrgUnitTree.php';
355 if(!in_array($org_unit, $assigned))
361 $filtered_user_ids[] = $user_id;
362 $a_user_data[$user_id] = array_merge($ud,(
array) $group_user_data[$user_id]);
365 foreach($local_roles as $role_id => $role_name)
368 if(
$GLOBALS[
'rbacreview']->isAssigned($user_id, $role_id))
370 $roles[] = $role_name;
373 $a_user_data[$user_id][
'name'] = $a_user_data[$user_id][
'lastname'].
', '.$a_user_data[$user_id][
'firstname'];
374 $a_user_data[$user_id][
'roles_label'] = implode(
'<br />', $roles);
375 $a_user_data[$user_id][
'roles'] = $this->participants->setRoleOrderPosition($user_id);
381 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
383 foreach(
$data as $usr_id => $fields)
390 foreach($fields as $field_id => $value)
392 $a_user_data[$usr_id][
'udf_'.$field_id] = $value;
399 include_once
'./Modules/Course/classes/Export/class.ilCourseUserData.php';
401 foreach(
$data as $usr_id => $fields)
408 foreach($fields as $field_id => $value)
410 if($a_user_data[$usr_id])
412 $a_user_data[$usr_id][
'odf_'.$field_id] = $value;
417 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
420 if(!isset($a_user_data[$usr_id]))
425 include_once
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
426 if($usr_id == $edit_info[
'update_user'])
428 $a_user_data[$usr_id][
'odf_last_update'] =
'';
429 $a_user_data[$usr_id][
'odf_info_txt'] =
$GLOBALS[
'lng']->txt(
'cdf_edited_by_self');
432 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_'.$edit_info[
'editing_time']->get(
IL_CAL_UNIX));
433 $a_user_data[$usr_id][
'odf_info_txt'] .= (
', '.ilDatePresentation::formatDate($edit_info[
'editing_time']));
438 $a_user_data[$usr_id][
'odf_last_update'] = $edit_info[
'edit_user'];
439 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_'.$edit_info[
'editing_time']->get(
IL_CAL_UNIX));
442 $a_user_data[$usr_id][
'odf_info_txt'] = ($name[
'firstname'].
' '.$name[
'lastname'].
', '.
ilDatePresentation::formatDate($edit_info[
'editing_time']));
450 include_once
'./Services/Booking/classes/class.ilBookingEntry.php';
453 if(isset($a_user_data[$buser]))
455 $a_user_data[$buser][
'consultation_hour'] = $booking[0][
'dt'];
456 $a_user_data[$buser][
'consultation_hour_end'] = $booking[0][
'dtend'];
457 $a_user_data[$buser][
'consultation_hours'] = $booking;
469 return $this->
setData($a_user_data);
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
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.
getParticipants()
Get participants.
static lookupManagedBookingsForObject($a_obj_id, $a_usr_id)
Lookup bookings for own and managed consultation hours of an object.
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.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
getOrderDirection()
Get order direction.
static sortArray($array, $a_array_sortby, $a_array_sortorder=0, $a_numeric=false, $a_keep_keys=false)
sortArray
initSettings()
Init acceptance.
getParentObject()
Get parent object.
const LP_STATUS_IN_PROGRESS
static lookupData($a_user_ids, $a_field_ids)
Lookup data.
initFilter()
Init table filter.
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.
__construct( $a_parent_obj, ilObject $rep_object, $show_learning_progress=false)
Constructor.
getSelectedColumns()
Get selected columns.
setRowTemplate($a_template, $a_template_dir="")
Set row template.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
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.
setFormName($a_formname="")
Set Form name.
setShowRowsSelector($a_value)
Toggle rows-per-page selector.
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.
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.