ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
class.ilTestSkillLevelThresholdExporter.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
28{
32 protected $xmlWriter;
33
37 protected $assignmentList;
38
42 protected $thresholdList;
43
47 public function __construct()
48 {
49 $this->xmlWriter = null;
50 }
51
55 public function getXmlWriter(): ?ilXmlWriter
56 {
57 return $this->xmlWriter;
58 }
59
64 {
65 $this->xmlWriter = $xmlWriter;
66 }
67
72 {
74 }
75
80 {
81 $this->assignmentList = $assignmentList;
82 }
83
88 {
90 }
91
96 {
97 $this->thresholdList = $thresholdList;
98 }
99
100 public function export()
101 {
102 $this->getXmlWriter()->xmlStartTag('SkillsLevelThresholds');
103
104 foreach ($this->getAssignmentList()->getUniqueAssignedSkills() as $assignedSkillData) {
105 $this->getXmlWriter()->xmlStartTag('QuestionsAssignedSkill', [
106 'BaseId' => $assignedSkillData['skill_base_id'],
107 'TrefId' => $assignedSkillData['skill_tref_id']
108 ]);
109
110 $this->getXmlWriter()->xmlElement('OriginalSkillTitle', null, $assignedSkillData['skill_title']);
111 $this->getXmlWriter()->xmlElement('OriginalSkillPath', null, $assignedSkillData['skill_path']);
112
113 /* @var ilBasicSkill $assignedSkill */
114 $assignedSkill = $assignedSkillData['skill'];
115 $skillLevels = $assignedSkill->getLevelData();
116
117 for ($i = 0, $max = count($skillLevels); $i < $max; $i++) {
118 $levelData = $skillLevels[$i];
119
120 $skillLevelThreshold = $this->getThresholdList()->getThreshold(
121 $assignedSkillData['skill_base_id'],
122 $assignedSkillData['skill_tref_id'],
123 $levelData['id'],
124 true
125 );
126
127 $this->getXmlWriter()->xmlStartTag('SkillLevel', [
128 'Id' => $levelData['id'], 'Nr' => $levelData['nr']
129 ]);
130
131 $this->getXmlWriter()->xmlElement('ThresholdPercentage', null, $skillLevelThreshold->getThreshold());
132
133 $this->getXmlWriter()->xmlElement('OriginalLevelTitle', null, $levelData['title']);
134 $this->getXmlWriter()->xmlElement('OriginalLevelDescription', null, $levelData['description']);
135
136 $this->getXmlWriter()->xmlEndTag('SkillLevel');
137 }
138
139 $this->getXmlWriter()->xmlEndTag('QuestionsAssignedSkill');
140 }
141
142 $this->getXmlWriter()->xmlEndTag('SkillsLevelThresholds');
143 }
144}
__construct()
ilAssQuestionSkillAssignmentExporter constructor.
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...