ILIAS  release_5-2 Revision v5.2.25-18-g3f80b828510
class.ilTestSkillLevelThresholdExporter.php
Go to the documentation of this file.
1<?php
2/* Copyright (c) 1998-2013 ILIAS open source, Extended GPL, see docs/LICENSE */
3
11{
15 protected $xmlWriter;
16
20 protected $assignmentList;
21
25 protected $thresholdList;
26
30 public function __construct()
31 {
32 $this->xmlWriter = null;
33 }
34
38 public function getXmlWriter()
39 {
40 return $this->xmlWriter;
41 }
42
47 {
48 $this->xmlWriter = $xmlWriter;
49 }
50
54 public function getAssignmentList()
55 {
57 }
58
63 {
64 $this->assignmentList = $assignmentList;
65 }
66
70 public function getThresholdList()
71 {
73 }
74
79 {
80 $this->thresholdList = $thresholdList;
81 }
82
83 public function export()
84 {
85 $this->getXmlWriter()->xmlStartTag('SkillsLevelThresholds');
86
87 foreach($this->getAssignmentList()->getUniqueAssignedSkills() as $assignedSkillData)
88 {
89 $this->getXmlWriter()->xmlStartTag('QuestionsAssignedSkill', array(
90 'BaseId' => $assignedSkillData['skill_base_id'],
91 'TrefId' => $assignedSkillData['skill_tref_id']
92 ));
93
94 $this->getXmlWriter()->xmlElement('OriginalSkillTitle', null, $assignedSkillData['skill_title']);
95 $this->getXmlWriter()->xmlElement('OriginalSkillPath', null, $assignedSkillData['skill_path']);
96
97 /* @var ilBasicSkill $assignedSkill */
98 $assignedSkill = $assignedSkillData['skill'];
99 $skillLevels = $assignedSkill->getLevelData();
100
101 for($i = 0, $max = count($skillLevels); $i < $max; $i++)
102 {
103 $levelData = $skillLevels[$i];
104
105 $skillLevelThreshold = $this->getThresholdList()->getThreshold(
106 $assignedSkillData['skill_base_id'], $assignedSkillData['skill_tref_id'], $levelData['id'], true
107 );
108
109 $this->getXmlWriter()->xmlStartTag('SkillLevel', array(
110 'Id' => $levelData['id'], 'Nr' => $levelData['nr']
111 ));
112
113 $this->getXmlWriter()->xmlElement('ThresholdPercentage', null, $skillLevelThreshold->getThreshold());
114
115 $this->getXmlWriter()->xmlElement('OriginalLevelTitle', null, $levelData['title']);
116 $this->getXmlWriter()->xmlElement('OriginalLevelDescription', null, $levelData['description']);
117
118 $this->getXmlWriter()->xmlEndTag('SkillLevel');
119 }
120
121 $this->getXmlWriter()->xmlEndTag('QuestionsAssignedSkill');
122 }
123
124 $this->getXmlWriter()->xmlEndTag('SkillsLevelThresholds');
125 }
126}
An exception for terminatinating execution or to throw for unit testing.
__construct()
ilAssQuestionSkillAssignmentExporter constructor.
XML writer class.