ILIAS  release_8 Revision v8.24
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.

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 }

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

294 : ?string
295 {
296 return empty($this->lifecycleFilter) ? null : serialize($this->lifecycleFilter);
297 }

Referenced by insertDbRecord(), and updateDbRecord().

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

216 : ?string
217 {
218 return empty($this->mappedTaxonomyFilter) ? null : serialize($this->mappedTaxonomyFilter);
219 }

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

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 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ getPoolId()

◆ getPoolInfoLabel()

ilTestRandomQuestionSetSourcePoolDefinition::getPoolInfoLabel ( ilLanguage  $lng)

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

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 }
static _lookupObjId(int $ref_id)
Creates a path for a start and endnode.
const ROOT_FOLDER_ID
Definition: constants.php:32
$path
Definition: ltiservices.php:32
$lng

References $lng, $path, 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 150 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 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 ( )

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

References $poolTitle.

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ 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.

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)

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

261 : ?string
262 {
263 return empty($this->typeFilter) ? null : serialize($this->typeFilter);
264 }

Referenced by insertDbRecord(), and updateDbRecord().

+ Here is the caller graph for this function:

◆ initFromArray()

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

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

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':
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 }
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 491 of file class.ilTestRandomQuestionSetSourcePoolDefinition.php.

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

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

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

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 }

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

+ Here is the call graph for this function:

◆ saveToDb()

ilTestRandomQuestionSetSourcePoolDefinition::saveToDb ( )

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

439 {
440 if ($this->getId()) {
441 $this->updateDbRecord($this->testOBJ->getTestId());
442 } else {
443 $this->insertDbRecord($this->testOBJ->getTestId());
444 }
445 }

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.

96 {
97 $this->id = $id;
98 }

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.

287 {
288 $this->lifecycleFilter = $lifecycleFilter;
289 }

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.

303 {
304 $this->lifecycleFilter = empty($dbValue) ? array() : unserialize($dbValue);
305 }

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

208 {
209 $this->mappedTaxonomyFilter = $filter;
210 }

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

226 {
227 $this->mappedTaxonomyFilter = empty($value) ? array() : unserialize($value);
228 }

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

170 {
171 $this->originalTaxonomyFilter = $filter;
172 }

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

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

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setPoolId()

ilTestRandomQuestionSetSourcePoolDefinition::setPoolId (   $poolId)

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

106 {
107 $this->poolId = $poolId;
108 }

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.

136 {
137 $this->poolPath = $poolPath;
138 }

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.

146 {
147 $this->poolQuestionCount = $poolQuestionCount;
148 }

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.

120 : void
121 {
122 $this->poolRefId = $poolRefId;
123 }

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.

126 {
127 $this->poolTitle = $poolTitle;
128 }

References $poolTitle.

Referenced by initFromArray().

+ Here is the caller graph for this function:

◆ setQuestionAmount()

ilTestRandomQuestionSetSourcePoolDefinition::setQuestionAmount (   $questionAmount)

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

348 {
349 $this->questionAmount = $questionAmount;
350 }

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

358 {
359 $this->sequencePosition = $sequencePosition;
360 }

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.

248 {
249 $this->typeFilter = $typeFilter;
250 }

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.

271 {
272 $this->typeFilter = empty($value) ? array() : unserialize($value);
273 }

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

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 }

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

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 }

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