4 require_once
'Modules/Test/classes/class.ilTestSkillQuestionAssignment.php';
62 $this->assignments = array();
63 $this->numAssignsBySkill = array();
64 $this->maxPointsBySkill = array();
69 if( !isset($this->assignments[$assignment->
getQuestionId()]) )
74 $this->assignments[$assignment->
getQuestionId()][] = $assignment;
81 if( !isset($this->numAssignsBySkill[$key]) )
83 $this->numAssignsBySkill[$key] = 0;
86 $this->numAssignsBySkill[$key]++;
93 if( !isset($this->maxPointsBySkill[$key]) )
95 $this->maxPointsBySkill[$key] = 0;
106 SELECT test_fi, question_fi, skill_base_fi, skill_tref_fi, skill_points 107 FROM tst_skl_qst_assigns 113 while(
$row = $this->db->fetchAssoc(
$res) )
131 $assignment->setTestId(
$data[
'test_fi']);
132 $assignment->setQuestionId(
$data[
'question_fi']);
133 $assignment->setSkillBaseId(
$data[
'skill_base_fi']);
134 $assignment->setSkillTrefId(
$data[
'skill_tref_fi']);
135 $assignment->setSkillPoints(
$data[
'skill_points']);
142 return $skillBaseId.
':'.$skillTrefId;
147 foreach($this->assignments as $assignmentsByQuestion)
149 foreach($assignmentsByQuestion as $assignment)
151 $assignment->loadAdditionalSkillData();
158 if( !isset($this->assignments[$questionId]) )
163 return $this->assignments[$questionId];
168 require_once
'Services/Skill/classes/class.ilBasicSkill.php';
172 foreach($this->assignments as $assignmentsByQuestion)
174 foreach($assignmentsByQuestion as $assignment)
176 $key = $this->
buildSkillKey($assignment->getSkillBaseId(), $assignment->getSkillTrefId());
178 if( !isset($skills[$key]) )
180 $skills[$key] = array(
181 'skill' =>
new ilBasicSkill($assignment->getSkillBaseId()),
182 'skill_base_id' => $assignment->getSkillBaseId(),
183 'skill_tref_id' => $assignment->getSkillTrefId(),
185 $assignment->getSkillBaseId(), $assignment->getSkillTrefId()
188 $assignment->getSkillBaseId(), $assignment->getSkillTrefId()
202 if( $assignedSkill[
'skill_base_id'] != $skillBaseId )
207 if( $assignedSkill[
'skill_tref_id'] == $skillTrefId )
218 return $this->numAssignsBySkill[$this->
buildSkillKey($skillBaseId, $skillTrefId)];
223 return $this->maxPointsBySkill[$this->
buildSkillKey($skillBaseId, $skillTrefId)];
loadAdditionalSkillData()
addAssignment(ilTestSkillQuestionAssignment $assignment)
getNumAssignsBySkill($skillBaseId, $skillTrefId)
buildSkillKey($skillBaseId, $skillTrefId)
isAssignedSkill($skillBaseId, $skillTrefId)
incrementNumAssignsBySkill(ilTestSkillQuestionAssignment $assignment)
getMaxPointsBySkill($skillBaseId, $skillTrefId)
getUniqueAssignedSkills()
incrementMaxPointsBySkill(ilTestSkillQuestionAssignment $assignment)
getAssignmentsByQuestionId($questionId)
buildSkillQuestionAssignmentByArray($data)