ILIAS  release_5-1 Revision 5.0.0-5477-g43f3e3fab5f
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 ()
 
 getDuplicatedTaxonomiesKeysMap ()
 

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 15 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

Constructor & Destructor Documentation

◆ __construct()

ilQuestionPoolTaxonomiesDuplicator::__construct ( )

Member Function Documentation

◆ duplicate()

ilQuestionPoolTaxonomiesDuplicator::duplicate ( )

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

91 {
92 $poolTaxonomyIds = ilObjTaxonomy::getUsageOfObject($this->getSourceObjId());
93
94 foreach($poolTaxonomyIds as $poolTaxId)
95 {
96 $this->duplicateTaxonomyFromPoolToTest($poolTaxId);
97
99 $poolTaxId, $this->duplicatedTaxonomiesKeysMap->getMappedTaxonomyId($poolTaxId)
100 );
101 }
102 }
static getUsageOfObject($a_obj_id, $a_include_titles=false)
Get usage of object.
transferAssignmentsFromOriginalToDuplicatedTaxonomy($originalTaxonomyId, $mappedTaxonomyId)

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

+ Here is the call graph for this function:

◆ duplicateTaxonomyFromPoolToTest()

ilQuestionPoolTaxonomiesDuplicator::duplicateTaxonomyFromPoolToTest (   $poolTaxonomyId)
private

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

105 {
106 $testTaxonomy = new ilObjTaxonomy();
107 $testTaxonomy->create();
108
109 $poolTaxonomy = new ilObjTaxonomy($poolTaxonomyId);
110 $poolTaxonomy->doCloneObject($testTaxonomy, null, null);
111
112 $poolTaxonomy->getTree()->readRootId();
113 $testTaxonomy->getTree()->readRootId();
114
115 $testTaxonomy->update();
116
117 ilObjTaxonomy::saveUsage( $testTaxonomy->getId(), $this->getTargetObjId() );
118
119 $this->duplicatedTaxonomiesKeysMap->addDuplicatedTaxonomy($poolTaxonomy, $testTaxonomy);
120 }
static saveUsage($a_tax_id, $a_obj_id)
Save Usage.

References ilObjTaxonomy\saveUsage().

Referenced by duplicate().

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

◆ getDuplicatedTaxonomiesKeysMap()

ilQuestionPoolTaxonomiesDuplicator::getDuplicatedTaxonomiesKeysMap ( )

◆ getQuestionIdMapping()

ilQuestionPoolTaxonomiesDuplicator::getQuestionIdMapping ( )

◆ getSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjId ( )

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

References $sourceObjId.

Referenced by duplicate(), and transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjType ( )

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

References $sourceObjType.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjId ( )

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

References $targetObjId.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjType ( )

Definition at line 70 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 80 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

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

References $questionIdMapping.

◆ setSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjId (   $sourceObjId)

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

41 {
42 $this->sourceObjId = $sourceObjId;
43 }

References $sourceObjId.

◆ setSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjType (   $sourceObjType)

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

56 {
57 $this->sourceObjType = $sourceObjType;
58 }

References $sourceObjType.

◆ setTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjId (   $targetObjId)

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

66 {
67 $this->targetObjId = $targetObjId;
68 }

References $targetObjId.

◆ setTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjType (   $targetObjType)

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

76 {
77 $this->targetObjType = $targetObjType;
78 }

References $targetObjType.

◆ transferAssignmentsFromOriginalToDuplicatedTaxonomy()

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

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

123 {
124 $originalTaxAssignment = new ilTaxNodeAssignment($this->getSourceObjType(), $this->getSourceObjId(), 'quest', $originalTaxonomyId);
125
126 $duplicatedTaxAssignment = new ilTaxNodeAssignment($this->getTargetObjType(), $this->getTargetObjId(), 'quest', $mappedTaxonomyId);
127
128 foreach($this->getQuestionIdMapping() as $originalQuestionId => $duplicatedQuestionId)
129 {
130 $assignments = $originalTaxAssignment->getAssignmentsOfItem($originalQuestionId);
131
132 foreach($assignments as $assData)
133 {
134 $mappedNodeId = $this->duplicatedTaxonomiesKeysMap->getMappedTaxNodeId($assData['node_id']);
135
136 $duplicatedTaxAssignment->addAssignment($mappedNodeId, $duplicatedQuestionId);
137 }
138 }
139 }
Taxonomy node <-> item assignment.

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

Referenced by getSourceObjId(), and setSourceObjId().

◆ $sourceObjType

ilQuestionPoolTaxonomiesDuplicator::$sourceObjType = null
private

◆ $targetObjId

ilQuestionPoolTaxonomiesDuplicator::$targetObjId = null
private

Definition at line 21 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: