ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilTestQuestionRelatedObjectivesList Class Reference
+ Collaboration diagram for ilTestQuestionRelatedObjectivesList:

Public Member Functions

 __construct ()
 
 addQuestionRelatedObjectives ($questionId, $objectiveIds)
 
 hasQuestionRelatedObjectives ($questionId)
 
 getQuestionRelatedObjectives ($questionId)
 
 loadObjectivesTitles ()
 
 getQuestionRelatedObjectiveTitles ($questionId)
 
 getUniqueObjectivesString ()
 
 getUniqueObjectivesStringForQuestions ($questionIds)
 
 getObjectiveTitleById ($objectiveId)
 
 getObjectives ()
 
 isQuestionRelatedToObjective ($questionId, $objectiveId)
 
 filterResultsByObjective ($testResults, $objectiveId)
 

Protected Attributes

 $objectivesByQuestion
 
 $objectivesTitles
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestQuestionRelatedObjectivesList::__construct ( )

Definition at line 39 of file class.ilTestQuestionRelatedObjectivesList.php.

40 {
41 $this->objectivesByQuestion = [];
42 $this->objectivesTitles = [];
43 }

Member Function Documentation

◆ addQuestionRelatedObjectives()

ilTestQuestionRelatedObjectivesList::addQuestionRelatedObjectives (   $questionId,
  $objectiveIds 
)
Parameters
integer$questionId
string$objectiveTitle

Definition at line 49 of file class.ilTestQuestionRelatedObjectivesList.php.

50 {
51 $this->objectivesByQuestion[$questionId] = $objectiveIds;
52 }

Referenced by ilLOTestQuestionAdapter\buildQuestionRelatedObjectiveListByQuestions(), and ilLOTestQuestionAdapter\buildQuestionRelatedObjectiveListByTest().

+ Here is the caller graph for this function:

◆ filterResultsByObjective()

ilTestQuestionRelatedObjectivesList::filterResultsByObjective (   $testResults,
  $objectiveId 
)

Definition at line 154 of file class.ilTestQuestionRelatedObjectivesList.php.

154 : array
155 {
156 $filteredResults = [];
157
158 foreach ($testResults as $questionId => $resultData) {
159 if (!$this->isQuestionRelatedToObjective($questionId, $objectiveId)) {
160 continue;
161 }
162
163 $filteredResults[$questionId] = $resultData;
164 }
165
166 return $filteredResults;
167 }

References isQuestionRelatedToObjective().

+ Here is the call graph for this function:

◆ getObjectives()

ilTestQuestionRelatedObjectivesList::getObjectives ( )

◆ getObjectiveTitleById()

ilTestQuestionRelatedObjectivesList::getObjectiveTitleById (   $objectiveId)

Definition at line 128 of file class.ilTestQuestionRelatedObjectivesList.php.

129 {
130 return $this->objectivesTitles[$objectiveId];
131 }

◆ getQuestionRelatedObjectives()

ilTestQuestionRelatedObjectivesList::getQuestionRelatedObjectives (   $questionId)
Parameters
integer$questionId

Definition at line 70 of file class.ilTestQuestionRelatedObjectivesList.php.

71 {
72 return $this->objectivesByQuestion[$questionId];
73 }

◆ getQuestionRelatedObjectiveTitles()

ilTestQuestionRelatedObjectivesList::getQuestionRelatedObjectiveTitles (   $questionId)
Parameters
integer$questionId
Returns
string

Definition at line 91 of file class.ilTestQuestionRelatedObjectivesList.php.

91 : string
92 {
93 if (!isset($this->objectivesByQuestion[$questionId])
94 || !is_array($this->objectivesByQuestion[$questionId])) {
95 return '';
96 }
97
98 $titles = [];
99 foreach ($this->objectivesByQuestion[$questionId] as $objectiveId) {
100 $titles[] = $this->objectivesTitles[$objectiveId];
101 }
102
103 return implode(', ', $titles);
104 }

◆ getUniqueObjectivesString()

ilTestQuestionRelatedObjectivesList::getUniqueObjectivesString ( )

Definition at line 106 of file class.ilTestQuestionRelatedObjectivesList.php.

106 : string
107 {
108 return implode(', ', $this->objectivesTitles);
109 }

◆ getUniqueObjectivesStringForQuestions()

ilTestQuestionRelatedObjectivesList::getUniqueObjectivesStringForQuestions (   $questionIds)

Definition at line 111 of file class.ilTestQuestionRelatedObjectivesList.php.

111 : string
112 {
113 $objectiveTitles = [];
114
115 foreach ($this->objectivesByQuestion as $questionId => $objectiveIds) {
116 if (!in_array($questionId, $questionIds)) {
117 continue;
118 }
119
120 foreach ($objectiveIds as $objectiveId) {
121 $objectiveTitles[$objectiveId] = $this->objectivesTitles[$objectiveId];
122 }
123 }
124
125 return implode(', ', $objectiveTitles);
126 }

◆ hasQuestionRelatedObjectives()

ilTestQuestionRelatedObjectivesList::hasQuestionRelatedObjectives (   $questionId)
Parameters
integer$questionId
Returns
bool

Definition at line 58 of file class.ilTestQuestionRelatedObjectivesList.php.

58 : bool
59 {
60 if (!isset($this->objectivesByQuestion[$questionId])) {
61 return false;
62 }
63
64 return (bool) count($this->objectivesByQuestion[$questionId]);
65 }

◆ isQuestionRelatedToObjective()

ilTestQuestionRelatedObjectivesList::isQuestionRelatedToObjective (   $questionId,
  $objectiveId 
)

Definition at line 138 of file class.ilTestQuestionRelatedObjectivesList.php.

138 : bool
139 {
140 if (!isset($this->objectivesByQuestion[$questionId])
141 || !is_array($this->objectivesByQuestion[$questionId])) {
142 return false;
143 }
144
145 foreach ($this->objectivesByQuestion[$questionId] as $relatedObjectiveId) {
146 if ($relatedObjectiveId == $objectiveId) {
147 return true;
148 }
149 }
150
151 return false;
152 }

Referenced by filterResultsByObjective().

+ Here is the caller graph for this function:

◆ loadObjectivesTitles()

ilTestQuestionRelatedObjectivesList::loadObjectivesTitles ( )

Definition at line 75 of file class.ilTestQuestionRelatedObjectivesList.php.

76 {
77 foreach ($this->objectivesByQuestion as $objectiveIds) {
78 foreach ($objectiveIds as $objectiveId) {
79 if (!isset($this->objectivesTitles[$objectiveId])) {
80 $objectiveTitle = ilCourseObjective::lookupObjectiveTitle($objectiveId);
81 $this->objectivesTitles[$objectiveId] = $objectiveTitle;
82 }
83 }
84 }
85 }
static lookupObjectiveTitle(int $a_objective_id, bool $a_add_description=false)

References ilCourseObjective\lookupObjectiveTitle().

+ Here is the call graph for this function:

Field Documentation

◆ $objectivesByQuestion

ilTestQuestionRelatedObjectivesList::$objectivesByQuestion
protected

◆ $objectivesTitles

ilTestQuestionRelatedObjectivesList::$objectivesTitles
protected

Definition at line 37 of file class.ilTestQuestionRelatedObjectivesList.php.

Referenced by getObjectives().


The documentation for this class was generated from the following file: