ILIAS  trunk Revision v11.0_alpha-1723-g8e69f309bab
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
class.ilTestSkillLevelThresholdExporter.php
Go to the documentation of this file.
1 <?php
2 
19 declare(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  {
73  return $this->assignmentList;
74  }
75 
80  {
81  $this->assignmentList = $assignmentList;
82  }
83 
88  {
89  return $this->thresholdList;
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.
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null