ILIAS  trunk Revision v13.0_alpha-62-g3b72d83f2e5
class.ilTestSkillLevelThresholdExporter.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
25{
29 protected $xmlWriter;
30
34 protected $assignmentList;
35
39 protected $thresholdList;
40
44 public function __construct()
45 {
46 $this->xmlWriter = null;
47 }
48
52 public function getXmlWriter(): ?ilXmlWriter
53 {
54 return $this->xmlWriter;
55 }
56
61 {
62 $this->xmlWriter = $xmlWriter;
63 }
64
69 {
71 }
72
77 {
78 $this->assignmentList = $assignmentList;
79 }
80
85 {
87 }
88
93 {
94 $this->thresholdList = $thresholdList;
95 }
96
97 public function export()
98 {
99 $this->getXmlWriter()->xmlStartTag('SkillsLevelThresholds');
100
101 foreach ($this->getAssignmentList()->getUniqueAssignedSkills() as $assignedSkillData) {
102 $this->getXmlWriter()->xmlStartTag('QuestionsAssignedSkill', [
103 'BaseId' => $assignedSkillData['skill_base_id'],
104 'TrefId' => $assignedSkillData['skill_tref_id']
105 ]);
106
107 $this->getXmlWriter()->xmlElement('OriginalSkillTitle', null, $assignedSkillData['skill_title']);
108 $this->getXmlWriter()->xmlElement('OriginalSkillPath', null, $assignedSkillData['skill_path']);
109
110 /* @var ilBasicSkill $assignedSkill */
111 $assignedSkill = $assignedSkillData['skill'];
112 $skillLevels = $assignedSkill->getLevelData();
113
114 for ($i = 0, $max = count($skillLevels); $i < $max; $i++) {
115 $levelData = $skillLevels[$i];
116
117 $skillLevelThreshold = $this->getThresholdList()->getThreshold(
118 $assignedSkillData['skill_base_id'],
119 $assignedSkillData['skill_tref_id'],
120 $levelData['id'],
121 true
122 );
123
124 $this->getXmlWriter()->xmlStartTag('SkillLevel', [
125 'Id' => $levelData['id'], 'Nr' => $levelData['nr']
126 ]);
127
128 $this->getXmlWriter()->xmlElement('ThresholdPercentage', null, $skillLevelThreshold->getThreshold());
129
130 $this->getXmlWriter()->xmlElement('OriginalLevelTitle', null, $levelData['title']);
131 $this->getXmlWriter()->xmlElement('OriginalLevelDescription', null, $levelData['description']);
132
133 $this->getXmlWriter()->xmlEndTag('SkillLevel');
134 }
135
136 $this->getXmlWriter()->xmlEndTag('QuestionsAssignedSkill');
137 }
138
139 $this->getXmlWriter()->xmlEndTag('SkillsLevelThresholds');
140 }
141}
__construct()
ilAssQuestionSkillAssignmentExporter constructor.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...