4 include_once
'./Services/Membership/classes/class.ilParticipantsTableGUI.php';
29 $a_parent_obj,$a_type =
'admin',
40 $this->lng->loadLanguageModule(
'grp');
41 $this->lng->loadLanguageModule(
'trac');
44 $this->type = $a_type;
45 $this->role = $a_role_id;
47 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
63 $this->
setId(
'grp_'.$a_type.
'_'.$this->getRole().
'_'.$a_parent_obj->object->getId());
71 $this->
addColumn($this->lng->txt(
'name'),
'lastname',
'20%');
76 $this->
addColumn($all_cols[$col][
'txt'],$col);
79 if($this->show_learning_progress)
81 $this->
addColumn($this->lng->txt(
'learning_progress'),
'progress');
84 if($this->privacy->enabledGroupAccessTimes())
86 $this->
addColumn($this->lng->txt(
'last_access'),
'access_time_unix');
88 if($this->type ==
'admin')
91 $this->
addColumn($this->lng->txt(
'grp_notification'),
'notification');
94 elseif($this->type ==
'member')
102 $this->
addColumn($this->lng->txt(
''),
'optional');
105 $this->
setRowTemplate(
"tpl.show_participants_row.html",
"Modules/Group");
114 $this->
enable(
'select_all');
148 $this->tpl->setVariable(
'VAL_ID',$a_set[
'usr_id']);
149 $this->tpl->setVariable(
'VAL_NAME',$a_set[
'lastname'].
', '.$a_set[
'firstname']);
150 if(!$ilAccess->checkAccessOfUser($a_set[
'usr_id'],
'read',
'',$this->getParentObject()->object->getRefId()) and
151 is_array($info = $ilAccess->getInfo()))
153 $this->tpl->setCurrentBlock(
'access_warning');
154 $this->tpl->setVariable(
'PARENT_ACCESS',$info[0][
'text']);
155 $this->tpl->parseCurrentBlock();
160 $this->tpl->setCurrentBlock(
'access_warning');
161 $this->tpl->setVariable(
'PARENT_ACCESS',$this->lng->txt(
'usr_account_inactive'));
162 $this->tpl->parseCurrentBlock();
171 $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_'.$a_set[
'gender']) :
'';
172 $this->tpl->setCurrentBlock(
'custom_fields');
173 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
174 $this->tpl->parseCurrentBlock();
179 $this->tpl->setCurrentBlock(
'custom_fields');
180 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
181 $this->tpl->parseCurrentBlock();
184 case 'consultation_hour':
185 $this->tpl->setCurrentBlock(
'custom_field');
187 foreach((array) $a_set[
'consultation_hours'] as $ch)
193 if($ch[
'explanation'])
195 $tmp .=
' ' . $ch[
'explanation'];
199 $dt_string = implode(
'<br />', $dts);
200 $this->tpl->setVariable(
'VAL_CUST',$dt_string) ;
201 $this->tpl->parseCurrentBlock();
206 if(is_array($a_set[
'prtf']))
208 foreach($a_set[
'prtf'] as $prtf_url => $prtf_txt)
210 $tmp[] =
'<a href="'.$prtf_url.
'">'.$prtf_txt.
'</a>';
213 $this->tpl->setVariable(
'VAL_CUST', implode(
'<br />', $tmp)) ;
216 case 'odf_last_update':
217 $this->tpl->setVariable(
'VAL_EDIT_INFO',(
string) $a_set[
'odf_info_txt']);
221 $this->tpl->setCurrentBlock(
'custom_fields');
222 $this->tpl->setVariable(
'VAL_CUST',isset($a_set[$field]) ? (
string) $a_set[$field] :
'');
223 $this->tpl->parseCurrentBlock();
228 if($this->privacy->enabledGroupAccessTimes())
230 $this->tpl->setVariable(
'VAL_ACCESS',$a_set[
'access_time']);
233 if($this->show_learning_progress)
235 $this->tpl->setCurrentBlock(
'lp');
236 switch($a_set[
'progress'])
239 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
244 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
249 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
254 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
259 $this->tpl->parseCurrentBlock();
263 if($this->type ==
'admin')
265 $this->tpl->setVariable(
'VAL_POSTNAME',
'admins');
266 $this->tpl->setVariable(
'VAL_NOTIFICATION_ID',$a_set[
'usr_id']);
267 $this->tpl->setVariable(
'VAL_NOTIFICATION_CHECKED',$a_set[
'notification'] ?
'checked="checked"' :
'');
269 elseif($this->type ==
'member')
271 $this->tpl->setVariable(
'VAL_POSTNAME',
'members');
275 $this->tpl->setVariable(
'VAL_POSTNAME',
'roles');
281 $this->tpl->setVariable(
'VAL_LOGIN',$a_set[
'login']);
291 include_once
'./Services/User/classes/class.ilUserQuery.php';
294 unset($additional_fields[
"firstname"]);
295 unset($additional_fields[
"lastname"]);
296 unset($additional_fields[
"last_login"]);
297 unset($additional_fields[
"access_until"]);
298 unset($additional_fields[
'consultation_hour']);
299 unset($additional_fields[
'prtf']);
314 $udf_ids = $usr_data_fields = $odf_ids = array();
315 foreach($additional_fields as $field)
317 if(substr($field,0,3) ==
'udf')
319 $udf_ids[] = substr($field,4);
322 if(substr($field,0,3) ==
'odf')
324 $odf_ids[] = substr($field,4);
328 $usr_data_fields[] = $field;
350 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
352 foreach(
$data as $usr_id => $fields)
359 foreach($fields as $field_id => $value)
361 $a_user_data[$usr_id][
'udf_'.$field_id] = $value;
368 include_once
'./Modules/Course/classes/Export/class.ilCourseUserData.php';
370 foreach(
$data as $usr_id => $fields)
377 foreach($fields as $field_id => $value)
379 if($a_user_data[$usr_id])
381 $a_user_data[$usr_id][
'odf_'.$field_id] = $value;
386 include_once
'./Services/Membership/classes/class.ilObjectCustomUserFieldHistory.php';
389 if(!isset($a_user_data[$usr_id]))
394 include_once
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php';
395 if($usr_id == $edit_info[
'update_user'])
397 $a_user_data[$usr_id][
'odf_last_update'] =
'';
398 $a_user_data[$usr_id][
'odf_info_txt'] =
$GLOBALS[
'lng']->txt(
'cdf_edited_by_self');
401 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_'.$edit_info[
'editing_time']->get(
IL_CAL_UNIX));
402 $a_user_data[$usr_id][
'odf_info_txt'] .= (
', '.ilDatePresentation::formatDate($edit_info[
'editing_time']));
407 $a_user_data[$usr_id][
'odf_last_update'] = $edit_info[
'edit_user'];
408 $a_user_data[$usr_id][
'odf_last_update'] .= (
'_'.$edit_info[
'editing_time']->get(
IL_CAL_UNIX));
411 $a_user_data[$usr_id][
'odf_info_txt'] = ($name[
'firstname'].
' '.$name[
'lastname'].
', '.
ilDatePresentation::formatDate($edit_info[
'editing_time']));
415 foreach($usr_data[
'set'] as $user)
423 foreach($usr_data_fields as $field)
425 $a_user_data[$user[
'usr_id']][$field] = $user[$field] ? $user[$field] :
'';
431 include_once
'./Services/Booking/classes/class.ilBookingEntry.php';
434 if(isset($a_user_data[$buser]))
436 $a_user_data[$buser][
'consultation_hour'] = $booking[0][
'dt'];
437 $a_user_data[$buser][
'consultation_hour_end'] = $booking[0][
'dtend'];
438 $a_user_data[$buser][
'consultation_hours'] = $booking;
443 return $this->
setData($a_user_data);