ILIAS  release_7 Revision v7.30-3-g800a261c036
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 457 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

References insertDbRecord().

+ Here is the call graph for this function:

◆ deleteFromDb()

ilTestRandomQuestionSetSourcePoolDefinition::deleteFromDb ( )

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

463 {
464 $this->db->manipulateF(
465 "DELETE FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
466 array('integer'),
467 array($this->getId())
468 );
469 }

References getId().

+ Here is the call graph for this function:

◆ getId()

◆ getLifecycleFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getLifecycleFilter ( )

◆ getLifecycleFilterForDbValue()

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

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

280 {
281 return empty($this->lifecycleFilter) ? null : serialize($this->lifecycleFilter);
282 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getMappedTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilter ( )

◆ getMappedTaxonomyFilterForDbValue()

ilTestRandomQuestionSetSourcePoolDefinition::getMappedTaxonomyFilterForDbValue ( )
private

get the original taxonomy filter for insert into the database

Returns
null|string serialized taxonomy filter

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

202 {
203 return empty($this->mappedTaxonomyFilter) ? null : serialize($this->mappedTaxonomyFilter);
204 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getOriginalTaxonomyFilter()

ilTestRandomQuestionSetSourcePoolDefinition::getOriginalTaxonomyFilter ( )

get the original taxonomy filter conditions

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

Definition at line 145 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 163 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

164 {
165 // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
166 return empty($this->originalTaxonomyFilter) ? null : serialize($this->originalTaxonomyFilter);
167 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolId()

◆ getPoolInfoLabel()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolInfoLabel ( ilLanguage  $lng)

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

527 {
528 $pool_path = $this->getPoolPath();
529 if (is_int($this->getPoolRefId()) && ilObject::_lookupObjId($this->getPoolRefId())) {
530 $path = new ilPathGUI();
531 $path->enableTextOnly(true);
532 $pool_path = $path->getPath(ROOT_FOLDER_ID, $this->getPoolRefId());
533 }
534
535 $poolInfoLabel = sprintf(
536 $lng->txt('tst_dynamic_question_set_source_questionpool_summary_string'),
537 $this->getPoolTitle(),
538 $pool_path,
539 $this->getPoolQuestionCount()
540 );
541
542 return $poolInfoLabel;
543 }
static _lookupObjId($a_id)
Creates a path for a start and endnode.
const ROOT_FOLDER_ID
Definition: constants.php:30
$lng

References $lng, ilObject\_lookupObjId(), getPoolPath(), getPoolRefId(), and ROOT_FOLDER_ID.

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\build().

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ getPoolPath()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolPath ( )

◆ getPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolQuestionCount ( )

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

References $poolQuestionCount.

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolRefId ( )

Definition at line 100 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 391 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 296 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

296 : array
297 {
298 $map = [];
299 foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
300 $map[$row['question_type_id']] = $row['type_tag'];
301 }
302
303 $tags = [];
304 foreach ($this->typeFilter as $type_id) {
305 if (isset($map[$type_id])) {
306 $tags[] = $map[$type_id];
307 }
308 }
309
310 return $tags;
311 }
static _getQuestionTypes($all_tags=false, $fixOrder=false, $withDeprecatedTypes=true)

References ilObjQuestionPool\_getQuestionTypes().

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

247 {
248 return empty($this->typeFilter) ? null : serialize($this->typeFilter);
249 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ initFromArray()

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

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

402 {
403 foreach ($dataArray as $field => $value) {
404 switch ($field) {
405 case 'def_id': $this->setId($value); break;
406 case 'pool_fi': $this->setPoolId($value); break;
407 case 'pool_ref_id': $this->setPoolRefId($value ? (int) $value : null); break;
408 case 'pool_title': $this->setPoolTitle($value); break;
409 case 'pool_path': $this->setPoolPath($value); break;
410 case 'pool_quest_count': $this->setPoolQuestionCount($value); break;
411 // fau: taxFilter - use new db fields
412 #case 'origin_tax_fi': $this->setOriginalFilterTaxId($value); break;
413 #case 'origin_node_fi': $this->setOriginalFilterTaxNodeId($value); break;
414 #case 'mapped_tax_fi': $this->setMappedFilterTaxId($value); break;
415 #case 'mapped_node_fi': $this->setMappedFilterTaxNodeId($value); break;
416 case 'origin_tax_filter': $this->setOriginalTaxonomyFilterFromDbValue($value); break;
417 case 'mapped_tax_filter': $this->setMappedTaxonomyFilterFromDbValue($value); break;
418 case 'type_filter': $this->setTypeFilterFromDbValue($value); break;
419 case 'lifecycle_filter': $this->setLifecycleFilterFromDbValue($value); break;
420 // fau.
421 case 'quest_amount': $this->setQuestionAmount($value); break;
422 case 'sequence_pos': $this->setSequencePosition($value); break;
423 }
424 }
425 }
setTypeFilterFromDbValue($value)
get the question type filter from database value
setOriginalTaxonomyFilterFromDbValue($value)
get the original taxonomy filter from database value
setMappedTaxonomyFilterFromDbValue($value)
get the original taxonomy filter from database value

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

Referenced by loadFromDb().

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

502 {
503 $nextId = $this->db->nextId('tst_rnd_quest_set_qpls');
504
505 $this->db->insert('tst_rnd_quest_set_qpls', array(
506 'def_id' => array('integer', $nextId),
507 'test_fi' => array('integer', $testId),
508 'pool_fi' => array('integer', $this->getPoolId()),
509 'pool_ref_id' => array('integer', $this->getPoolRefId()),
510 'pool_title' => array('text', $this->getPoolTitle()),
511 'pool_path' => array('text', $this->getPoolPath()),
512 'pool_quest_count' => array('integer', $this->getPoolQuestionCount()),
513 'origin_tax_filter' => array('text', $this->getOriginalTaxonomyFilterForDbValue()),
514 'mapped_tax_filter' => array('text', $this->getMappedTaxonomyFilterForDbValue()),
515 'type_filter' => array('text', $this->getTypeFilterForDbValue()),
516 'lifecycle_filter' => array('text', $this->getLifecycleFilterForDbValue()),
517 'quest_amount' => array('integer', $this->getQuestionAmount()),
518 'sequence_pos' => array('integer', $this->getSequencePosition())
519 ));
520
521 $this->setId($nextId);
522 }
getOriginalTaxonomyFilterForDbValue()
get the original taxonomy filter for insert into the database
getMappedTaxonomyFilterForDbValue()
get the original taxonomy filter for insert into the database
getTypeFilterForDbValue()
get the question type filter for insert into the database

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

Referenced by cloneToDbForTestId(), and saveToDb().

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

432 {
433 $res = $this->db->queryF(
434 "SELECT * FROM tst_rnd_quest_set_qpls WHERE def_id = %s",
435 array('integer'),
436 array($id)
437 );
438
439 while ($row = $this->db->fetchAssoc($res)) {
440 $this->initFromArray($row);
441
442 return true;
443 }
444
445 return false;
446 }
foreach($_POST as $key=> $value) $res

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

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

221 {
222 $this->mappedTaxonomyFilter = array();
223 foreach ($this->originalTaxonomyFilter as $taxId => $nodeIds) {
224 $mappedNodeIds = array();
225 foreach ($nodeIds as $nodeId) {
226 $mappedNodeIds[] = $taxonomiesKeysMap->getMappedTaxNodeId($nodeId);
227 }
228 $this->mappedTaxonomyFilter[$taxonomiesKeysMap->getMappedTaxonomyId($taxId)] = $mappedNodeIds;
229 }
230 }

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

+ Here is the call graph for this function:

◆ saveToDb()

ilTestRandomQuestionSetSourcePoolDefinition::saveToDb ( )

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

449 {
450 if ($this->getId()) {
451 $this->updateDbRecord($this->testOBJ->getTestId());
452 } else {
453 $this->insertDbRecord($this->testOBJ->getTestId());
454 }
455 }

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

+ Here is the call graph for this function:

◆ setId()

ilTestRandomQuestionSetSourcePoolDefinition::setId (   $id)

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

81 {
82 $this->id = $id;
83 }

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

272 {
273 $this->lifecycleFilter = $lifecycleFilter;
274 }

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

288 {
289 $this->lifecycleFilter = empty($dbValue) ? array() : unserialize($dbValue);
290 }

Referenced by initFromArray().

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

193 {
194 $this->mappedTaxonomyFilter = $filter;
195 }

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

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

211 {
212 $this->mappedTaxonomyFilter = empty($value) ? array() : unserialize($value);
213 }

Referenced by initFromArray().

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

155 {
156 $this->originalTaxonomyFilter = $filter;
157 }

Referenced by ilTestRandomQuestionSetPoolDefinitionFormGUI\applySubmit().

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

174 {
175 // TODO-RND2017: migrate to separate table for common selections by e.g. statistics
176 $this->originalTaxonomyFilter = empty($value) ? array() : unserialize($value);
177 }

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setPoolId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolId (   $poolId)

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

91 {
92 $this->poolId = $poolId;
93 }

References $poolId.

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

+ Here is the caller graph for this function:

◆ setPoolPath()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolPath (   $poolPath)

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

121 {
122 $this->poolPath = $poolPath;
123 }

References $poolPath.

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setPoolQuestionCount()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolQuestionCount (   $poolQuestionCount)

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

131 {
132 $this->poolQuestionCount = $poolQuestionCount;
133 }

References $poolQuestionCount.

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

+ Here is the caller graph for this function:

◆ setPoolRefId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolRefId ( ?int  $poolRefId)

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

105 : void
106 {
107 $this->poolRefId = $poolRefId;
108 }

References $poolRefId.

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

+ Here is the caller graph for this function:

◆ setPoolTitle()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolTitle (   $poolTitle)

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

111 {
112 $this->poolTitle = $poolTitle;
113 }

References $poolTitle.

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setQuestionAmount()

ilTestRandomQuestionSetSourcePoolDefinition::setQuestionAmount (   $questionAmount)

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

377 {
378 $this->questionAmount = $questionAmount;
379 }

References $questionAmount.

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

+ Here is the caller graph for this function:

◆ setSequencePosition()

ilTestRandomQuestionSetSourcePoolDefinition::setSequencePosition (   $sequencePosition)

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

387 {
388 $this->sequencePosition = $sequencePosition;
389 }

References $sequencePosition.

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

+ Here is the caller graph for this function:

◆ setTypeFilter()

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

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

233 {
234 $this->typeFilter = $typeFilter;
235 }

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

256 {
257 $this->typeFilter = empty($value) ? array() : unserialize($value);
258 }

Referenced by initFromArray().

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

318 {
319 $map = [];
320 foreach (ilObjQuestionPool::_getQuestionTypes(true) as $row) {
321 $map[$row['type_tag']] = $row['question_type_id'];
322 }
323
324 $this->typeFilter = [];
325 foreach ($tags as $type_tag) {
326 if (isset($map[$type_tag])) {
327 $this->typeFilter[] = $map[$type_tag];
328 }
329 }
330 }

References ilObjQuestionPool\_getQuestionTypes().

Referenced by ilObjTestXMLParser\importRandomQuestionSourcePoolDefinition().

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

475 {
476 $this->db->update(
477 'tst_rnd_quest_set_qpls',
478 array(
479 'test_fi' => array('integer', $testId),
480 'pool_fi' => array('integer', $this->getPoolId()),
481 'pool_ref_id' => array('integer', $this->getPoolRefId()),
482 'pool_title' => array('text', $this->getPoolTitle()),
483 'pool_path' => array('text', $this->getPoolPath()),
484 'pool_quest_count' => array('integer', $this->getPoolQuestionCount()),
485 'origin_tax_filter' => array('text', $this->getOriginalTaxonomyFilterForDbValue()),
486 'mapped_tax_filter' => array('text', $this->getMappedTaxonomyFilterForDbValue()),
487 'type_filter' => array('text', $this->getTypeFilterForDbValue()),
488 'lifecycle_filter' => array('text', $this->getLifecycleFilterForDbValue()),
489 'quest_amount' => array('integer', $this->getQuestionAmount()),
490 'sequence_pos' => array('integer', $this->getSequencePosition())
491 ),
492 array(
493 'def_id' => array('integer', $this->getId())
494 )
495 );
496 }

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

Referenced by saveToDb().

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

Referenced by __construct().

◆ $id

ilTestRandomQuestionSetSourcePoolDefinition::$id = null
private

Definition at line 26 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 28 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 24 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

Referenced by __construct().

◆ $typeFilter

ilTestRandomQuestionSetSourcePoolDefinition::$typeFilter = array()
private

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