ILIAS  trunk Revision v11.0_alpha-1749-g1a06bdef097
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
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.

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

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

◆ filterResultsByObjective()

ilTestQuestionRelatedObjectivesList::filterResultsByObjective (   $testResults,
  $objectiveId 
)

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

References isQuestionRelatedToObjective().

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

Referenced by filterResultsByObjective().

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

◆ loadObjectivesTitles()

ilTestQuestionRelatedObjectivesList::loadObjectivesTitles ( )

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

References ilCourseObjective\lookupObjectiveTitle().

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