4 require_once
'Services/Export/classes/class.ilExportGUI.php';
20 public function __construct($a_parent_gui, $a_main_obj = null)
22 global $ilPluginAdmin;
24 parent::__construct($a_parent_gui, $a_main_obj);
26 $this->
addFormat(
'xml', $a_parent_gui->lng->txt(
'ass_create_export_file'), $this,
'createTestExport');
27 $this->
addFormat(
'xmlres', $a_parent_gui->lng->txt(
'ass_create_export_file_with_results'), $this,
'createTestExportWithResults');
28 $this->
addFormat(
'csv', $a_parent_gui->lng->txt(
'ass_create_export_test_results'), $this,
'createTestResultsExport');
29 $this->
addFormat(
'arc', $a_parent_gui->lng->txt(
'ass_create_export_test_archive' ), $this,
'createTestArchiveExport');
30 $pl_names = $ilPluginAdmin->getActivePluginsForSlot(
IL_COMP_MODULE,
'Test',
'texp');
31 foreach($pl_names as $pl)
37 $plugin->setTest($this->obj);
40 $plugin->getFormatLabel(),
52 require_once
'Modules/Test/classes/tables/class.ilTestExportTableGUI.php';
60 public function createTestExport()
68 require_once
'Modules/Test/classes/class.ilTestExport.php';
70 $test_exp->buildExportFile();
72 $ilCtrl->redirectByClass(
'iltestexportgui');
78 public function createTestExportWithResults()
86 require_once
'Modules/Test/classes/class.ilTestExport.php';
88 $test_exp->setResultExportingEnabledForTestExport(
true);
89 $test_exp->buildExportFile();
91 $ilCtrl->redirectByClass(
'iltestexportgui');
97 public function createTestResultsExport()
105 require_once
'Modules/Test/classes/class.ilTestExport.php';
107 $test_exp->buildExportFile();
109 $ilCtrl->redirectByClass(
'iltestexportgui');
116 if ($ilAccess->checkAccess(
"write",
"", $this->obj->ref_id))
118 require_once
'Modules/Test/classes/class.ilTestEvaluation.php';
122 require_once
'Modules/Test/classes/class.ilTestParticipantData.php';
124 $participantData->setActiveIds(array_keys($allActivesPasses));
125 $participantData->load($this->obj->getTestId());
127 require_once
'Modules/Test/classes/class.ilTestArchiveService.php';
129 $archiveService->setParticipantData($participantData);
130 $archiveService->archivePassesByActives($allActivesPasses);
132 include_once(
"./Modules/Test/classes/class.ilTestArchiver.php");
133 $test_id = $this->obj->getId();
136 require_once
'./Modules/Test/classes/class.ilTestScoring.php';
138 $best_solution = $scoring->calculateBestSolutionForTest();
140 require_once
'./Modules/Test/classes/class.ilTestPDFGenerator.php';
143 $archive_exp->handInTestBestSolution($best_solution,
'Best_Solution.pdf');
144 unlink(
'Best_Solution.pdf');
146 $archive_exp->updateTestArchive();
147 $archive_exp->compressTestArchive();
153 $ilCtrl->redirectByClass(
'iltestexportgui');
160 $ilToolbar->setFormAction($ilCtrl->getFormAction($this));
168 include_once
'Services/Form/classes/class.ilSelectInputGUI.php';
171 $ilToolbar->addInputItem(
$si,
true);
172 $ilToolbar->addFormButton($lng->txt(
"exp_create_file"),
"createExportFile");
177 $format = $format[0];
178 $ilToolbar->addFormButton($lng->txt(
"exp_create_file") .
" (" . $format[
"txt"] .
")",
"create_" . $format[
"key"]);
181 require_once
'class.ilTestArchiver.php';
184 $archive_files = array();
185 if( file_exists($archive_dir) && is_dir($archive_dir) )
187 $archive_files = scandir($archive_dir);
190 $export_dir = $this->obj->getExportDirectory();
191 $export_files = $this->obj->getExportFiles($export_dir);
193 if(count($export_files) > 0)
195 foreach($export_files as $exp_file)
197 $file_arr = explode(
"__", $exp_file);
198 array_push(
$data, array(
200 'size' => filesize($export_dir .
"/" . $exp_file),
201 'timestamp' => $file_arr[0]
206 if(count($archive_files) > 0)
208 foreach($archive_files as $exp_file)
210 if ($exp_file ==
'.' || $exp_file ==
'..')
214 $file_arr = explode(
"_", $exp_file);
215 array_push(
$data, array(
217 'size' => filesize($archive_dir.
"/".$exp_file),
218 'timestamp' => $file_arr[4]
224 $table->setSelectAllCheckbox(
"file");
227 $table->addCustomColumn($c[
"txt"], $c[
"obj"], $c[
"func"]);
232 $table->addCustomMultiCommand($c[
"txt"],
"multi_".$c[
"func"]);
235 $table->setData(
$data);
236 $tpl->setContent($table->getHTML());
252 if(!isset(
$_POST[
'file']))
255 $ilCtrl->redirect($this,
'listExportFiles');
258 if(count(
$_POST[
'file']) > 1)
261 $ilCtrl->redirect($this,
'listExportFiles');
264 require_once
'class.ilTestArchiver.php';
268 $exportFile = $this->obj->getExportDirectory().
'/'.
$filename;
269 $archiveFile = $archiver->getZipExportDirectory().
'/'.
$filename;
271 if( file_exists($exportFile) )
276 if( file_exists($archiveFile) )
281 $ilCtrl->redirect($this,
'listExportFiles');
287 public function delete()
295 require_once
'class.ilTestArchiver.php';
299 $export_dir = $this->obj->getExportDirectory();
302 $file = basename($file);
303 $dir = substr($file, 0, strlen($file) - 4);
305 if( !strlen($file) || !strlen($dir) )
310 $exp_file = $export_dir.
'/'.
$file;
311 $arc_file = $archiveDir.
'/'.
$file;
312 $exp_dir = $export_dir.
'/'.$dir;
313 if(@is_file($exp_file))
317 if(@is_file($arc_file))
321 if(@is_dir($exp_dir))
327 $ilCtrl->redirect($this,
'listExportFiles');
static sendSuccess($a_info="", $a_keep=false)
Send Success Message to Screen.
createTestArchiveExport()
Export User Interface Class.
Class ilTestPDFGenerator.
addFormat($a_key, $a_txt="", $a_call_obj=null, $a_call_func="")
Add formats.
static sendInfo($a_info="", $a_keep=false)
Send Info Message to Screen.
getCustomColumns()
Get custom columns.
Export User Interface Class.
if(!is_array($argv)) $options
getZipExportDirectory()
Return the export directory, where zips are placed.
static getPluginObject($a_ctype, $a_cname, $a_slot_id, $a_pname)
Get Plugin Object.
static deliverFile($a_file, $a_filename, $a_mime='', $isInline=false, $removeAfterDelivery=false, $a_exit_after=true)
deliver file for download via browser.
getCustomMultiCommands()
Get custom multi commands.
__construct($a_parent_gui, $a_main_obj=null)
Constuctor.
static delDir($a_dir, $a_clean_only=false)
removes a dir and all its content (subdirs and files) recursively
getParentGUI()
get parent gui