ILIAS  trunk Revision v11.0_alpha-1753-gb21ca8c4367
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilTestRandomQuestionCollectionSubsetApplicationList Class Reference
+ Inheritance diagram for ilTestRandomQuestionCollectionSubsetApplicationList:
+ Collaboration diagram for ilTestRandomQuestionCollectionSubsetApplicationList:

Public Member Functions

 __construct ()
 
 getCollectionSubsetApplication ($applicantId)
 
 getCollectionSubsetApplications ()
 
 addCollectionSubsetApplication (ilTestRandomQuestionCollectionSubsetApplication $collectionSubsetApplication)
 
 setCollectionSubsetApplications (array $collectionSubsetApplications)
 
 resetCollectionSubsetApplicants ()
 
 getReservedQuestionCollection ()
 
 setReservedQuestionCollection (ilTestRandomQuestionSetQuestionCollection $reservedQuestionCollection)
 
 addReservedQuestion (ilTestRandomQuestionSetQuestion $reservedQuestion)
 
 current ()
 
 next ()
 
 key ()
 
 valid ()
 
 rewind ()
 
 handleQuestionRequest (ilTestRandomQuestionSetQuestion $question)
 
 getNonReservedQuestionAmount ()
 

Protected Attributes

array $collectionSubsetApplications = []
 
ilTestRandomQuestionSetQuestionCollection $reservedQuestionCollection
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestRandomQuestionCollectionSubsetApplicationList::__construct ( )

Member Function Documentation

◆ addCollectionSubsetApplication()

ilTestRandomQuestionCollectionSubsetApplicationList::addCollectionSubsetApplication ( ilTestRandomQuestionCollectionSubsetApplication  $collectionSubsetApplication)

Definition at line 55 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References ilTestRandomQuestionCollectionSubsetApplication\getApplicantId().

57  : void {
58  $this->collectionSubsetApplications[$collectionSubsetApplication->getApplicantId()] = $collectionSubsetApplication;
59  }
+ Here is the call graph for this function:

◆ addReservedQuestion()

ilTestRandomQuestionCollectionSubsetApplicationList::addReservedQuestion ( ilTestRandomQuestionSetQuestion  $reservedQuestion)

Definition at line 85 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References getReservedQuestionCollection().

Referenced by handleQuestionRequest().

85  : void
86  {
87  $this->getReservedQuestionCollection()->addQuestion($reservedQuestion);
88  }
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ current()

◆ getCollectionSubsetApplication()

ilTestRandomQuestionCollectionSubsetApplicationList::getCollectionSubsetApplication (   $applicantId)
Parameters
int$applicantId

Definition at line 42 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References null.

43  {
44  return $this->collectionSubsetApplications[$applicantId] ?? null;
45  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null

◆ getCollectionSubsetApplications()

ilTestRandomQuestionCollectionSubsetApplicationList::getCollectionSubsetApplications ( )

◆ getNonReservedQuestionAmount()

ilTestRandomQuestionCollectionSubsetApplicationList::getNonReservedQuestionAmount ( )

Definition at line 135 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References getReservedQuestionCollection().

135  : int
136  {
137  $availableQuestionCollection = new ilTestRandomQuestionSetQuestionCollection();
138 
139  foreach ($this as $collectionSubsetApplication) {
140  $applicationsNonReservedQstCollection = $collectionSubsetApplication->getRelativeComplementCollection(
142  );
143 
144  $availableQuestionCollection->mergeQuestionCollection($applicationsNonReservedQstCollection);
145  }
146 
147  $nonReservedQuestionCollection = $availableQuestionCollection->getUniqueQuestionCollection();
148 
149  return $nonReservedQuestionCollection->getQuestionAmount();
150  }
+ Here is the call graph for this function:

◆ getReservedQuestionCollection()

ilTestRandomQuestionCollectionSubsetApplicationList::getReservedQuestionCollection ( )

◆ handleQuestionRequest()

ilTestRandomQuestionCollectionSubsetApplicationList::handleQuestionRequest ( ilTestRandomQuestionSetQuestion  $question)

Definition at line 115 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References addReservedQuestion(), and ilTestRandomQuestionSetQuestion\getQuestionId().

115  : void
116  {
117  $questionReservationRequired = false;
118 
119  foreach ($this as $collectionSubsetApplication) {
120  if (!$collectionSubsetApplication->hasQuestion($question->getQuestionId())) {
121  continue;
122  }
123 
124  if ($collectionSubsetApplication->hasRequiredAmountLeft()) {
125  $questionReservationRequired = true;
126  $collectionSubsetApplication->decrementRequiredAmount();
127  }
128  }
129 
130  if ($questionReservationRequired) {
131  $this->addReservedQuestion($question);
132  }
133  }
+ Here is the call graph for this function:

◆ key()

ilTestRandomQuestionCollectionSubsetApplicationList::key ( )

Definition at line 100 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

Referenced by valid().

100  : int
101  {
102  return key($this->collectionSubsetApplications);
103  }
+ Here is the caller graph for this function:

◆ next()

ilTestRandomQuestionCollectionSubsetApplicationList::next ( )

◆ resetCollectionSubsetApplicants()

ilTestRandomQuestionCollectionSubsetApplicationList::resetCollectionSubsetApplicants ( )

Definition at line 69 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References setCollectionSubsetApplications().

69  : void
70  {
72  }
+ Here is the call graph for this function:

◆ rewind()

ilTestRandomQuestionCollectionSubsetApplicationList::rewind ( )

Definition at line 110 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

110  : void
111  {
112  reset($this->collectionSubsetApplications);
113  }

◆ setCollectionSubsetApplications()

ilTestRandomQuestionCollectionSubsetApplicationList::setCollectionSubsetApplications ( array  $collectionSubsetApplications)
Parameters
array<int,ilTestRandomQuestionCollectionSubsetApplication>$collectionSubsetApplications

Definition at line 64 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References $collectionSubsetApplications.

Referenced by resetCollectionSubsetApplicants().

64  : void
65  {
66  $this->collectionSubsetApplications = $collectionSubsetApplications;
67  }
+ Here is the caller graph for this function:

◆ setReservedQuestionCollection()

ilTestRandomQuestionCollectionSubsetApplicationList::setReservedQuestionCollection ( ilTestRandomQuestionSetQuestionCollection  $reservedQuestionCollection)

Definition at line 79 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References $reservedQuestionCollection.

Referenced by __construct().

81  : void {
82  $this->reservedQuestionCollection = $reservedQuestionCollection;
83  }
+ Here is the caller graph for this function:

◆ valid()

ilTestRandomQuestionCollectionSubsetApplicationList::valid ( )

Definition at line 105 of file class.ilTestRandomQuestionCollectionSubsetApplicationList.php.

References key(), and null.

105  : bool
106  {
107  return key($this->collectionSubsetApplications) !== null;
108  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

Field Documentation

◆ $collectionSubsetApplications

array ilTestRandomQuestionCollectionSubsetApplicationList::$collectionSubsetApplications = []
protected

◆ $reservedQuestionCollection

ilTestRandomQuestionSetQuestionCollection ilTestRandomQuestionCollectionSubsetApplicationList::$reservedQuestionCollection
protected

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