ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilTestArchiveService.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
4require_once './Modules/Test/classes/class.ilTestServiceGUI.php';
5require_once './Modules/Test/classes/class.ilTestPDFGenerator.php';
6require_once './Modules/Test/classes/class.ilTestArchiver.php';
7
15{
19 protected $testOBJ;
20
25
27 {
28 $this->testOBJ = $testOBJ;
29 $this->participantData = null;
30 }
31
35 public function getParticipantData()
36 {
38 }
39
44 {
45 $this->participantData = $participantData;
46 }
47
48 public function archivePassesByActives($passesByActives)
49 {
50 foreach($passesByActives as $activeId => $passes)
51 {
52 foreach($passes as $pass)
53 {
54 $this->archiveActivesPass($activeId, $pass);
55 }
56 }
57 }
58
59 public function archiveActivesPass($activeId, $pass)
60 {
61 $content = $this->renderOverviewContent($activeId, $pass);
62 $filename = $this->buildOverviewFilename($activeId, $pass);
63
65
66 $archiver = new ilTestArchiver($this->testOBJ->getId());
67 $archiver->setParticipantData($this->getParticipantData());
68 $archiver->handInTestResult($activeId, $pass, $filename);
69
70 unlink($filename);
71 }
72
78 private function renderOverviewContent($activeId, $pass)
79 {
80 $results = $this->testOBJ->getTestResult(
81 $activeId, $pass, false
82 );
83
84 $gui = new ilTestServiceGUI($this->testOBJ);
85
86 require_once 'Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php';
87 $testResultHeaderLabelBuilder = new ilTestResultHeaderLabelBuilder($GLOBALS['DIC']->language(), $GLOBALS['DIC']['ilObjDataCache']);
88
89 return $gui->getPassListOfAnswers(
90 $results, $activeId, $pass, true, false, false, true, false, null, $testResultHeaderLabelBuilder
91 );
92 }
93
99 private function buildOverviewFilename($activeId, $pass)
100 {
101 $tmpFileName = ilUtil::ilTempnam();
102 return dirname($tmpFileName).'/scores-'.$this->testOBJ->getId().'-'.$activeId.'-'.$pass.'.pdf';
103 }
104}
An exception for terminatinating execution or to throw for unit testing.
archivePassesByActives($passesByActives)
renderOverviewContent($activeId, $pass)
buildOverviewFilename($activeId, $pass)
archiveActivesPass($activeId, $pass)
setParticipantData(ilTestParticipantData $participantData)
Class ilTestArchiver.
static generatePDF($pdf_output, $output_mode, $filename=null)
Service GUI class for tests.
static ilTempnam($a_temp_path=null)
Create a temporary file in an ILIAS writable directory.
$GLOBALS['loaded']
Global hash that tracks already loaded includes.
$results