ILIAS  release_7 Revision v7.30-3-g800a261c036
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 foreach ($passes as $pass) {
52 $this->archiveActivesPass($activeId, $pass);
53 }
54 }
55 }
56
57 public function archiveActivesPass($activeId, $pass)
58 {
59 $content = $this->renderOverviewContent($activeId, $pass);
60 $filename = $this->buildOverviewFilename($activeId, $pass);
62 $archiver = new ilTestArchiver($this->testOBJ->getId());
63 $archiver->setParticipantData($this->getParticipantData());
64 $archiver->handInTestResult($activeId, $pass, $filename);
65 unlink($filename);
66 }
67
73 private function renderOverviewContent($activeId, $pass)
74 {
75 $results = $this->testOBJ->getTestResult(
76 $activeId,
77 $pass,
78 false
79 );
80
81 $gui = new ilTestServiceGUI($this->testOBJ);
82
83 require_once 'Modules/Test/classes/class.ilTestResultHeaderLabelBuilder.php';
84 $testResultHeaderLabelBuilder = new ilTestResultHeaderLabelBuilder($GLOBALS['DIC']->language(), $GLOBALS['DIC']['ilObjDataCache']);
85
86 return $gui->getPassListOfAnswers(
88 $activeId,
89 $pass,
90 true,
91 false,
92 false,
93 true,
94 false,
95 null,
96 $testResultHeaderLabelBuilder
97 );
98 }
99
105 private function buildOverviewFilename($activeId, $pass)
106 {
107 $tmpFileName = ilUtil::ilTempnam();
108 return dirname($tmpFileName) . '/scores-' . $this->testOBJ->getId() . '-' . $activeId . '-' . $pass . '.pdf';
109 }
110}
if(!defined('PATH_SEPARATOR')) $GLOBALS['_PEAR_default_error_mode']
Definition: PEAR.php:64
$filename
Definition: buildRTE.php:89
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, $purpose=null)
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static ilTempnam($a_temp_path=null)
Returns a unique and non existing Path for e temporary file or directory.
const PDF_USER_RESULT
PDF Purposes.
language()
Definition: language.php:2
$results