ILIAS  release_8 Revision v8.24
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 37 of file class.ilTestQuestionRelatedObjectivesList.php.

38 {
39 $this->objectivesByQuestion = array();
40 $this->objectivesTitles = array();
41 }

Member Function Documentation

◆ addQuestionRelatedObjectives()

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

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

48 {
49 $this->objectivesByQuestion[$questionId] = $objectiveIds;
50 }

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

+ Here is the caller graph for this function:

◆ filterResultsByObjective()

ilTestQuestionRelatedObjectivesList::filterResultsByObjective (   $testResults,
  $objectiveId 
)

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

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

References isQuestionRelatedToObjective().

+ Here is the call graph for this function:

◆ getObjectives()

ilTestQuestionRelatedObjectivesList::getObjectives ( )

◆ getObjectiveTitleById()

ilTestQuestionRelatedObjectivesList::getObjectiveTitleById (   $objectiveId)

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

127 {
128 return $this->objectivesTitles[$objectiveId];
129 }

◆ getQuestionRelatedObjectives()

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

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

69 {
70 return $this->objectivesByQuestion[$questionId];
71 }

◆ getQuestionRelatedObjectiveTitles()

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

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

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

◆ getUniqueObjectivesString()

ilTestQuestionRelatedObjectivesList::getUniqueObjectivesString ( )

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

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

◆ getUniqueObjectivesStringForQuestions()

ilTestQuestionRelatedObjectivesList::getUniqueObjectivesStringForQuestions (   $questionIds)

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

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

◆ hasQuestionRelatedObjectives()

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

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

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

◆ isQuestionRelatedToObjective()

ilTestQuestionRelatedObjectivesList::isQuestionRelatedToObjective (   $questionId,
  $objectiveId 
)

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

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

Referenced by filterResultsByObjective().

+ Here is the caller graph for this function:

◆ loadObjectivesTitles()

ilTestQuestionRelatedObjectivesList::loadObjectivesTitles ( )

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

74 {
75 foreach ($this->objectivesByQuestion as $objectiveIds) {
76 foreach ($objectiveIds as $objectiveId) {
77 if (!isset($this->objectivesTitles[$objectiveId])) {
78 $objectiveTitle = ilCourseObjective::lookupObjectiveTitle($objectiveId);
79 $this->objectivesTitles[$objectiveId] = $objectiveTitle;
80 }
81 }
82 }
83 }
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 35 of file class.ilTestQuestionRelatedObjectivesList.php.

Referenced by getObjectives().


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