/** * Show list of export files * * @access public * */ public function show($a_deliver_file = false) { $this->showFileList(); $this->tpl->addBlockFile('ADM_CONTENT', 'adm_content', 'tpl.member_export.html', 'Modules/Course'); $this->tpl->setVariable('FORM_ACTION', $this->ctrl->getFormAction($this)); $this->tpl->setVariable('TXT_EXPORT_SETTINGS', $this->lng->txt('ps_export_settings')); $this->tpl->setVariable('TXT_USER_SELECTION', $this->lng->txt('ps_user_selection')); $this->tpl->setVariable('TXT_EXPORT_ADMIN', $this->lng->txt('ps_export_admin')); $this->tpl->setVariable('TXT_EXPORT_MEMBER', $this->lng->txt('ps_export_member')); $this->tpl->setVariable('TXT_EXPORT_WAIT', $this->lng->txt('ps_export_wait')); $this->tpl->setVariable('TXT_EXPORT_SUB', $this->lng->txt('ps_export_sub')); // Check user selection $this->exportSettings = new ilUserFormSettings('memexp'); $this->tpl->setVariable('CHECK_EXPORT_ADMIN', ilUtil::formCheckbox($this->exportSettings->enabled('admin'), 'export_members[admin]', 1)); if ($this->type == 'crs') { $this->tpl->setVariable('CHECK_EXPORT_TUTOR', ilUtil::formCheckbox($this->exportSettings->enabled('tutor'), 'export_members[tutor]', 1)); $this->tpl->setVariable('TXT_EXPORT_TUTOR', $this->lng->txt('ps_export_tutor')); } $this->tpl->setVariable('CHECK_EXPORT_MEMBER', ilUtil::formCheckbox($this->exportSettings->enabled('member'), 'export_members[member]', 1)); $this->tpl->setVariable('CHECK_EXPORT_SUB', ilUtil::formCheckbox($this->exportSettings->enabled('subscribers'), 'export_members[subscribers]', 1)); $this->tpl->setVariable('CHECK_EXPORT_WAIT', ilUtil::formCheckbox($this->exportSettings->enabled('waiting_list'), 'export_members[waiting_list]', 1)); $this->tpl->setVariable('TXT_EXPORT', $this->lng->txt('ps_perform_export')); $this->tpl->setVariable('TXT_EXPORT_EXCEL', $this->lng->txt('ps_export_excel')); // User Data $this->tpl->setVariable('TXT_USER_DATA_SELECTION', $this->lng->txt('ps_export_data')); $this->tpl->setVariable('TXT_EXPORT_USER_DATA_HEADER', $this->lng->txt('ps_export_user_data')); include_once './Services/Booking/classes/class.ilBookingEntry.php'; if (ilBookingEntry::hasObjectBookingEntries($this->obj_id, $GLOBALS['ilUser']->getId())) { $this->tpl->setCurrentBlock('consultation'); $this->lng->loadLanguageModule('dateplaner'); $this->tpl->setVariable('TXT_CH', $this->lng->txt('cal_ch_field_ch')); $this->tpl->setVariable('TXT_EXPORT_CH', $this->lng->txt('cal_ch_export_apps')); $this->tpl->setVariable('CHECK_EXPORT_CH', ilUtil::formCheckbox($this->exportSettings->enabled('consultation_hour'), 'export_members[consultation_hour]', 1)); $this->tpl->parseCurrentBlock(); } $fields = $this->fields_info->getFieldsInfo(); foreach ($fields as $field => $exportable) { if (!$exportable) { continue; } $this->tpl->setCurrentBlock('user_data_row'); $this->tpl->setVariable('CHECK_EXPORT_USER_DATA', ilUtil::formCheckbox($this->exportSettings->enabled($field), 'export_members[' . $field . ']', 1)); $this->tpl->setVariable('TXT_EXPORT_USER_DATA', $this->lng->txt($field)); $this->tpl->parseCurrentBlock(); } $udf = ilUserDefinedFields::_getInstance(); foreach ($exp = $udf->getExportableFields($this->obj_id) as $field_id => $udf_data) { $this->tpl->setCurrentBlock('user_data_row'); $this->tpl->setVariable('CHECK_EXPORT_USER_DATA', ilUtil::formCheckbox($this->exportSettings->enabled('udf_' . $field_id), 'export_members[udf_' . $field_id . ']', 1)); $this->tpl->setVariable('TXT_EXPORT_USER_DATA', $udf_data['field_name']); $this->tpl->parseCurrentBlock(); } $cdf_fields = ilCourseDefinedFieldDefinition::_getFields($this->obj_id); foreach ($cdf_fields as $field_obj) { $this->tpl->setCurrentBlock('cdf_row'); $this->tpl->setVariable('CHECK_CDF_DATA', ilUtil::formCheckbox($this->exportSettings->enabled('cdf_' . $field_obj->getId()), 'export_members[cdf_' . $field_obj->getId() . ']', 1)); $this->tpl->setVariable('TXT_CDF_NAME', $field_obj->getName()); $this->tpl->parseCurrentBlock(); } if (count($cdf_fields)) { $this->tpl->setCurrentBlock('cdf_fields'); $this->tpl->setVariable('TXT_CDF_SELECTION', $this->lng->txt('ps_' . $this->type . '_user_fields')); $this->tpl->parseCurrentBlock(); } if ($a_deliver_file and 0) { $this->tpl->setCurrentBlock('iframe'); $this->tpl->setVariable('SOURCE', $this->ctrl->getLinkTarget($this, 'deliverData')); } }
/** * Get selectable fields * @return */ public function getSelectableFieldsInfo($a_obj_id) { global $lng; $fields = array(); foreach ($this->getExportableFields() as $field) { switch ($field) { case 'lastname': case 'firstname': break; case 'username': $fields['login']['txt'] = $lng->txt('login'); $fields['login']['default'] = 1; break; default: $fields[$field]['txt'] = $lng->txt($field); $fields[$field]['default'] = 0; break; } } include_once './Services/Booking/classes/class.ilBookingEntry.php'; if (ilBookingEntry::hasObjectBookingEntries($a_obj_id, $GLOBALS['ilUser']->getId())) { $GLOBALS['lng']->loadLanguageModule('dateplaner'); $fields['consultation_hour']['txt'] = $GLOBALS['lng']->txt('cal_ch_field_ch'); $fields['consultation_hour']['default'] = 0; } include_once './Services/User/classes/class.ilUserDefinedFields.php'; if ($this->getType() == 'crs') { $udf = ilUserDefinedFields::_getInstance()->getCourseExportableFields(); } elseif ($this->getType() == 'grp') { $udf = ilUserDefinedFields::_getInstance()->getGroupExportableFields(); } if ($udf) { foreach ($udf as $field_id => $field) { $fields['udf_' . $field_id]['txt'] = $field['field_name']; $fields['udf_' . $field_id]['default'] = 0; } } include_once './Modules/Course/classes/Export/class.ilCourseDefinedFieldDefinition.php'; $cdf = ilCourseDefinedFieldDefinition::_getFields($a_obj_id); foreach ($cdf as $def) { $fields['odf_' . $def->getId()]['txt'] = $def->getName(); $fields['odf_' . $def->getId()]['default'] = 0; } if (count($cdf)) { // add last edit $fields['odf_last_update']['txt'] = $GLOBALS['lng']->txt($this->getType() . '_cdf_tbl_last_edit'); $fields['odf_last_update']['default'] = 0; } return $fields; }