ILIAS  release_8 Revision v8.24
ilQuestionPoolTaxonomiesDuplicator Class Reference
+ Collaboration diagram for ilQuestionPoolTaxonomiesDuplicator:

Public Member Functions

 __construct ()
 
 setSourceObjId ($sourceObjId)
 
 getSourceObjId ()
 
 getSourceObjType ()
 
 setSourceObjType ($sourceObjType)
 
 getTargetObjId ()
 
 setTargetObjId ($targetObjId)
 
 getTargetObjType ()
 
 setTargetObjType ($targetObjType)
 
 setQuestionIdMapping ($questionIdMapping)
 
 getQuestionIdMapping ()
 
 duplicate ($poolTaxonomyIds)
 
 getDuplicatedTaxonomiesKeysMap ()
 
 getAllTaxonomiesForSourceObject ()
 

Private Member Functions

 duplicateTaxonomyFromPoolToTest ($poolTaxonomyId)
 
 transferAssignmentsFromOriginalToDuplicatedTaxonomy ($originalTaxonomyId, $mappedTaxonomyId)
 

Private Attributes

 $sourceObjId = null
 
 $sourceObjType = null
 
 $targetObjId = null
 
 $targetObjType = null
 
 $questionIdMapping = null
 
 $duplicatedTaxonomiesKeysMap = null
 

Detailed Description

Definition at line 27 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

Constructor & Destructor Documentation

◆ __construct()

ilQuestionPoolTaxonomiesDuplicator::__construct ( )

Member Function Documentation

◆ duplicate()

ilQuestionPoolTaxonomiesDuplicator::duplicate (   $poolTaxonomyIds)

Definition at line 102 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

102 : void
103 {
104 foreach ($poolTaxonomyIds as $poolTaxId) {
105 $this->duplicateTaxonomyFromPoolToTest($poolTaxId);
106
108 $poolTaxId,
109 $this->duplicatedTaxonomiesKeysMap->getMappedTaxonomyId($poolTaxId)
110 );
111 }
112 }
transferAssignmentsFromOriginalToDuplicatedTaxonomy($originalTaxonomyId, $mappedTaxonomyId)

References duplicateTaxonomyFromPoolToTest(), and transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the call graph for this function:

◆ duplicateTaxonomyFromPoolToTest()

ilQuestionPoolTaxonomiesDuplicator::duplicateTaxonomyFromPoolToTest (   $poolTaxonomyId)
private

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

114 : void
115 {
116 $poolTaxonomy = new ilObjTaxonomy($poolTaxonomyId);
117 $testTaxonomy = new ilObjTaxonomy();
118 $testTaxonomy->create();
119 $testTaxonomy->setTitle($poolTaxonomy->getTitle());
120 $testTaxonomy->setDescription($poolTaxonomy->getDescription());
121 $testTaxonomy->setSortingMode($poolTaxonomy->getSortingMode());
122
123 $this->node_mapping = array();
124
125 $poolTaxonomy->cloneNodes(
126 $testTaxonomy,
127 $testTaxonomy->getTree()->readRootId(),
128 $poolTaxonomy->getTree()->readRootId()
129 );
130
131 $testTaxonomy->update();
132
133 ilObjTaxonomy::saveUsage($testTaxonomy->getId(), $this->getTargetObjId());
134
135 $this->duplicatedTaxonomiesKeysMap->addDuplicatedTaxonomy($poolTaxonomy, $testTaxonomy);
136 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
static saveUsage(int $a_tax_id, int $a_obj_id)

References ilObjTaxonomy\saveUsage().

Referenced by duplicate().

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

◆ getAllTaxonomiesForSourceObject()

ilQuestionPoolTaxonomiesDuplicator::getAllTaxonomiesForSourceObject ( )

Definition at line 163 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

163 : array
164 {
166 }
static getUsageOfObject(int $a_obj_id, bool $a_include_titles=false)

References getSourceObjId(), and ilObjTaxonomy\getUsageOfObject().

+ Here is the call graph for this function:

◆ getDuplicatedTaxonomiesKeysMap()

◆ getQuestionIdMapping()

ilQuestionPoolTaxonomiesDuplicator::getQuestionIdMapping ( )

◆ getSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjId ( )

◆ getSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjType ( )

Definition at line 62 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

References $sourceObjType.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjId ( )

Definition at line 72 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

References $targetObjId.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjType ( )

Definition at line 82 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

References $targetObjType.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ setQuestionIdMapping()

ilQuestionPoolTaxonomiesDuplicator::setQuestionIdMapping (   $questionIdMapping)

Definition at line 92 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

92 : void
93 {
94 $this->questionIdMapping = $questionIdMapping;
95 }

References $questionIdMapping.

◆ setSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjId (   $sourceObjId)

Definition at line 52 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

52 : void
53 {
54 $this->sourceObjId = $sourceObjId;
55 }

References $sourceObjId.

◆ setSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjType (   $sourceObjType)

Definition at line 67 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

67 : void
68 {
69 $this->sourceObjType = $sourceObjType;
70 }

References $sourceObjType.

◆ setTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjId (   $targetObjId)

Definition at line 77 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

77 : void
78 {
79 $this->targetObjId = $targetObjId;
80 }

References $targetObjId.

◆ setTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjType (   $targetObjType)

Definition at line 87 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

87 : void
88 {
89 $this->targetObjType = $targetObjType;
90 }

References $targetObjType.

◆ transferAssignmentsFromOriginalToDuplicatedTaxonomy()

ilQuestionPoolTaxonomiesDuplicator::transferAssignmentsFromOriginalToDuplicatedTaxonomy (   $originalTaxonomyId,
  $mappedTaxonomyId 
)
private

Definition at line 138 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

138 : void
139 {
140 $originalTaxAssignment = new ilTaxNodeAssignment($this->getSourceObjType(), $this->getSourceObjId(), 'quest', $originalTaxonomyId);
141
142 $duplicatedTaxAssignment = new ilTaxNodeAssignment($this->getTargetObjType(), $this->getTargetObjId(), 'quest', $mappedTaxonomyId);
143
144 foreach ($this->getQuestionIdMapping() as $originalQuestionId => $duplicatedQuestionId) {
145 $assignments = $originalTaxAssignment->getAssignmentsOfItem($originalQuestionId);
146
147 foreach ($assignments as $assData) {
148 $mappedNodeId = $this->duplicatedTaxonomiesKeysMap->getMappedTaxNodeId($assData['node_id']);
149
150 $duplicatedTaxAssignment->addAssignment($mappedNodeId, $duplicatedQuestionId);
151 }
152 }
153 }
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...

References getQuestionIdMapping(), getSourceObjId(), getSourceObjType(), getTargetObjId(), and getTargetObjType().

Referenced by duplicate().

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

Field Documentation

◆ $duplicatedTaxonomiesKeysMap

ilQuestionPoolTaxonomiesDuplicator::$duplicatedTaxonomiesKeysMap = null
private

◆ $questionIdMapping

ilQuestionPoolTaxonomiesDuplicator::$questionIdMapping = null
private

◆ $sourceObjId

ilQuestionPoolTaxonomiesDuplicator::$sourceObjId = null
private

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

Referenced by getSourceObjId(), and setSourceObjId().

◆ $sourceObjType

ilQuestionPoolTaxonomiesDuplicator::$sourceObjType = null
private

◆ $targetObjId

ilQuestionPoolTaxonomiesDuplicator::$targetObjId = null
private

Definition at line 33 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

Referenced by getTargetObjId(), and setTargetObjId().

◆ $targetObjType

ilQuestionPoolTaxonomiesDuplicator::$targetObjType = null
private

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