24 include_once(
'./Services/Table/classes/class.ilTable2GUI.php');
 
   54         public function __construct($a_parent_obj,$a_type = 
'admin',$show_content = 
true,$a_show_learning_progress = 
false,$a_show_timings = 
false, $a_show_edit_link=
true)
 
   58                 $this->show_learning_progress = $a_show_learning_progress;
 
   59                 $this->show_timings = $a_show_timings;
 
   60                 $this->show_edit_link = $a_show_edit_link;
 
   63                 $this->lng->loadLanguageModule(
'crs');
 
   64                 $this->lng->loadLanguageModule(
'trac');
 
   67                 $this->type = $a_type; 
 
   69                 include_once(
'./Services/PrivacySecurity/classes/class.ilPrivacySettings.php');
 
   73                 $this->
setId(
'crs_'.$a_type.
'_'.$a_parent_obj->object->getId());
 
   81                 $this->
addColumn($this->lng->txt(
'name'),
'lastname',
'20%');
 
   86                         $this->
addColumn($all_cols[$col][
'txt'],$col);
 
   89                 if($this->show_learning_progress)
 
   91                         $this->
addColumn($this->lng->txt(
'learning_progress'),
'progress');
 
   94                 if($this->privacy->enabledCourseAccessTimes())
 
   96                         $this->
addColumn($this->lng->txt(
'last_access'),
'access_ut',
'16em');
 
   98                 $this->
addColumn($this->lng->txt(
'crs_member_passed'),
'passed');
 
   99                 if($this->type == 
'admin')
 
  103                         $this->
addColumn($this->lng->txt(
'crs_notification'),
'notification');
 
  106                 elseif($this->type == 
'tutor')
 
  110                         $this->
addColumn($this->lng->txt(
'crs_notification'),
'notification');
 
  117                         $this->
addColumn($this->lng->txt(
'crs_blocked'),
'blocked');
 
  120                 $this->
addColumn($this->lng->txt(
''),
'optional');
 
  122                 $this->
setRowTemplate(
"tpl.show_participants_row.html",
"Modules/Course");
 
  130                         $this->
enable(
'select_all');
 
  160                 if(self::$all_columns)
 
  165                 include_once 
'./Services/PrivacySecurity/classes/class.ilExportFieldsInfo.php';
 
  167                 self::$all_columns = $ef->getSelectableFieldsInfo($this->
getParentObject()->object->getId());
 
  180                 global $ilUser,$ilAccess;
 
  182                 $this->tpl->setVariable(
'VAL_ID',$a_set[
'usr_id']);
 
  183                 $this->tpl->setVariable(
'VAL_NAME',$a_set[
'lastname'].
', '.$a_set[
'firstname']);
 
  185                 if(!$ilAccess->checkAccessOfUser($a_set[
'usr_id'],
'read',
'',$this->getParentObject()->object->getRefId()) and 
 
  186                         is_array($info = $ilAccess->getInfo()))
 
  188                         $this->tpl->setCurrentBlock(
'access_warning');
 
  189                         $this->tpl->setVariable(
'PARENT_ACCESS',$info[0][
'text']);
 
  190                         $this->tpl->parseCurrentBlock();
 
  195                         $this->tpl->setCurrentBlock(
'access_warning');
 
  196                         $this->tpl->setVariable(
'PARENT_ACCESS',$this->lng->txt(
'usr_account_inactive'));
 
  197                         $this->tpl->parseCurrentBlock();
 
  206                                         $a_set[
'gender'] = $a_set[
'gender'] ? $this->lng->txt(
'gender_'.$a_set[
'gender']) : 
'';                                 
 
  207                                         $this->tpl->setCurrentBlock(
'custom_fields');
 
  208                                         $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
 
  209                                         $this->tpl->parseCurrentBlock();
 
  214                                         $this->tpl->setCurrentBlock(
'custom_fields');
 
  215                                         $this->tpl->setVariable(
'VAL_CUST',$a_set[$field]);
 
  216                                         $this->tpl->parseCurrentBlock();
 
  220                                         $this->tpl->setCurrentBlock(
'custom_fields');
 
  221                                         $this->tpl->setVariable(
'VAL_CUST',$a_set[$field] ? $a_set[$field] : 
'');
 
  222                                         $this->tpl->parseCurrentBlock();
 
  227                 if($this->privacy->enabledCourseAccessTimes())
 
  229                         $this->tpl->setVariable(
'VAL_ACCESS',$a_set[
'access_time']);
 
  231                 if($this->show_learning_progress)
 
  233                         $this->tpl->setCurrentBlock(
'lp');
 
  234                         switch($a_set[
'progress'])
 
  237                                         $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
 
  242                                         $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
 
  247                                         $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
 
  252                                         $this->tpl->setVariable(
'LP_STATUS_ALT',$this->lng->txt($a_set[
'progress']));
 
  257                         $this->tpl->parseCurrentBlock();
 
  260                 if($this->type == 
'admin')
 
  262                         $this->tpl->setVariable(
'VAL_POSTNAME',
'admins');
 
  263                         $this->tpl->setVariable(
'VAL_NOTIFICATION_ID',$a_set[
'usr_id']);
 
  264                         $this->tpl->setVariable(
'VAL_NOTIFICATION_CHECKED',($a_set[
'notification'] ? 
'checked="checked"' : 
''));
 
  266                 elseif($this->type == 
'tutor')
 
  268                         $this->tpl->setVariable(
'VAL_POSTNAME',
'tutors');
 
  269                         $this->tpl->setVariable(
'VAL_NOTIFICATION_ID',$a_set[
'usr_id']);
 
  270                         $this->tpl->setVariable(
'VAL_NOTIFICATION_CHECKED',($a_set[
'notification'] ? 
'checked="checked"' : 
''));
 
  274                         $this->tpl->setCurrentBlock(
'blocked');
 
  275                         $this->tpl->setVariable(
'VAL_BLOCKED_ID',$a_set[
'usr_id']);
 
  276                         $this->tpl->setVariable(
'VAL_BLOCKED_CHECKED',($a_set[
'blocked'] ? 
'checked="checked"' : 
''));
 
  277                         $this->tpl->parseCurrentBlock();
 
  279                         $this->tpl->setVariable(
'VAL_POSTNAME',
'members');
 
  282                 $this->tpl->setVariable(
'VAL_PASSED_ID',$a_set[
'usr_id']);
 
  283                 $this->tpl->setVariable(
'VAL_PASSED_CHECKED',($a_set[
'passed'] ? 
'checked="checked"' : 
''));
 
  286                 $this->ctrl->setParameter($this->parent_obj,
'member_id',$a_set[
'usr_id']);
 
  287                 if ($this->show_edit_link)
 
  289                         $this->tpl->setCurrentBlock(
'link');
 
  290                         $this->tpl->setVariable(
'LINK_NAME',$this->ctrl->getLinkTarget($this->parent_obj,
'editMember'));
 
  291                         $this->tpl->setVariable(
'LINK_TXT',$this->lng->txt(
'edit'));
 
  292                         $this->tpl->parseCurrentBlock();
 
  294                 $this->ctrl->clearParameters($this->parent_obj);
 
  297                 if($this->show_timings)
 
  299                         $this->ctrl->setParameterByClass(
'ilcoursecontentgui',
'member_id',$a_set[
'usr_id']);
 
  300                         $this->tpl->setCurrentBlock(
'link');
 
  301                         $this->tpl->setVariable(
'LINK_NAME',$this->ctrl->getLinkTargetByClass(
'ilcoursecontentgui',
'showUserTimings'));
 
  302                         $this->tpl->setVariable(
'LINK_TXT',$this->lng->txt(
'timings_timings'));
 
  303                         $this->tpl->parseCurrentBlock();
 
  313                 include_once 
'./Services/User/classes/class.ilUserQuery.php';
 
  316                 unset($additional_fields[
"firstname"]);
 
  317                 unset($additional_fields[
"lastname"]);
 
  318                 unset($additional_fields[
"last_login"]);
 
  319                 unset($additional_fields[
"access_until"]);
 
  334                 $udf_ids = $usr_data_fields = $odf_ids = array();
 
  335                 foreach($additional_fields as $field)
 
  337                         if(substr($field,0,3) == 
'udf')
 
  339                                 $udf_ids[] = substr($field,4);
 
  342                         if(substr($field,0,3) == 
'odf')
 
  344                                 $odf_ids[] = substr($field,4);
 
  348                         $usr_data_fields[] = $field;
 
  370                         include_once 
'./Services/User/classes/class.ilUserDefinedData.php';
 
  379                                 foreach($fields as $field_id => $value)
 
  381                                         $a_user_data[
$usr_id][
'udf_'.$field_id] = $value;
 
  388                         include_once 
'./Modules/Course/classes/Export/class.ilCourseUserData.php';
 
  398                                 foreach($fields as $field_id => $value)
 
  400                                         $a_user_data[
$usr_id][
'odf_'.$field_id] = $value;
 
  406                 foreach($usr_data[
'set'] as 
$user)
 
  414                         foreach($usr_data_fields as $field)
 
  416                                 $a_user_data[$user[
'usr_id']][$field] = $user[$field] ? $user[$field] : 
'';
 
  419                 return $this->
setData($a_user_data);
 
  424                 if(!self::$confirmation_required)
 
  428                 if(!self::$export_allowed)
 
  432                 return in_array($a_usr_id,self::$accepted_ids);
 
  441                 if(self::$accepted_ids !== NULL)
 
  449                 include_once 
'Services/Membership/classes/class.ilMemberAgreement.php';