ILIAS  release_5-0 Revision 5.0.0-1144-gc4397b1f870
All Data Structures Namespaces Files Functions Variables Modules Pages
ilMemberExport Class Reference

Class for generation of member export files. More...

+ Collaboration diagram for ilMemberExport:

Public Member Functions

 __construct ($a_ref_id, $a_type=self::EXPORT_CSV)
 Constructor. More...
 
 setFilename ($a_file)
 set filename More...
 
 getFilename ()
 get filename More...
 
 getRefId ()
 get ref_id More...
 
 getType ()
 get obj type More...
 
 getExportType ()
 get current export type More...
 
 getObjId ()
 Get obj id. More...
 
 create ()
 Create Export File. More...
 
 getCSVString ()
 toString method More...
 
 createExcel ()
 
 createCSV ()
 Create CSV File. More...
 

Data Fields

const EXPORT_CSV = 1
 
const EXPORT_EXCEL = 2
 

Protected Member Functions

 addCol ($a_value, $a_row, $a_col)
 Write on column. More...
 
 addRow ()
 Add row. More...
 
 getOrderedExportableFields ()
 Get ordered enabled fields. More...
 
 write ()
 Write data. More...
 
 initMembers ()
 Init member object. More...
 

Private Member Functions

 fetchUsers ()
 Fetch all users that will be exported. More...
 
 readCourseData ($a_user_ids, $a_status='member')
 Read All User related course data. More...
 
 readCourseSpecificFieldsData ()
 Read course specific fields data. More...
 
 addCourseField ($a_usr_id, $a_field, $row, $col)
 fill course specific fields More...
 
 addUserDefinedField ($udf_data, $a_field, $row, $col)
 Add user defined fields. More...
 

Private Attributes

 $ref_id
 
 $obj_id
 
 $type
 
 $members
 
 $lng
 
 $settings
 
 $export_type = null
 
 $filename = null
 
 $user_ids = array()
 
 $user_course_data = array()
 
 $user_course_fields = array()
 
 $user_profile_data = array()
 
 $privacy
 

Detailed Description

Class for generation of member export files.

Author
Stefan Meyer meyer.nosp@m.@lei.nosp@m.fos.c.nosp@m.om
Version
$Id$

/

Definition at line 42 of file class.ilMemberExport.php.

Constructor & Destructor Documentation

◆ __construct()

ilMemberExport::__construct (   $a_ref_id,
  $a_type = self::EXPORT_CSV 
)

Constructor.

public

Definition at line 72 of file class.ilMemberExport.php.

References $lng, ilPrivacySettings\_getInstance(), ilObject\_lookupType(), ilMemberAgreement\_readByObjId(), and initMembers().

73  {
74  global $ilObjDataCache,$lng;
75 
76  $this->lng = $lng;
77 
78  $this->export_type = $a_type;
79 
80  $this->ref_id = $a_ref_id;
81  $this->obj_id = $ilObjDataCache->lookupObjId($this->ref_id);
82  $this->type = ilObject::_lookupType($this->obj_id);
83 
84  $this->initMembers();
85 
86  $this->agreement = ilMemberAgreement::_readByObjId($this->obj_id);
87  $this->settings = new ilUserFormSettings('memexp');
88  $this->privacy = ilPrivacySettings::_getInstance();
89  }
static _readByObjId($a_obj_id)
Read user data by object id.
static _lookupType($a_id, $a_reference=false)
lookup object type
initMembers()
Init member object.
static _getInstance()
Get instance of ilPrivacySettings.
+ Here is the call graph for this function:

Member Function Documentation

◆ addCol()

ilMemberExport::addCol (   $a_value,
  $a_row,
  $a_col 
)
protected

Write on column.

Parameters
object$a_value
object$a_row
object$a_col
Returns

Definition at line 220 of file class.ilMemberExport.php.

References getExportType().

Referenced by addCourseField(), addUserDefinedField(), and write().

221  {
222  switch($this->getExportType())
223  {
224  case self::EXPORT_CSV:
225  $this->csv->addColumn($a_value);
226  break;
227 
228  case self::EXPORT_EXCEL:
229  $this->worksheet->write($a_row,$a_col,$a_value);
230  break;
231  }
232  }
getExportType()
get current export type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addCourseField()

ilMemberExport::addCourseField (   $a_usr_id,
  $a_field,
  $row,
  $col 
)
private

fill course specific fields

private

Parameters
intusr_id
stringfield
Returns
bool

Definition at line 599 of file class.ilMemberExport.php.

References $row, ilCourseDefinedFieldDefinition\_getFields(), and addCol().

Referenced by write().

600  {
601  if(substr($a_field,0,4) != 'cdf_')
602  {
603  return false;
604  }
605  if((!$this->privacy->courseConfirmationRequired() and ilCourseDefinedFieldDefinition::_getFields($this->obj_id))
606  or $this->agreement[$a_usr_id]['accepted'])
607  {
608  $field_info = explode('_',$a_field);
609  $field_id = $field_info[1];
610  $value = $this->user_course_fields[$a_usr_id][$field_id];
611  #$this->csv->addColumn($value);
612  $this->addCol($value, $row, $col);
613  return true;
614  }
615  #$this->csv->addColumn('');
616  $this->addCol('', $row, $col);
617  return true;
618 
619  }
addCol($a_value, $a_row, $a_col)
Write on column.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addRow()

ilMemberExport::addRow ( )
protected

Add row.

Returns

Definition at line 238 of file class.ilMemberExport.php.

References getExportType().

Referenced by write().

239  {
240  switch($this->getExportType())
241  {
242  case self::EXPORT_CSV:
243  $this->csv->addRow();
244  break;
245 
246  case self::EXPORT_EXCEL:
247  break;
248  }
249  }
getExportType()
get current export type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ addUserDefinedField()

ilMemberExport::addUserDefinedField (   $udf_data,
  $a_field,
  $row,
  $col 
)
private

Add user defined fields.

private

Parameters
objectuser defined data object
intfield

Definition at line 629 of file class.ilMemberExport.php.

References $row, and addCol().

Referenced by write().

630  {
631  if(substr($a_field,0,4) != 'udf_')
632  {
633  return false;
634  }
635  if(!$this->privacy->courseConfirmationRequired() or $this->agreement[$udf_data->getUserId()]['accepted'])
636  {
637  $field_info = explode('_',$a_field);
638  $field_id = $field_info[1];
639  $value = $udf_data->get('f_'.$field_id);
640  #$this->csv->addColumn($value);
641  $this->addCol($value, $row, $col);
642  return true;
643  }
644  #$this->csv->addColumn('');
645  $this->addCol('', $row, $col);
646  }
addCol($a_value, $a_row, $a_col)
Write on column.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ create()

ilMemberExport::create ( )

Create Export File.

public

Definition at line 152 of file class.ilMemberExport.php.

References createCSV(), createExcel(), fetchUsers(), and getExportType().

153  {
154  $this->fetchUsers();
155 
156  // DONE: Switch different export types
157  switch($this->getExportType())
158  {
159  case self::EXPORT_CSV:
160  $this->createCSV();
161  break;
162 
163  case self::EXPORT_EXCEL:
164  $this->createExcel();
165  break;
166  }
167  }
createCSV()
Create CSV File.
getExportType()
get current export type
fetchUsers()
Fetch all users that will be exported.
+ Here is the call graph for this function:

◆ createCSV()

ilMemberExport::createCSV ( )

Create CSV File.

public

Definition at line 203 of file class.ilMemberExport.php.

References write().

Referenced by create().

204  {
205  include_once('Services/Utilities/classes/class.ilCSVWriter.php');
206  $this->csv = new ilCSVWriter();
207 
208  $this->write();
209  }
Helper class to generate CSV files.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ createExcel()

ilMemberExport::createExcel ( )
Returns

Definition at line 186 of file class.ilMemberExport.php.

References getFilename(), and write().

Referenced by create().

187  {
188  include_once "./Services/Excel/classes/class.ilExcelUtils.php";
189  include_once "./Services/Excel/classes/class.ilExcelWriterAdapter.php";
190  $adapter = new ilExcelWriterAdapter($this->getFilename(), false);
191  $workbook = $adapter->getWorkbook();
192  $this->worksheet = $workbook->addWorksheet();
193  $this->write();
194  $workbook->close();
195  }
Class ilExcelWriterAdapter.
getFilename()
get filename
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ fetchUsers()

ilMemberExport::fetchUsers ( )
private

Fetch all users that will be exported.

private

Definition at line 509 of file class.ilMemberExport.php.

References $user_ids, ilObjUser\_readUsersProfileData(), ilUtil\_sortIds(), readCourseData(), and readCourseSpecificFieldsData().

Referenced by create().

510  {
512 
513  if($this->settings->enabled('admin'))
514  {
515  $this->user_ids = $tmp_ids = $this->members->getAdmins();
516  $this->readCourseData($tmp_ids);
517  }
518  if($this->settings->enabled('tutor'))
519  {
520  $this->user_ids = array_merge($tmp_ids = $this->members->getTutors(),$this->user_ids);
521  $this->readCourseData($tmp_ids);
522  }
523  if($this->settings->enabled('member'))
524  {
525  $this->user_ids = array_merge($tmp_ids = $this->members->getMembers(),$this->user_ids);
526  $this->readCourseData($tmp_ids);
527  }
528  if($this->settings->enabled('subscribers'))
529  {
530  $this->user_ids = array_merge($tmp_ids = $this->members->getSubscribers(),$this->user_ids);
531  $this->readCourseData($tmp_ids,'subscriber');
532  }
533  if($this->settings->enabled('waiting_list'))
534  {
535  include_once('Modules/Course/classes/class.ilCourseWaitingList.php');
536  $waiting_list = new ilCourseWaitingList($this->obj_id);
537  $this->user_ids = array_merge($waiting_list->getUserIds(),$this->user_ids);
538 
539  }
540  // Sort by lastname
541  $this->user_ids = ilUtil::_sortIds($this->user_ids,'usr_data','lastname','usr_id');
542 
543  // Finally read user profile data
544  $this->user_profile_data = ilObjUser::_readUsersProfileData($this->user_ids);
545  }
readCourseData($a_user_ids, $a_status='member')
Read All User related course data.
readCourseSpecificFieldsData()
Read course specific fields data.
static _readUsersProfileData($a_user_ids)
STATIC METHOD get user data of selected users.
static _sortIds($a_ids, $a_table, $a_field, $a_id_name)
Function that sorts ids by a given table field using WHERE IN E.g: __sort(array(6,7),'usr_data','lastname','usr_id') => sorts by lastname.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getCSVString()

ilMemberExport::getCSVString ( )

toString method

public

Parameters

Definition at line 176 of file class.ilMemberExport.php.

177  {
178  return $this->csv->getCSVString();
179  }

◆ getExportType()

ilMemberExport::getExportType ( )

get current export type

Returns

Definition at line 132 of file class.ilMemberExport.php.

References $export_type.

Referenced by addCol(), addRow(), and create().

133  {
134  return $this->export_type;
135  }
+ Here is the caller graph for this function:

◆ getFilename()

ilMemberExport::getFilename ( )

get filename

Returns

Definition at line 105 of file class.ilMemberExport.php.

References $filename.

Referenced by createExcel().

106  {
107  return $this->filename;
108  }
+ Here is the caller graph for this function:

◆ getObjId()

ilMemberExport::getObjId ( )

Get obj id.

Returns

Definition at line 141 of file class.ilMemberExport.php.

References $obj_id.

Referenced by initMembers().

142  {
143  return $this->obj_id;
144  }
+ Here is the caller graph for this function:

◆ getOrderedExportableFields()

ilMemberExport::getOrderedExportableFields ( )
protected

Get ordered enabled fields.

public

Parameters

Definition at line 258 of file class.ilMemberExport.php.

References $privacy, ilCourseDefinedFieldDefinition\_getFields(), ilUserDefinedFields\_getInstance(), ilPrivacySettings\_getInstance(), ilExportFieldsInfo\_getInstanceByType(), ilCourseDefinedFieldDefinition\_hasFields(), and ilObject\_lookupType().

Referenced by write().

259  {
260  include_once('Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
261  include_once('Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php');
262  include_once('Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php');
263  include_once('Services/User/classes/class.ilUserDefinedFields.php');
264 
266  $field_info->sortExportFields();
267  $fields[] = 'role';
268  // Append agreement info
270  if($privacy->courseConfirmationRequired() or ilCourseDefinedFieldDefinition::_hasFields($this->obj_id))
271  {
272  $fields[] = 'agreement';
273  }
274 
275  foreach($field_info->getExportableFields() as $field)
276  {
277  if($this->settings->enabled($field))
278  {
279  $fields[] = $field;
280  }
281  }
282 
284  foreach($udf->getCourseExportableFields() as $field_id => $udf_data)
285  {
286  if($this->settings->enabled('udf_'.$field_id))
287  {
288  $fields[] = 'udf_'.$field_id;
289  }
290  }
291 
292  // Add course specific fields
293  foreach(ilCourseDefinedFieldDefinition::_getFields($this->obj_id) as $field_obj)
294  {
295  if($this->settings->enabled('cdf_'.$field_obj->getId()))
296  {
297  $fields[] = 'cdf_'.$field_obj->getId();
298  }
299  }
300  return $fields ? $fields : array();
301  }
static _getInstance()
Get instance.
static _getInstanceByType($a_type)
Get Singleton Instance.
static _lookupType($a_id, $a_reference=false)
lookup object type
static _hasFields($a_container_id)
Check if there are any define fields.
static _getInstance()
Get instance of ilPrivacySettings.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getRefId()

ilMemberExport::getRefId ( )

get ref_id

Returns

Definition at line 114 of file class.ilMemberExport.php.

References $ref_id.

115  {
116  return $this->ref_id;
117  }

◆ getType()

ilMemberExport::getType ( )

get obj type

Returns

Definition at line 123 of file class.ilMemberExport.php.

References $type.

Referenced by initMembers(), and readCourseData().

124  {
125  return $this->type;
126  }
+ Here is the caller graph for this function:

◆ initMembers()

ilMemberExport::initMembers ( )
protected

Init member object.

Returns

Definition at line 652 of file class.ilMemberExport.php.

References ilGroupParticipants\_getInstanceByObjId(), ilCourseParticipants\_getInstanceByObjId(), getObjId(), and getType().

Referenced by __construct().

653  {
654  if($this->getType() == 'crs')
655  {
656  $this->members = ilCourseParticipants::_getInstanceByObjId($this->getObjId());
657  }
658  if($this->getType() == 'grp')
659  {
660  $this->members = ilGroupParticipants::_getInstanceByObjId($this->getObjId());
661  }
662  return true;
663  }
getObjId()
Get obj id.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
static _getInstanceByObjId($a_obj_id)
Get singleton instance.
getType()
get obj type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readCourseData()

ilMemberExport::readCourseData (   $a_user_ids,
  $a_status = 'member' 
)
private

Read All User related course data.

private

Definition at line 553 of file class.ilMemberExport.php.

References getType(), IL_CRS_ADMIN, IL_CRS_MEMBER, IL_CRS_TUTOR, IL_GRP_ADMIN, and IL_GRP_MEMBER.

Referenced by fetchUsers().

554  {
555  foreach($a_user_ids as $user_id)
556  {
557  // Read course related data
558  if($this->members->isAdmin($user_id))
559  {
560  $this->user_course_data[$user_id]['role'] = $this->getType() == 'crs' ? IL_CRS_ADMIN : IL_GRP_ADMIN;
561  }
562  elseif($this->members->isTutor($user_id))
563  {
564  $this->user_course_data[$user_id]['role'] = IL_CRS_TUTOR;
565  }
566  elseif($this->members->isMember($user_id))
567  {
568  $this->user_course_data[$user_id]['role'] = $this->getType() == 'crs' ? IL_CRS_MEMBER : IL_GRP_MEMBER;
569  }
570  else
571  {
572  $this->user_course_data[$user_id]['role'] = 'subscriber';
573  }
574  }
575  }
const IL_GRP_ADMIN
const IL_CRS_TUTOR
const IL_GRP_MEMBER
const IL_CRS_MEMBER
const IL_CRS_ADMIN
Base class for course and group participants.
getType()
get obj type
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ readCourseSpecificFieldsData()

ilMemberExport::readCourseSpecificFieldsData ( )
private

Read course specific fields data.

private

Parameters

Definition at line 584 of file class.ilMemberExport.php.

References ilCourseUserData\_getValuesByObjId().

Referenced by fetchUsers().

585  {
586  include_once('Modules/Course/classes/Export/class.ilCourseUserData.php');
587  $this->user_course_fields = ilCourseUserData::_getValuesByObjId($this->obj_id);
588  }
static _getValuesByObjId($a_obj_id)
Get values by obj_id (for all users)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ setFilename()

ilMemberExport::setFilename (   $a_file)

set filename

Parameters
object$a_file
Returns

Definition at line 96 of file class.ilMemberExport.php.

97  {
98  $this->filename = $a_file;
99  }

◆ write()

ilMemberExport::write ( )
protected

Write data.

Returns

Definition at line 307 of file class.ilMemberExport.php.

References $GLOBALS, $row, ilCourseDefinedFieldDefinition\_getFields(), ilUserDefinedFields\_getInstance(), ilCourseDefinedFieldDefinition\_lookupName(), addCol(), addCourseField(), addRow(), addUserDefinedField(), ilDatePresentation\formatPeriod(), ilFormat\formatUnixTime(), getOrderedExportableFields(), IL_CAL_UNIX, IL_CRS_ADMIN, IL_CRS_MEMBER, IL_CRS_TUTOR, IL_GRP_ADMIN, IL_GRP_MEMBER, ilBookingEntry\lookupManagedBookingsForObject(), and ilDatePresentation\setUseRelativeDates().

Referenced by createCSV(), and createExcel().

308  {
309  // Add header line
310  $row = 0;
311  $col = 0;
312  foreach($all_fields = $this->getOrderedExportableFields() as $field)
313  {
314  switch($field)
315  {
316  case 'role':
317  #$this->csv->addColumn($this->lng->txt($this->getType().'_role_status'));
318  $this->addCol($this->lng->txt($this->getType().'_role_status'), $row, $col++);
319  break;
320  case 'agreement':
321  #$this->csv->addColumn($this->lng->txt('ps_agreement_accepted'));
322  $this->addCol($this->lng->txt('ps_agreement_accepted'), $row, $col++);
323  break;
324  case 'consultation_hour':
325  $this->lng->loadLanguageModule('dateplaner');
326  $this->addCol($this->lng->txt('cal_ch_field_ch'), $row, $col++);
327  break;
328 
329  default:
330  if(substr($field,0,4) == 'udf_')
331  {
332  $field_id = explode('_',$field);
333  include_once('Services/User/classes/class.ilUserDefinedFields.php');
335  $def = $udf->getDefinition($field_id[1]);
336  #$this->csv->addColumn($def['field_name']);
337  $this->addCol($def['field_name'], $row, $col++);
338  }
339  elseif(substr($field,0,4) == 'cdf_')
340  {
341  $field_id = explode('_',$field);
342  #$this->csv->addColumn(ilCourseDefinedFieldDefinition::_lookupName($field_id[1]));
343  $this->addCol(ilCourseDefinedFieldDefinition::_lookupName($field_id[1]),$row,$col++);
344  }elseif($field == "username")//User Name Presentation Guideline; username should be named login
345  {
346  $this->addCol($this->lng->txt("login"), $row, $col++);
347  }
348  else
349  {
350  #$this->csv->addColumn($this->lng->txt($field));
351  $this->addCol($this->lng->txt($field), $row, $col++);
352  }
353  break;
354  }
355  }
356  #$this->csv->addRow();
357  $this->addRow();
358  // Add user data
359  foreach($this->user_ids as $usr_id)
360  {
361  $row++;
362  $col = 0;
363 
364  $udf_data = new ilUserDefinedData($usr_id);
365  foreach($all_fields as $field)
366  {
367  // Handle course defined fields
368  if($this->addUserDefinedField($udf_data,$field,$row,$col))
369  {
370  $col++;
371  continue;
372  }
373 
374  if($this->addCourseField($usr_id,$field,$row,$col))
375  {
376  $col++;
377  continue;
378  }
379 
380  switch($field)
381  {
382  case 'role':
383  switch($this->user_course_data[$usr_id]['role'])
384  {
385  case IL_CRS_ADMIN:
386  #$this->csv->addColumn($this->lng->txt('crs_admin'));
387  $this->addCol($this->lng->txt('crs_admin'), $row, $col++);
388  break;
389 
390  case IL_CRS_TUTOR:
391  #$this->csv->addColumn($this->lng->txt('crs_tutor'));
392  $this->addCol($this->lng->txt('crs_tutor'), $row, $col++);
393  break;
394 
395  case IL_CRS_MEMBER:
396  #$this->csv->addColumn($this->lng->txt('crs_member'));
397  $this->addCol($this->lng->txt('crs_member'), $row, $col++);
398  break;
399 
400  case IL_GRP_ADMIN:
401  #$this->csv->addColumn($this->lng->txt('il_grp_admin'));
402  $this->addCol($this->lng->txt('il_grp_admin'), $row, $col++);
403  break;
404 
405  case IL_GRP_MEMBER:
406  #$this->csv->addColumn($this->lng->txt('il_grp_member'));
407  $this->addCol($this->lng->txt('il_grp_member'), $row, $col++);
408  break;
409 
410  case 'subscriber':
411  #$this->csv->addColumn($this->lng->txt($this->getType().'_subscriber'));
412  $this->addCol($this->lng->txt($this->getType().'_subscriber'), $row, $col++);
413  break;
414 
415  default:
416  #$this->csv->addColumn($this->lng->txt('crs_waiting_list'));
417  $this->addCol($this->lng->txt('crs_waiting_list'), $row, $col++);
418  break;
419 
420  }
421  break;
422 
423  case 'agreement':
424  if(isset($this->agreement[$usr_id]))
425  {
426  if($this->agreement[$usr_id]['accepted'])
427  {
428  #$this->csv->addColumn(ilFormat::formatUnixTime($this->agreement[$usr_id]['acceptance_time'],true));
429  $this->addCol(ilFormat::formatUnixTime($this->agreement[$usr_id]['acceptance_time'],true),$row,$col++);
430  }
431  else
432  {
433  #$this->csv->addColumn($this->lng->txt('ps_not_accepted'));
434  $this->addCol($this->lng->txt('ps_not_accepted'),$row,$col++);
435  }
436  }
437  else
438  {
439  #$this->csv->addColumn($this->lng->txt('ps_not_accepted'));
440  $this->addCol($this->lng->txt('ps_not_accepted'),$row,$col++);
441  }
442  break;
443 
444  // These fields are always enabled
445  case 'username':
446  #$this->csv->addColumn($this->user_profile_data[$usr_id]['login']);
447  $this->addCol($this->user_profile_data[$usr_id]['login'],$row,$col++);
448  break;
449 
450  case 'firstname':
451  case 'lastname':
452  #$this->csv->addColumn($this->user_profile_data[$usr_id][$field]);
453  $this->addCol($this->user_profile_data[$usr_id][$field],$row,$col++);
454  break;
455 
456  case 'consultation_hour':
457  include_once './Services/Booking/classes/class.ilBookingEntry.php';
458  $bookings = ilBookingEntry::lookupManagedBookingsForObject($this->obj_id, $GLOBALS['ilUser']->getId());
459 
460  $uts = array();
461  foreach((array) $bookings[$usr_id] as $ut)
462  {
465  new ilDateTime($ut['dt'],IL_CAL_UNIX),
466  new ilDateTime($ut['dtend'],IL_CAL_UNIX)
467  );
468  if(strlen($ut['explanation']))
469  {
470  $tmp .= ' '.$ut['explanation'];
471  }
472  $uts[] = $tmp;
473  }
474  $uts_str = implode(',',$uts);
475  $this->addCol($uts_str, $row, $col++);
476  break;
477 
478  default:
479  // Check aggreement
480  if((!$this->privacy->courseConfirmationRequired() and !ilCourseDefinedFieldDefinition::_getFields($this->obj_id))
481  or $this->agreement[$usr_id]['accepted'])
482  {
483  #$this->csv->addColumn($this->user_profile_data[$usr_id][$field]);
484  $this->addCol($this->user_profile_data[$usr_id][$field],$row,$col++);
485  }
486  else
487  {
488  #$this->csv->addColumn('');
489  $this->addCol('', $row, $col++);
490  }
491  break;
492 
493  }
494  }
495  #$this->csv->addRow();
496  $this->addRow();
497  }
498 
499  }
static _getInstance()
Get instance.
Class ilUserDefinedData.
getOrderedExportableFields()
Get ordered enabled fields.
const IL_GRP_ADMIN
static lookupManagedBookingsForObject($a_obj_id, $a_usr_id)
Lookup bookings for own and managed consultation hours of an object.
addUserDefinedField($udf_data, $a_field, $row, $col)
Add user defined fields.
static formatPeriod(ilDateTime $start, ilDateTime $end)
Format a period of two date Shows: 14.
static setUseRelativeDates($a_status)
set use relative dates
const IL_CRS_TUTOR
const IL_CAL_UNIX
const IL_GRP_MEMBER
const IL_CRS_MEMBER
$GLOBALS['ct_recipient']
addCol($a_value, $a_row, $a_col)
Write on column.
formatUnixTime($ut, $with_time=false)
Date and time handling
const IL_CRS_ADMIN
Base class for course and group participants.
addCourseField($a_usr_id, $a_field, $row, $col)
fill course specific fields
static _lookupName($a_field_id)
Lookup field name.
static _getFields($a_container_id, $a_sort=IL_CDF_SORT_NAME)
Get all fields of a container.
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $export_type

ilMemberExport::$export_type = null
private

Definition at line 57 of file class.ilMemberExport.php.

Referenced by getExportType().

◆ $filename

ilMemberExport::$filename = null
private

Definition at line 58 of file class.ilMemberExport.php.

Referenced by getFilename().

◆ $lng

ilMemberExport::$lng
private

Definition at line 53 of file class.ilMemberExport.php.

Referenced by __construct().

◆ $members

ilMemberExport::$members
private

Definition at line 51 of file class.ilMemberExport.php.

◆ $obj_id

ilMemberExport::$obj_id
private

Definition at line 49 of file class.ilMemberExport.php.

Referenced by getObjId().

◆ $privacy

ilMemberExport::$privacy
private

Definition at line 64 of file class.ilMemberExport.php.

Referenced by getOrderedExportableFields().

◆ $ref_id

ilMemberExport::$ref_id
private

Definition at line 48 of file class.ilMemberExport.php.

Referenced by getRefId().

◆ $settings

ilMemberExport::$settings
private

Definition at line 55 of file class.ilMemberExport.php.

◆ $type

ilMemberExport::$type
private

Definition at line 50 of file class.ilMemberExport.php.

Referenced by getType().

◆ $user_course_data

ilMemberExport::$user_course_data = array()
private

Definition at line 61 of file class.ilMemberExport.php.

◆ $user_course_fields

ilMemberExport::$user_course_fields = array()
private

Definition at line 62 of file class.ilMemberExport.php.

◆ $user_ids

ilMemberExport::$user_ids = array()
private

Definition at line 60 of file class.ilMemberExport.php.

Referenced by fetchUsers().

◆ $user_profile_data

ilMemberExport::$user_profile_data = array()
private

Definition at line 63 of file class.ilMemberExport.php.

◆ EXPORT_CSV

const ilMemberExport::EXPORT_CSV = 1

Definition at line 44 of file class.ilMemberExport.php.

◆ EXPORT_EXCEL

const ilMemberExport::EXPORT_EXCEL = 2

Definition at line 45 of file class.ilMemberExport.php.

Referenced by ilMemberExportGUI\exportExcel().


The documentation for this class was generated from the following file: