4 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
34 $a_parent_obj,$a_type =
'admin',
45 $this->lng->loadLanguageModule(
'grp');
46 $this->lng->loadLanguageModule(
'trac');
49 $this->type = $a_type;
50 $this->role = $a_role_id;
52 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
55 $this->
setId(
'grp_'.$a_type.
'_'.$this->getRole().
'_'.$a_parent_obj->object->getId());
63 $this->
addColumn($this->lng->txt(
'name'),
'lastname',
'20%');
68 $this->
addColumn($all_cols[$col][
'txt'],$col);
71 if($this->show_learning_progress)
73 $this->
addColumn($this->lng->txt(
'learning_progress'),
'progress');
76 if($this->privacy->enabledGroupAccessTimes())
78 $this->
addColumn($this->lng->txt(
'last_access'),
'access_time_unix');
80 if($this->type ==
'admin')
84 $this->
addColumn($this->lng->txt(
'grp_notification'),
'notification');
87 elseif($this->type ==
'member')
97 $this->
addColumn($this->lng->txt(
''),
'optional');
100 $this->
setRowTemplate(
"tpl.show_participants_row.html",
"Modules/Group");
109 $this->
enable(
'select_all');
138 if(self::$all_columns)
140 # return self::$all_columns;
143 include_once
'./Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php';
145 self::$all_columns = $ef->getSelectableFieldsInfo($this->
getParentObject()->object->getId());
147 if ($this->type ==
'member' &&
148 $ilSetting->get(
'user_portfolios'))
150 self::$all_columns[
'prtf'] = array(
151 'txt' => $this->lng->txt(
'obj_prtf'),
171 $this->tpl->setVariable(
'VAL_ID',$a_set[
'usr_id']);
172 $this->tpl->setVariable(
'VAL_NAME',$a_set[
'lastname'].
', '.$a_set[
'firstname']);
173 if(!$ilAccess->checkAccessOfUser($a_set[
'usr_id'],
'read',
'',$this->getParentObject()->object->getRefId()) and
174 is_array($info = $ilAccess->getInfo()))
176 $this->tpl->setCurrentBlock(
'access_warning');
177 $this->tpl->setVariable(
'PARENT_ACCESS',$info[0][
'text']);
178 $this->tpl->parseCurrentBlock();
183 $this->tpl->setCurrentBlock(
'access_warning');
184 $this->tpl->setVariable(
'PARENT_ACCESS',$this->lng->txt(
'usr_account_inactive'));
185 $this->tpl->parseCurrentBlock();
194 $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_'.$a_set[
'gender']) :
'';
195 $this->tpl->setCurrentBlock(
'custom_fields');
196 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
197 $this->tpl->parseCurrentBlock();
202 $this->tpl->setCurrentBlock(
'custom_fields');
203 $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
204 $this->tpl->parseCurrentBlock();
207 case 'consultation_hour':
208 $this->tpl->setCurrentBlock(
'custom_field');
210 foreach((array) $a_set[
'consultation_hours'] as $ch)
216 if($ch[
'explanation'])
218 $tmp .=
' ' . $ch[
'explanation'];
222 $dt_string = implode(
'<br />', $dts);
223 $this->tpl->setVariable(
'VAL_CUST',$dt_string) ;
224 $this->tpl->parseCurrentBlock();
229 if(is_array($a_set[
'prtf']))
231 foreach($a_set[
'prtf'] as $prtf_url => $prtf_txt)
233 $tmp[] =
'<a href="'.$prtf_url.
'">'.$prtf_txt.
'</a>';
236 $this->tpl->setVariable(
'VAL_CUST', implode(
'<br />', $tmp)) ;
240 $this->tpl->setCurrentBlock(
'custom_fields');
241 $this->tpl->setVariable(
'VAL_CUST',isset($a_set[$field]) ? (
string) $a_set[$field] :
'');
242 $this->tpl->parseCurrentBlock();
247 if($this->privacy->enabledGroupAccessTimes())
249 $this->tpl->setVariable(
'VAL_ACCESS',$a_set[
'access_time']);
252 if($this->show_learning_progress)
254 $this->tpl->setCurrentBlock(
'lp');
255 switch($a_set[
'progress'])
258 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
263 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
268 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
273 $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
278 $this->tpl->parseCurrentBlock();
282 if($this->type ==
'admin')
284 $this->tpl->setVariable(
'VAL_POSTNAME',
'admins');
285 $this->tpl->setVariable(
'VAL_NOTIFICATION_ID',$a_set[
'usr_id']);
286 $this->tpl->setVariable(
'VAL_NOTIFICATION_CHECKED',$a_set[
'notification'] ?
'checked="checked"' :
'');
288 elseif($this->type ==
'member')
290 $this->tpl->setVariable(
'VAL_POSTNAME',
'members');
294 $this->tpl->setVariable(
'VAL_POSTNAME',
'roles');
297 $this->ctrl->setParameter($this->parent_obj,
'member_id',$a_set[
'usr_id']);
298 $this->tpl->setVariable(
'LINK_NAME',$this->ctrl->getLinkTarget($this->parent_obj,
'editMember'));
299 $this->tpl->setVariable(
'LINK_TXT',$this->lng->txt(
'edit'));
300 $this->ctrl->clearParameters($this->parent_obj);
302 $this->tpl->setVariable(
'VAL_LOGIN',$a_set[
'login']);
312 include_once
'./Services/User/classes/class.ilUserQuery.php';
315 unset($additional_fields[
"firstname"]);
316 unset($additional_fields[
"lastname"]);
317 unset($additional_fields[
"last_login"]);
318 unset($additional_fields[
"access_until"]);
319 unset($additional_fields[
'consultation_hour']);
320 unset($additional_fields[
'prtf']);
335 $udf_ids = $usr_data_fields = $odf_ids = array();
336 foreach($additional_fields as $field)
338 if(substr($field,0,3) ==
'udf')
340 $udf_ids[] = substr($field,4);
343 if(substr($field,0,3) ==
'odf')
345 $odf_ids[] = substr($field,4);
349 $usr_data_fields[] = $field;
371 include_once
'./Services/User/classes/class.ilUserDefinedData.php';
380 foreach($fields as $field_id => $value)
382 $a_user_data[
$usr_id][
'udf_'.$field_id] = $value;
389 include_once
'./Modules/Course/classes/Export/class.ilCourseUserData.php';
398 foreach($fields as $field_id => $value)
402 $a_user_data[
$usr_id][
'odf_'.$field_id] = $value;
408 foreach($usr_data[
'set'] as $user)
416 foreach($usr_data_fields as $field)
418 $a_user_data[$user[
'usr_id']][$field] = $user[$field] ? $user[$field] :
'';
424 include_once
'./Services/Booking/classes/class.ilBookingEntry.php';
427 if(isset($a_user_data[$buser]))
429 $a_user_data[$buser][
'consultation_hour'] = $booking[0][
'dt'];
430 $a_user_data[$buser][
'consultation_hour_end'] = $booking[0][
'dtend'];
431 $a_user_data[$buser][
'consultation_hours'] = $booking;
436 return $this->
setData($a_user_data);
446 if(!self::$confirmation_required)
450 if(!self::$export_allowed)
454 return in_array($a_usr_id,self::$accepted_ids);
464 if(self::$accepted_ids !== NULL)
472 include_once
'Services/Membership/classes/class.ilMemberAgreement.php';