ILIAS  release_8 Revision v8.23
ilTestRandomQuestionSetSourcePoolDefinition Class Reference
+ Collaboration diagram for ilTestRandomQuestionSetSourcePoolDefinition:

Public Member Functions

 __construct (ilDBInterface $db, ilObjTest $testOBJ)
 
 setId ($id)
 
 getId ()
 
 setPoolId ($poolId)
 
 getPoolId ()
 
 getPoolRefId ()
 
 setPoolRefId (?int $poolRefId)
 
 setPoolTitle ($poolTitle)
 
 getPoolTitle ()
 
 setPoolPath ($poolPath)
 
 getPoolPath ()
 
 setPoolQuestionCount ($poolQuestionCount)
 
 getPoolQuestionCount ()
 
 getOriginalTaxonomyFilter ()
 get the original taxonomy filter conditions More...
 
 setOriginalTaxonomyFilter ($filter=array())
 set the original taxonomy filter condition More...
 
 getMappedTaxonomyFilter ()
 get the mapped taxonomy filter conditions More...
 
 setMappedTaxonomyFilter ($filter=array())
 set the original taxonomy filter condition More...
 
 mapTaxonomyFilter (ilQuestionPoolDuplicatedTaxonomiesKeysMap $taxonomiesKeysMap)
 set the mapped taxonomy filter from original by applying a keys map More...
 
 setTypeFilter ($typeFilter=array())
 
 getTypeFilter ()
 
 getLifecycleFilter ()
 
 setLifecycleFilter ($lifecycleFilter)
 
 getLifecycleFilterForDbValue ()
 
 setLifecycleFilterFromDbValue ($dbValue)
 
 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 ($questionAmount)
 
 getQuestionAmount ()
 
 setSequencePosition ($sequencePosition)
 
 getSequencePosition ()
 
 initFromArray ($dataArray)
 
 loadFromDb ($id)
 
 saveToDb ()
 
 cloneToDbForTestId ($testId)
 
 deleteFromDb ()
 
 getPoolInfoLabel (ilLanguage $lng)
 

Protected Attributes

 $db = null
 
 $testOBJ = null
 

Private Member Functions

 getOriginalTaxonomyFilterForDbValue ()
 get the original taxonomy filter for insert into the database More...
 
 setOriginalTaxonomyFilterFromDbValue ($value)
 get the original taxonomy filter from database value More...
 
 getMappedTaxonomyFilterForDbValue ()
 get the original taxonomy filter for insert into the database More...
 
 setMappedTaxonomyFilterFromDbValue ($value)
 get the original taxonomy filter from database value More...
 
 getTypeFilterForDbValue ()
 get the question type filter for insert into the database More...
 
 setTypeFilterFromDbValue ($value)
 get the question type filter from database value More...
 
 updateDbRecord ($testId)
 
 insertDbRecord ($testId)
 

Private Attributes

 $id = null
 
 $poolId = null
 
 $poolRefId = null
 
 $poolTitle = null
 
 $poolPath = null
 
 $poolQuestionCount = null
 
 $originalTaxonomyFilter = array()
 
 $mappedTaxonomyFilter = array()
 
 $typeFilter = array()
 
 $lifecycleFilter = array()
 
 $questionAmount = null
 
 $sequencePosition = null
 

Detailed Description

Constructor & Destructor Documentation

◆ __construct()

ilTestRandomQuestionSetSourcePoolDefinition::__construct ( ilDBInterface  $db,
ilObjTest  $testOBJ 
)

Member Function Documentation

◆ cloneToDbForTestId()

ilTestRandomQuestionSetSourcePoolDefinition::cloneToDbForTestId (   $testId)

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

References insertDbRecord().

+ Here is the call graph for this function:

◆ deleteFromDb()

ilTestRandomQuestionSetSourcePoolDefinition::deleteFromDb ( )

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

References getId().

453  {
454  $this->db->manipulateF(
455  "DELETE FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
456  array('integer'),
457  array($this->getId())
458  );
459  }
+ Here is the call graph for this function:

◆ getId()

◆ getLifecycleFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getLifecycleFilter ( )

◆ getLifecycleFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getLifecycleFilterForDbValue ( )
Returns
null|string serialized lifecycle filter

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

Referenced by insertDbRecord(), and updateDbRecord().

294  : ?string
295  {
296  return empty($this->lifecycleFilter) ? null : serialize($this->lifecycleFilter);
297  }
+ Here is the caller graph for this function:

◆ getMappedTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilter ( )

get the mapped taxonomy filter conditions

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

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

References $mappedTaxonomyFilter.

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

+ Here is the caller graph for this function:

◆ getMappedTaxonomyFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilterForDbValue ( )
private

get the original taxonomy filter for insert into the database

Returns
null|string serialized taxonomy filter

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

Referenced by insertDbRecord(), and updateDbRecord().

216  : ?string
217  {
218  return empty($this->mappedTaxonomyFilter) ? null : serialize($this->mappedTaxonomyFilter);
219  }
+ Here is the caller graph for this function:

◆ getOriginalTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getOriginalTaxonomyFilter ( )

get the original taxonomy filter conditions

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

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

References $originalTaxonomyFilter.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\build().

+ Here is the caller graph for this function:

◆ getOriginalTaxonomyFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getOriginalTaxonomyFilterForDbValue ( )
private

get the original taxonomy filter for insert into the database

Returns
null|string serialized taxonomy filter

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

Referenced by insertDbRecord(), and updateDbRecord().

178  : ?string
179  {
180  // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
181  return empty($this->originalTaxonomyFilter) ? null : serialize($this->originalTaxonomyFilter);
182  }
+ Here is the caller graph for this function:

◆ getPoolId()

◆ getPoolInfoLabel()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolInfoLabel ( ilLanguage  $lng)

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

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

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\build().

516  : string
517  {
518  $pool_path = $this->getPoolPath();
519  if (is_int($this->getPoolRefId()) && ilObject::_lookupObjId($this->getPoolRefId())) {
520  $path = new ilPathGUI();
521  $path->enableTextOnly(true);
522  $pool_path = $path->getPath(ROOT_FOLDER_ID, (int) $this->getPoolRefId());
523  }
524 
525  $poolInfoLabel = sprintf(
526  $lng->txt('tst_dynamic_question_set_source_questionpool_summary_string'),
527  $this->getPoolTitle(),
528  $pool_path,
529  $this->getPoolQuestionCount()
530  );
531 
532  return $poolInfoLabel;
533  }
Creates a path for a start and endnode.
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:32
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 140 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References $poolPath.

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

+ Here is the caller graph for this function:

◆ getPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolQuestionCount ( )

◆ getPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolRefId ( )

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

References $poolRefId.

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

+ Here is the caller graph for this function:

◆ getPoolTitle()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolTitle ( )

◆ getQuestionAmount()

◆ getSequencePosition()

ilTestRandomQuestionSetSourcePoolDefinition::getSequencePosition ( )

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

References $sequencePosition.

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 311 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References ilObjQuestionPool\_getQuestionTypes().

311  : array
312  {
313  $map = [];
314  foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
315  $map[$row['question_type_id']] = $row['type_tag'];
316  }
317 
318  $tags = [];
319  foreach ($this->typeFilter as $type_id) {
320  if (isset($map[$type_id])) {
321  $tags[] = $map[$type_id];
322  }
323  }
324 
325  return $tags;
326  }
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

Returns
null|string serialized type filter

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

Referenced by insertDbRecord(), and updateDbRecord().

261  : ?string
262  {
263  return empty($this->typeFilter) ? null : serialize($this->typeFilter);
264  }
+ Here is the caller graph for this function:

◆ initFromArray()

ilTestRandomQuestionSetSourcePoolDefinition::initFromArray (   $dataArray)
Parameters
array$dataArray

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

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

Referenced by loadFromDb().

373  {
374  foreach ($dataArray as $field => $value) {
375  switch ($field) {
376  case 'def_id':
377  $this->setId($value);
378  break;
379  case 'pool_fi':
380  $this->setPoolId($value);
381  break;
382  case 'pool_ref_id':
383  $this->setPoolRefId($value ? (int) $value : null);
384  break;
385  case 'pool_title':
386  $this->setPoolTitle($value);
387  break;
388  case 'pool_path':
389  $this->setPoolPath($value);
390  break;
391  case 'pool_quest_count':
392  $this->setPoolQuestionCount($value);
393  break;
394  case 'origin_tax_filter':
396  break;
397  case 'mapped_tax_filter':
398  $this->setMappedTaxonomyFilterFromDbValue($value);
399  break;
400  case 'type_filter':
401  $this->setTypeFilterFromDbValue($value);
402  break;
403  case 'lifecycle_filter':
404  $this->setLifecycleFilterFromDbValue($value);
405  break;
406  // fau.
407  case 'quest_amount':
408  $this->setQuestionAmount($value);
409  break;
410  case 'sequence_pos':
411  $this->setSequencePosition($value);
412  break;
413  }
414  }
415  }
setOriginalTaxonomyFilterFromDbValue($value)
get the original taxonomy filter from database value
setMappedTaxonomyFilterFromDbValue($value)
get the original taxonomy filter from database value
setTypeFilterFromDbValue($value)
get the question type filter from database value
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ insertDbRecord()

ilTestRandomQuestionSetSourcePoolDefinition::insertDbRecord (   $testId)
private
Parameters
$testId

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

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

Referenced by cloneToDbForTestId(), and saveToDb().

492  {
493  $nextId = $this->db->nextId('tst_rnd_quest_set_qpls');
494 
495  $this->db->insert('tst_rnd_quest_set_qpls', array(
496  'def_id' => array('integer', $nextId),
497  'test_fi' => array('integer', $testId),
498  'pool_fi' => array('integer', $this->getPoolId()),
499  'pool_ref_id' => array('integer', $this->getPoolRefId()),
500  'pool_title' => array('text', $this->getPoolTitle()),
501  'pool_path' => array('text', $this->getPoolPath()),
502  'pool_quest_count' => array('integer', $this->getPoolQuestionCount()),
503  'origin_tax_filter' => array('text', $this->getOriginalTaxonomyFilterForDbValue()),
504  'mapped_tax_filter' => array('text', $this->getMappedTaxonomyFilterForDbValue()),
505  'type_filter' => array('text', $this->getTypeFilterForDbValue()),
506  'lifecycle_filter' => array('text', $this->getLifecycleFilterForDbValue()),
507  'quest_amount' => array('integer', $this->getQuestionAmount()),
508  'sequence_pos' => array('integer', $this->getSequencePosition())
509  ));
510 
511  $this->setId($nextId);
512  }
getOriginalTaxonomyFilterForDbValue()
get the original taxonomy filter for insert into the database
getTypeFilterForDbValue()
get the question type filter for insert into the database
getMappedTaxonomyFilterForDbValue()
get the original taxonomy 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 (   $id)
Parameters
integer$poolId
Returns
boolean

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

References $id, $res, and initFromArray().

421  : bool
422  {
423  $res = $this->db->queryF(
424  "SELECT * FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
425  array('integer'),
426  array($id)
427  );
428 
429  while ($row = $this->db->fetchAssoc($res)) {
430  $this->initFromArray($row);
431 
432  return true;
433  }
434 
435  return false;
436  }
$res
Definition: ltiservices.php:69
+ Here is the call graph for this function:

◆ mapTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::mapTaxonomyFilter ( ilQuestionPoolDuplicatedTaxonomiesKeysMap  $taxonomiesKeysMap)

set the mapped taxonomy filter from original by applying a keys map

Parameters
ilQuestionPoolDuplicatedTaxonomiesKeysMap$taxonomiesKeysMap

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

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

236  {
237  $this->mappedTaxonomyFilter = array();
238  foreach ($this->originalTaxonomyFilter as $taxId => $nodeIds) {
239  $mappedNodeIds = array();
240  foreach ($nodeIds as $nodeId) {
241  $mappedNodeIds[] = $taxonomiesKeysMap->getMappedTaxNodeId($nodeId);
242  }
243  $this->mappedTaxonomyFilter[$taxonomiesKeysMap->getMappedTaxonomyId($taxId)] = $mappedNodeIds;
244  }
245  }
+ Here is the call graph for this function:

◆ saveToDb()

ilTestRandomQuestionSetSourcePoolDefinition::saveToDb ( )

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

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

+ Here is the call graph for this function:

◆ setId()

ilTestRandomQuestionSetSourcePoolDefinition::setId (   $id)

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

References $id.

Referenced by initFromArray(), and insertDbRecord().

+ Here is the caller graph for this function:

◆ setLifecycleFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setLifecycleFilter (   $lifecycleFilter)
Parameters
array$lifecycleFilter

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

References $lifecycleFilter.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

+ Here is the caller graph for this function:

◆ setLifecycleFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setLifecycleFilterFromDbValue (   $dbValue)
Parameters
null|stringserialized lifecycle filter

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

Referenced by initFromArray().

303  {
304  $this->lifecycleFilter = empty($dbValue) ? array() : unserialize($dbValue);
305  }
+ Here is the caller graph for this function:

◆ setMappedTaxonomyFilter()

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

set the original taxonomy filter condition

Parameters
arraytaxId => [nodeId, ...]

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

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

208  {
209  $this->mappedTaxonomyFilter = $filter;
210  }
+ Here is the caller graph for this function:

◆ setMappedTaxonomyFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setMappedTaxonomyFilterFromDbValue (   $value)
private

get the original taxonomy filter from database value

Parameters
null|stringserialized taxonomy filter

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

Referenced by initFromArray().

226  {
227  $this->mappedTaxonomyFilter = empty($value) ? array() : unserialize($value);
228  }
+ Here is the caller graph for this function:

◆ setOriginalTaxonomyFilter()

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

set the original taxonomy filter condition

Parameters
arraytaxId => [nodeId, ...]

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

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

170  {
171  $this->originalTaxonomyFilter = $filter;
172  }
+ Here is the caller graph for this function:

◆ setOriginalTaxonomyFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setOriginalTaxonomyFilterFromDbValue (   $value)
private

get the original taxonomy filter from database value

Parameters
null|stringserialized taxonomy filter

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

Referenced by initFromArray().

189  {
190  // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
191  $this->originalTaxonomyFilter = empty($value) ? array() : unserialize($value);
192  }
+ Here is the caller graph for this function:

◆ setPoolId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolId (   $poolId)

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

References $poolId.

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

+ Here is the caller graph for this function:

◆ setPoolPath()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolPath (   $poolPath)

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

References $poolPath.

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolQuestionCount (   $poolQuestionCount)

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

References $poolQuestionCount.

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

+ Here is the caller graph for this function:

◆ setPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolRefId ( ?int  $poolRefId)

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

References $poolRefId.

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

+ Here is the caller graph for this function:

◆ setPoolTitle()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolTitle (   $poolTitle)

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

References $poolTitle.

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setQuestionAmount()

ilTestRandomQuestionSetSourcePoolDefinition::setQuestionAmount (   $questionAmount)

◆ setSequencePosition()

ilTestRandomQuestionSetSourcePoolDefinition::setSequencePosition (   $sequencePosition)

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

References $sequencePosition.

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

+ Here is the caller graph for this function:

◆ setTypeFilter()

ilTestRandomQuestionSetSourcePoolDefinition::setTypeFilter (   $typeFilter = array())

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

References $typeFilter.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

+ Here is the caller graph for this function:

◆ setTypeFilterFromDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::setTypeFilterFromDbValue (   $value)
private

get the question type filter from database value

Parameters
null|stringserialized type filter

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

Referenced by initFromArray().

271  {
272  $this->typeFilter = empty($value) ? array() : unserialize($value);
273  }
+ 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 332 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References ilObjQuestionPool\_getQuestionTypes().

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

333  {
334  $map = [];
335  foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
336  $map[$row['type_tag']] = $row['question_type_id'];
337  }
338 
339  $this->typeFilter = [];
340  foreach ($tags as $type_tag) {
341  if (isset($map[$type_tag])) {
342  $this->typeFilter[] = $map[$type_tag];
343  }
344  }
345  }
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 (   $testId)
private
Parameters
$testId

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

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

Referenced by saveToDb().

465  {
466  $this->db->update(
467  'tst_rnd_quest_set_qpls',
468  array(
469  'test_fi' => array('integer', $testId),
470  'pool_fi' => array('integer', $this->getPoolId()),
471  'pool_ref_id' => array('integer', $this->getPoolRefId()),
472  'pool_title' => array('text', $this->getPoolTitle()),
473  'pool_path' => array('text', $this->getPoolPath()),
474  'pool_quest_count' => array('integer', $this->getPoolQuestionCount()),
475  'origin_tax_filter' => array('text', $this->getOriginalTaxonomyFilterForDbValue()),
476  'mapped_tax_filter' => array('text', $this->getMappedTaxonomyFilterForDbValue()),
477  'type_filter' => array('text', $this->getTypeFilterForDbValue()),
478  'lifecycle_filter' => array('text', $this->getLifecycleFilterForDbValue()),
479  'quest_amount' => array('integer', $this->getQuestionAmount()),
480  'sequence_pos' => array('integer', $this->getSequencePosition())
481  ),
482  array(
483  'def_id' => array('integer', $this->getId())
484  )
485  );
486  }
getOriginalTaxonomyFilterForDbValue()
get the original taxonomy filter for insert into the database
getTypeFilterForDbValue()
get the question type filter for insert into the database
getMappedTaxonomyFilterForDbValue()
get the original taxonomy filter for insert into the database
+ Here is the call graph for this function:
+ Here is the caller graph for this function:

Field Documentation

◆ $db

ilTestRandomQuestionSetSourcePoolDefinition::$db = null
protected

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

Referenced by __construct().

◆ $id

ilTestRandomQuestionSetSourcePoolDefinition::$id = null
private

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

Referenced by getId(), loadFromDb(), and setId().

◆ $lifecycleFilter

ilTestRandomQuestionSetSourcePoolDefinition::$lifecycleFilter = array()
private

◆ $mappedTaxonomyFilter

ilTestRandomQuestionSetSourcePoolDefinition::$mappedTaxonomyFilter = array()
private

◆ $originalTaxonomyFilter

ilTestRandomQuestionSetSourcePoolDefinition::$originalTaxonomyFilter = array()
private

◆ $poolId

ilTestRandomQuestionSetSourcePoolDefinition::$poolId = null
private

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

Referenced by getPoolId(), and setPoolId().

◆ $poolPath

ilTestRandomQuestionSetSourcePoolDefinition::$poolPath = null
private

◆ $poolQuestionCount

ilTestRandomQuestionSetSourcePoolDefinition::$poolQuestionCount = null
private

◆ $poolRefId

ilTestRandomQuestionSetSourcePoolDefinition::$poolRefId = null
private

◆ $poolTitle

ilTestRandomQuestionSetSourcePoolDefinition::$poolTitle = null
private

◆ $questionAmount

ilTestRandomQuestionSetSourcePoolDefinition::$questionAmount = null
private

◆ $sequencePosition

ilTestRandomQuestionSetSourcePoolDefinition::$sequencePosition = null
private

◆ $testOBJ

ilTestRandomQuestionSetSourcePoolDefinition::$testOBJ = null
protected

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

Referenced by __construct().

◆ $typeFilter

ilTestRandomQuestionSetSourcePoolDefinition::$typeFilter = array()
private

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