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  {
56  return $this->assignmentList;
57  }
58 
63  {
64  $this->assignmentList = $assignmentList;
65  }
66 
70  public function getThresholdList()
71  {
72  return $this->thresholdList;
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 }
__construct()
ilAssQuestionSkillAssignmentExporter constructor.
XML writer class.
Create styles array
The data for the language used.