ILIAS  release_8 Revision v8.23
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.

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

48  {
49  $this->objectivesByQuestion[$questionId] = $objectiveIds;
50  }
+ Here is the caller graph for this function:

◆ filterResultsByObjective()

ilTestQuestionRelatedObjectivesList::filterResultsByObjective (   $testResults,
  $objectiveId 
)

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

References isQuestionRelatedToObjective().

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  }
+ 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.

Referenced by filterResultsByObjective().

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  }
+ Here is the caller graph for this function:

◆ loadObjectivesTitles()

ilTestQuestionRelatedObjectivesList::loadObjectivesTitles ( )

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

References ilCourseObjective\lookupObjectiveTitle().

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)
+ 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: