19 declare(strict_types=1);
51 $form->setFormAction($this->
ctrl->getFormAction($this));
52 $form->setTitle($this->
lng->txt(
'ps_export_settings'));
54 if ((
bool) $a_is_excel) {
55 $form->addCommandButton(
'exportExcel', $this->
lng->txt(
'ps_export_excel'));
57 $form->addCommandButton(
'export', $this->
lng->txt(
'ps_perform_export'));
59 $form->addCommandButton(
'show', $this->
lng->txt(
'cancel'));
61 $current_udata = array();
63 $form->addItem($udata);
65 $columns = array_merge($this->prg_user_table->getColumns($this->obj_id,
true));
67 foreach ($columns as $field_info) {
69 if ($this->exportSettings->enabled($field_info[0])) {
70 $current_udata[] = $field_info[0];
74 $udata->setValue($current_udata);
85 if ($this->
http->wrapper()->post()->has(
'export_members')) {
86 $incoming = $this->
http->wrapper()->post()->retrieve(
89 $this->
refinery->kindlyTo()->string()
93 if (count($incoming)) {
94 foreach ($incoming as
$id) {
95 $settings[
$id] =
true;
100 $this->exportSettings->set($settings);
101 $this->exportSettings->store();
133 )[
'ilStudyProgrammeUserTable'];
134 $prg_user_table->disablePermissionCheck(
true);
140 $this->exportSettings,
148 self::EXPORT_FILENAME,
157 $filepath = $this->fss_export->getMemberExportDirectory() . DIRECTORY_SEPARATOR .
$filename;
160 $this->fss_export->initMemberExportDirectory();
166 $this->
ctrl->redirect($this,
'show');
172 if (!count($file_ids)) {
173 $this->
ctrl->redirect($this,
'show');
176 foreach ($this->fss_export->getMemberExportFiles() as $file) {
177 if (!in_array(md5($file[
'name']), $_POST[
'id'])) {
180 $this->fss_export->deleteMemberExportFile($file[
'name']);
183 $this->tpl->setOnScreenMessage(
'success', $this->
lng->txt(
'ps_files_deleted'),
true);
184 $this->
ctrl->redirect($this,
'show');
190 if ($this->
http->wrapper()->query()->has(
'fl')) {
191 $fl = $this->
http->wrapper()->query()->retrieve(
193 $this->
refinery->kindlyTo()->string()
199 $this->
ctrl->redirect($this,
'show');
202 foreach ($this->fss_export->getMemberExportFiles() as $file) {
203 if (md5($file[
'name']) == $hash) {
204 $contents = $this->fss_export->getMemberExportFile($file[
'name']);
205 $fts = $file[
'timest'];
206 $dat = date(
'Y_m_d_H-i', (
int)$fts);
207 $down_name = str_replace($fts, $dat, $file[
'name']);
210 if ($file[
'type'] ===
'xlsx') {
211 $mime =
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
const USERFORMSETTINGS_ID
This class represents an option in a checkbox group.
static deliverData(string $a_data, string $a_filename, string $mime="application/octet-stream")
static _lookupObjId(int $ref_id)
static http()
Fetches the global http state from ILIAS.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static specificDicFor(ilObjStudyProgramme $prg)
export assignments of PRG
ilUserFormSettings $exportSettings
ilStudyProgrammeUserTable provides a flattened list of progresses at a programme-node.
initSettingsForm(bool $a_is_excel=false)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
__construct(Container $dic, ilPlugin $plugin)
__construct(protected int $ref_id, protected ilStudyProgrammeUserTable $prg_user_table, protected DataFactory $data_factory)
export assignments of PRG