ILIAS  trunk Revision v11.0_alpha-1713-gd8962da2f67
All Data Structures Namespaces Files Functions Variables Enumerations Enumerator Modules Pages
ilTestRandomQuestionSetSourcePoolDefinition Class Reference
+ Collaboration diagram for ilTestRandomQuestionSetSourcePoolDefinition:

Public Member Functions

 __construct (protected ilDBInterface $db, protected ilObjTest $test_obj)
 
 setId (int $id)
 
 getId ()
 
 setPoolId (int $pool_id)
 
 getPoolId ()
 
 getPoolRefId ()
 
 setPoolRefId (?int $pool_ref_id)
 
 setPoolTitle (string $pool_title)
 
 getPoolTitle ()
 
 setPoolPath (?string $pool_path)
 
 getPoolPath ()
 
 setPoolQuestionCount (?int $pool_question_count)
 
 getPoolQuestionCount ()
 
 getOriginalTaxonomyFilter ()
 
 setOriginalTaxonomyFilter (array $filter=[])
 
 getMappedTaxonomyFilter ()
 get the mapped taxonomy filter conditions More...
 
 setMappedTaxonomyFilter (array $filter=[])
 set the original taxonomy filter condition More...
 
 mapTaxonomyFilter (ilQuestionPoolDuplicatedTaxonomiesKeysMap $taxonomies_keys_map)
 
 setTypeFilter (array $type_filter=[])
 
 getTypeFilter ()
 
 getLifecycleFilter ()
 
 setLifecycleFilter (array $lifecycle_filter)
 
 getLifecycleFilterForDbValue ()
 
 setLifecycleFilterFromDbValue (?string $db_value)
 
 getTypeFilterAsTypeTags ()
 Get the type filter as a list of type tags. More...
 
 setTypeFilterFromTypeTags (array $tags)
 Set the type filter from a list of type tags. More...
 
 setQuestionAmount (?int $question_amount)
 
 getQuestionAmount ()
 
 setSequencePosition (int $sequence_position)
 
 getSequencePosition ()
 
 initFromArray (array $data_array)
 
 loadFromDb (int $id)
 
 saveToDb ()
 
 cloneToDbForTestId (int $test_id)
 
 deleteFromDb ()
 
 getPoolInfoLabel (ilLanguage $lng)
 

Private Member Functions

 getOriginalTaxonomyFilterForDbValue ()
 
 setOriginalTaxonomyFilterFromDbValue (?string $value)
 
 getMappedTaxonomyFilterForDbValue ()
 
 setMappedTaxonomyFilterFromDbValue (?string $value)
 
 getTypeFilterForDbValue ()
 get the question type filter for insert into the database More...
 
 setTypeFilterFromDbValue (?string $value)
 get the question type filter from database value More...
 
 updateDbRecord (int $test_id)
 
 insertDbRecord (int $test_id)
 

Private Attributes

int $id = null
 
int $pool_id = null
 
int $pool_ref_id = null
 
string $pool_title = null
 
string $pool_path = null
 
int $pool_question_count = null
 
array $original_taxonomy_filter = []
 
array $mapped_taxonomy_filter = []
 
array $type_filter = []
 
array $lifecycle_filter = []
 
int $question_amount = null
 
int $sequence_position = null
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestRandomQuestionSetSourcePoolDefinition::__construct ( protected ilDBInterface  $db,
protected ilObjTest  $test_obj 
)

Definition at line 53 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

56  {
57  }

Member Function Documentation

◆ cloneToDbForTestId()

ilTestRandomQuestionSetSourcePoolDefinition::cloneToDbForTestId ( int  $test_id)

Definition at line 370 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References insertDbRecord().

370  : void
371  {
372  $this->insertDbRecord($test_id);
373  }
+ Here is the call graph for this function:

◆ deleteFromDb()

ilTestRandomQuestionSetSourcePoolDefinition::deleteFromDb ( )

Definition at line 375 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References getId().

375  : void
376  {
377  $this->db->manipulateF(
378  "DELETE FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
379  ['integer'],
380  [$this->getId()]
381  );
382  }
+ Here is the call graph for this function:

◆ getId()

◆ getLifecycleFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getLifecycleFilter ( )

◆ getLifecycleFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getLifecycleFilterForDbValue ( )

Definition at line 226 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References null.

Referenced by insertDbRecord(), and updateDbRecord().

226  : ?string
227  {
228  return empty($this->lifecycle_filter) ? null : serialize($this->lifecycle_filter);
229  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ getMappedTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilter ( )

get the mapped taxonomy filter conditions

Returns
array taxId => [nodeId, ...]

Definition at line 145 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $mapped_taxonomy_filter.

Referenced by ilLOUtils\buildQplTitleByDefinition(), ilTestRandomQuestionSetBuilder\getQuestionIdsForSourcePoolDefinitionIds(), and ilTestRandomQuestionSetBuilder\hasTaxonomyFilter().

+ Here is the caller graph for this function:

◆ getMappedTaxonomyFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilterForDbValue ( )
private

Definition at line 159 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References null.

Referenced by insertDbRecord(), and updateDbRecord().

159  : ?string
160  {
161  return empty($this->mapped_taxonomy_filter) ? null : serialize($this->mapped_taxonomy_filter);
162  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ getOriginalTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getOriginalTaxonomyFilter ( )

◆ getOriginalTaxonomyFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getOriginalTaxonomyFilterForDbValue ( )
private

Definition at line 129 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References null.

Referenced by insertDbRecord(), and updateDbRecord().

129  : ?string
130  {
131  // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
132  return empty($this->original_taxonomy_filter) ? null : serialize($this->original_taxonomy_filter);
133  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ getPoolId()

◆ getPoolInfoLabel()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolInfoLabel ( ilLanguage  $lng)

Definition at line 433 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $path, $pool_path, ilObject\_lookupObjId(), getPoolPath(), getPoolQuestionCount(), getPoolRefId(), getPoolTitle(), ROOT_FOLDER_ID, and ilLanguage\txt().

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\build().

433  : string
434  {
435  $pool_path = $this->getPoolPath();
436  if (is_int($this->getPoolRefId()) && ilObject::_lookupObjId($this->getPoolRefId())) {
437  $path = new ilPathGUI();
438  $path->enableTextOnly(true);
439  $pool_path = $path->getPath(ROOT_FOLDER_ID, (int) $this->getPoolRefId());
440  }
441 
442  $poolInfoLabel = sprintf(
443  $lng->txt('tst_random_question_set_source_questionpool_summary_string'),
444  $this->getPoolTitle(),
445  $pool_path,
446  $this->getPoolQuestionCount()
447  );
448 
449  return $poolInfoLabel;
450  }
txt(string $a_topic, string $a_default_lang_fallback_mod="")
gets the text for a given topic if the topic is not in the list, the topic itself with "-" will be re...
const ROOT_FOLDER_ID
Definition: constants.php:32
$path
Definition: ltiservices.php:29
static _lookupObjId(int $ref_id)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPoolPath()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolPath ( )

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

References $pool_path.

Referenced by getPoolInfoLabel(), insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolQuestionCount ( )

Definition at line 114 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $pool_question_count.

Referenced by getPoolInfoLabel(), insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolRefId ( )

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

References $pool_ref_id.

Referenced by getPoolInfoLabel(), insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolTitle()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolTitle ( )

◆ getQuestionAmount()

ilTestRandomQuestionSetSourcePoolDefinition::getQuestionAmount ( )

◆ getSequencePosition()

ilTestRandomQuestionSetSourcePoolDefinition::getSequencePosition ( )

Definition at line 291 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $sequence_position.

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getTypeFilter()

◆ getTypeFilterAsTypeTags()

ilTestRandomQuestionSetSourcePoolDefinition::getTypeFilterAsTypeTags ( )

Get the type filter as a list of type tags.

Returns
string[]

Definition at line 240 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References ilObjQuestionPool\_getQuestionTypes().

240  : array
241  {
242  $map = [];
243  foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
244  $map[$row['question_type_id']] = $row['type_tag'];
245  }
246 
247  $tags = [];
248  foreach ($this->type_filter as $type_id) {
249  if (isset($map[$type_id])) {
250  $tags[] = $map[$type_id];
251  }
252  }
253 
254  return $tags;
255  }
static _getQuestionTypes($all_tags=false, $fixOrder=false, $withDeprecatedTypes=true)
+ Here is the call graph for this function:

◆ getTypeFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getTypeFilterForDbValue ( )
private

get the question type filter for insert into the database

Definition at line 203 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References null.

Referenced by insertDbRecord(), and updateDbRecord().

203  : ?string
204  {
205  return empty($this->type_filter) ? null : serialize($this->type_filter);
206  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the caller graph for this function:

◆ initFromArray()

ilTestRandomQuestionSetSourcePoolDefinition::initFromArray ( array  $data_array)

Definition at line 298 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References null, setId(), setLifecycleFilterFromDbValue(), setMappedTaxonomyFilterFromDbValue(), setOriginalTaxonomyFilterFromDbValue(), setPoolId(), setPoolPath(), setPoolQuestionCount(), setPoolRefId(), setPoolTitle(), setQuestionAmount(), setSequencePosition(), and setTypeFilterFromDbValue().

Referenced by loadFromDb().

298  : void
299  {
300  foreach ($data_array as $field => $value) {
301  switch ($field) {
302  case 'def_id':
303  $this->setId($value);
304  break;
305  case 'pool_fi':
306  $this->setPoolId($value);
307  break;
308  case 'pool_ref_id':
309  $this->setPoolRefId($value ? (int) $value : null);
310  break;
311  case 'pool_title':
312  $this->setPoolTitle($value);
313  break;
314  case 'pool_path':
315  $this->setPoolPath($value);
316  break;
317  case 'pool_quest_count':
318  $this->setPoolQuestionCount($value);
319  break;
320  case 'origin_tax_filter':
322  break;
323  case 'mapped_tax_filter':
324  $this->setMappedTaxonomyFilterFromDbValue($value);
325  break;
326  case 'type_filter':
327  $this->setTypeFilterFromDbValue($value);
328  break;
329  case 'lifecycle_filter':
330  $this->setLifecycleFilterFromDbValue($value);
331  break;
332  // fau.
333  case 'quest_amount':
334  $this->setQuestionAmount($value);
335  break;
336  case 'sequence_pos':
337  $this->setSequencePosition($value);
338  break;
339  }
340  }
341  }
setTypeFilterFromDbValue(?string $value)
get the question type filter from database value
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertDbRecord()

ilTestRandomQuestionSetSourcePoolDefinition::insertDbRecord ( int  $test_id)
private

Definition at line 408 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References getLifecycleFilterForDbValue(), getMappedTaxonomyFilterForDbValue(), getOriginalTaxonomyFilterForDbValue(), getPoolId(), getPoolPath(), getPoolQuestionCount(), getPoolRefId(), getPoolTitle(), getQuestionAmount(), getSequencePosition(), getTypeFilterForDbValue(), and setId().

Referenced by cloneToDbForTestId(), and saveToDb().

408  : void
409  {
410  $next_id = $this->db->nextId('tst_rnd_quest_set_qpls');
411 
412  $this->db->insert('tst_rnd_quest_set_qpls', [
413  'def_id' => ['integer', $next_id],
414  'test_fi' => ['integer', $test_id],
415  'pool_fi' => ['integer', $this->getPoolId()],
416  'pool_ref_id' => ['integer', $this->getPoolRefId()],
417  'pool_title' => ['text', $this->getPoolTitle()],
418  'pool_path' => ['text', $this->getPoolPath()],
419  'pool_quest_count' => ['integer', $this->getPoolQuestionCount()],
420  'origin_tax_filter' => ['text', $this->getOriginalTaxonomyFilterForDbValue()],
421  'mapped_tax_filter' => ['text', $this->getMappedTaxonomyFilterForDbValue()],
422  'type_filter' => ['text', $this->getTypeFilterForDbValue()],
423  'lifecycle_filter' => ['text', $this->getLifecycleFilterForDbValue()],
424  'quest_amount' => ['integer', $this->getQuestionAmount()],
425  'sequence_pos' => ['integer', $this->getSequencePosition()]
426  ]);
427 
428  $this->setId($next_id);
429  }
getTypeFilterForDbValue()
get the question type filter for insert into the database
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ loadFromDb()

ilTestRandomQuestionSetSourcePoolDefinition::loadFromDb ( int  $id)

Definition at line 343 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $res, and initFromArray().

343  : bool
344  {
345  $res = $this->db->queryF(
346  "SELECT * FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
347  ['integer'],
348  [$id]
349  );
350 
351  while ($row = $this->db->fetchAssoc($res)) {
352  $this->initFromArray($row);
353 
354  return true;
355  }
356 
357  return false;
358  }
$res
Definition: ltiservices.php:66
+ Here is the call graph for this function:

◆ mapTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::mapTaxonomyFilter ( ilQuestionPoolDuplicatedTaxonomiesKeysMap  $taxonomies_keys_map)

Definition at line 169 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References ilQuestionPoolDuplicatedTaxonomiesKeysMap\getMappedTaxNodeId(), ilQuestionPoolDuplicatedTaxonomiesKeysMap\getMappedTaxonomyId(), and null.

169  : void
170  {
171  $this->mapped_taxonomy_filter = [];
172  foreach ($this->original_taxonomy_filter as $tax_id => $node_ids) {
173  $mapped_node_ids = [];
174 
175  $mapped_taxonomy_id = $taxonomies_keys_map->getMappedTaxonomyId($tax_id);
176  if ($mapped_taxonomy_id === null) {
177  continue;
178  }
179 
180  foreach ($node_ids as $node_id) {
181  $mapped_node_id = $taxonomies_keys_map->getMappedTaxNodeId($node_id);
182  if ($mapped_node_id !== null) {
183  $mapped_node_ids[] = $mapped_node_id;
184  }
185  }
186  $this->mapped_taxonomy_filter[] = $mapped_node_ids;
187  }
188  }
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
+ Here is the call graph for this function:

◆ saveToDb()

ilTestRandomQuestionSetSourcePoolDefinition::saveToDb ( )

Definition at line 360 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References getId(), insertDbRecord(), and updateDbRecord().

360  : void
361  {
362  if ($this->getId()) {
363  $this->updateDbRecord($this->test_obj->getTestId());
364  return;
365  }
366 
367  $this->insertDbRecord($this->test_obj->getTestId());
368  }
+ Here is the call graph for this function:

◆ setId()

ilTestRandomQuestionSetSourcePoolDefinition::setId ( int  $id)

Definition at line 59 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $id.

Referenced by initFromArray(), and insertDbRecord().

+ Here is the caller graph for this function:

◆ setLifecycleFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setLifecycleFilter ( array  $lifecycle_filter)

Definition at line 221 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $lifecycle_filter.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

221  : void
222  {
223  $this->lifecycle_filter = $lifecycle_filter;
224  }
+ Here is the caller graph for this function:

◆ setLifecycleFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setLifecycleFilterFromDbValue ( ?string  $db_value)

Definition at line 231 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by initFromArray().

232  {
233  $this->lifecycle_filter = empty($db_value) ? [] : unserialize($db_value);
234  }
+ Here is the caller graph for this function:

◆ setMappedTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setMappedTaxonomyFilter ( array  $filter = [])

set the original taxonomy filter condition

Parameters
arraytaxId => [nodeId, ...]

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

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

154  : void
155  {
156  $this->mapped_taxonomy_filter = $filter;
157  }
+ Here is the caller graph for this function:

◆ setMappedTaxonomyFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setMappedTaxonomyFilterFromDbValue ( ?string  $value)
private

Definition at line 164 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by initFromArray().

164  : void
165  {
166  $this->mapped_taxonomy_filter = empty($value) ? [] : unserialize($value);
167  }
+ Here is the caller graph for this function:

◆ setOriginalTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setOriginalTaxonomyFilter ( array  $filter = [])

Definition at line 124 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

124  : void
125  {
126  $this->original_taxonomy_filter = $filter;
127  }
+ Here is the caller graph for this function:

◆ setOriginalTaxonomyFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setOriginalTaxonomyFilterFromDbValue ( ?string  $value)
private

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

Referenced by initFromArray().

135  : void
136  {
137  // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
138  $this->original_taxonomy_filter = empty($value) ? [] : unserialize($value);
139  }
+ Here is the caller graph for this function:

◆ setPoolId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolId ( int  $pool_id)

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

References $pool_id.

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition(), and initFromArray().

+ Here is the caller graph for this function:

◆ setPoolPath()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolPath ( ?string  $pool_path)

Definition at line 99 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $pool_path.

Referenced by initFromArray().

99  : void
100  {
101  $this->pool_path = $pool_path;
102  }
+ Here is the caller graph for this function:

◆ setPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolQuestionCount ( ?int  $pool_question_count)

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

References $pool_question_count.

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition(), and initFromArray().

109  : void
110  {
111  $this->pool_question_count = $pool_question_count;
112  }
+ Here is the caller graph for this function:

◆ setPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolRefId ( ?int  $pool_ref_id)

Definition at line 84 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $pool_ref_id.

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition(), and initFromArray().

84  : void
85  {
86  $this->pool_ref_id = $pool_ref_id;
87  }
+ Here is the caller graph for this function:

◆ setPoolTitle()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolTitle ( string  $pool_title)

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

References $pool_title.

Referenced by initFromArray().

89  : void
90  {
91  $this->pool_title = $pool_title;
92  }
+ Here is the caller graph for this function:

◆ setQuestionAmount()

ilTestRandomQuestionSetSourcePoolDefinition::setQuestionAmount ( ?int  $question_amount)

◆ setSequencePosition()

ilTestRandomQuestionSetSourcePoolDefinition::setSequencePosition ( int  $sequence_position)

Definition at line 286 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $sequence_position.

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition(), and initFromArray().

286  : void
287  {
288  $this->sequence_position = $sequence_position;
289  }
+ Here is the caller graph for this function:

◆ setTypeFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setTypeFilter ( array  $type_filter = [])

Definition at line 190 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $type_filter.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

190  : void
191  {
192  $this->type_filter = $type_filter;
193  }
+ Here is the caller graph for this function:

◆ setTypeFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setTypeFilterFromDbValue ( ?string  $value)
private

get the question type filter from database value

Definition at line 211 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by initFromArray().

211  : void
212  {
213  $this->type_filter = empty($value) ? [] : unserialize($value);
214  }
+ Here is the caller graph for this function:

◆ setTypeFilterFromTypeTags()

ilTestRandomQuestionSetSourcePoolDefinition::setTypeFilterFromTypeTags ( array  $tags)

Set the type filter from a list of type tags.

Parameters
string[]$tags

Definition at line 261 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References ilObjQuestionPool\_getQuestionTypes().

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

261  : void
262  {
263  $map = [];
264  foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
265  $map[$row['type_tag']] = $row['question_type_id'];
266  }
267 
268  $this->type_filter = [];
269  foreach ($tags as $type_tag) {
270  if (isset($map[$type_tag])) {
271  $this->type_filter[] = $map[$type_tag];
272  }
273  }
274  }
static _getQuestionTypes($all_tags=false, $fixOrder=false, $withDeprecatedTypes=true)
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ updateDbRecord()

ilTestRandomQuestionSetSourcePoolDefinition::updateDbRecord ( int  $test_id)
private

Definition at line 384 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References getId(), getLifecycleFilterForDbValue(), getMappedTaxonomyFilterForDbValue(), getOriginalTaxonomyFilterForDbValue(), getPoolId(), getPoolPath(), getPoolQuestionCount(), getPoolRefId(), getPoolTitle(), getQuestionAmount(), getSequencePosition(), and getTypeFilterForDbValue().

Referenced by saveToDb().

384  : void
385  {
386  $this->db->update(
387  'tst_rnd_quest_set_qpls',
388  [
389  'test_fi' => ['integer', $test_id],
390  'pool_fi' => ['integer', $this->getPoolId()],
391  'pool_ref_id' => ['integer', $this->getPoolRefId()],
392  'pool_title' => ['text', $this->getPoolTitle()],
393  'pool_path' => ['text', $this->getPoolPath()],
394  'pool_quest_count' => ['integer', $this->getPoolQuestionCount()],
395  'origin_tax_filter' => ['text', $this->getOriginalTaxonomyFilterForDbValue()],
396  'mapped_tax_filter' => ['text', $this->getMappedTaxonomyFilterForDbValue()],
397  'type_filter' => ['text', $this->getTypeFilterForDbValue()],
398  'lifecycle_filter' => ['text', $this->getLifecycleFilterForDbValue()],
399  'quest_amount' => ['integer', $this->getQuestionAmount()],
400  'sequence_pos' => ['integer', $this->getSequencePosition()]
401  ],
402  [
403  'def_id' => ['integer', $this->getId()]
404  ]
405  );
406  }
getTypeFilterForDbValue()
get the question type filter for insert into the database
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $id

int ilTestRandomQuestionSetSourcePoolDefinition::$id = null
private

Definition at line 29 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by getId(), and setId().

◆ $lifecycle_filter

array ilTestRandomQuestionSetSourcePoolDefinition::$lifecycle_filter = []
private

◆ $mapped_taxonomy_filter

array ilTestRandomQuestionSetSourcePoolDefinition::$mapped_taxonomy_filter = []
private

◆ $original_taxonomy_filter

array ilTestRandomQuestionSetSourcePoolDefinition::$original_taxonomy_filter = []
private

◆ $pool_id

int ilTestRandomQuestionSetSourcePoolDefinition::$pool_id = null
private

Definition at line 30 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by getPoolId(), and setPoolId().

◆ $pool_path

string ilTestRandomQuestionSetSourcePoolDefinition::$pool_path = null
private

◆ $pool_question_count

int ilTestRandomQuestionSetSourcePoolDefinition::$pool_question_count = null
private

◆ $pool_ref_id

int ilTestRandomQuestionSetSourcePoolDefinition::$pool_ref_id = null
private

◆ $pool_title

string ilTestRandomQuestionSetSourcePoolDefinition::$pool_title = null
private

◆ $question_amount

int ilTestRandomQuestionSetSourcePoolDefinition::$question_amount = null
private

◆ $sequence_position

int ilTestRandomQuestionSetSourcePoolDefinition::$sequence_position = null
private

◆ $type_filter

array ilTestRandomQuestionSetSourcePoolDefinition::$type_filter = []
private

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