ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilQuestionPoolTaxonomiesDuplicator Class Reference
+ Collaboration diagram for ilQuestionPoolTaxonomiesDuplicator:

Public Member Functions

 __construct ()
 
 setSourceObjId (int $source_obj_id)
 
 getSourceObjId ()
 
 getSourceObjType ()
 
 setSourceObjType (string $source_obj_type)
 
 getTargetObjId ()
 
 setTargetObjId (int $target_obj_id)
 
 getTargetObjType ()
 
 setTargetObjType (string $target_obj_type)
 
 setQuestionIdMapping (array $question_id_mapping)
 
 getQuestionIdMapping ()
 
 duplicate (array $pool_taxonomy_ids)
 
 getDuplicatedTaxonomiesKeysMap ()
 
 getAllTaxonomiesForSourceObject ()
 

Private Member Functions

 duplicateTaxonomyFromPoolToTest (int $pool_taxonomy_id)
 
 transferAssignmentsFromOriginalToDuplicatedTaxonomy (int $original_taxonomy_id, int $mapped_taxonomy_id)
 

Private Attributes

int $source_obj_id = null
 
string $source_obj_type = null
 
int $target_obj_id = null
 
string $target_obj_type = null
 
array $question_id_mapping = []
 
ilQuestionPoolDuplicatedTaxonomiesKeysMap $duplicated_taxonomies_keys_map
 

Detailed Description

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

Constructor & Destructor Documentation

◆ __construct()

ilQuestionPoolTaxonomiesDuplicator::__construct ( )

Member Function Documentation

◆ duplicate()

ilQuestionPoolTaxonomiesDuplicator::duplicate ( array  $pool_taxonomy_ids)
Parameters
array<int>$pool_taxonomy_ids

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

109 : void
110 {
111 foreach ($pool_taxonomy_ids as $pool_tax_id) {
112 $this->duplicateTaxonomyFromPoolToTest($pool_tax_id);
113
115 $pool_tax_id,
116 $this->duplicated_taxonomies_keys_map->getMappedTaxonomyId($pool_tax_id)
117 );
118 }
119 }
transferAssignmentsFromOriginalToDuplicatedTaxonomy(int $original_taxonomy_id, int $mapped_taxonomy_id)

References duplicateTaxonomyFromPoolToTest(), and transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the call graph for this function:

◆ duplicateTaxonomyFromPoolToTest()

ilQuestionPoolTaxonomiesDuplicator::duplicateTaxonomyFromPoolToTest ( int  $pool_taxonomy_id)
private

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

121 : void
122 {
123 $pool_taxonomy = new ilObjTaxonomy($pool_taxonomy_id);
124 $test_taxonomy = new ilObjTaxonomy();
125 $test_taxonomy->create();
126 $test_taxonomy->setTitle($pool_taxonomy->getTitle());
127 $test_taxonomy->setDescription($pool_taxonomy->getDescription());
128 $test_taxonomy->setSortingMode($pool_taxonomy->getSortingMode());
129
130 $pool_taxonomy->cloneNodes(
131 $test_taxonomy,
132 $test_taxonomy->getTree()->readRootId(),
133 $pool_taxonomy->getTree()->readRootId()
134 );
135
136 $test_taxonomy->update();
137
138 ilObjTaxonomy::saveUsage($test_taxonomy->getId(), $this->getTargetObjId());
139
140 $this->duplicated_taxonomies_keys_map->addDuplicatedTaxonomy($pool_taxonomy, $test_taxonomy);
141 }
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 168 of file class.ilQuestionPoolTaxonomiesDuplicator.php.

168 : array
169 {
171 }
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()

ilQuestionPoolTaxonomiesDuplicator::getDuplicatedTaxonomiesKeysMap ( )

◆ getQuestionIdMapping()

ilQuestionPoolTaxonomiesDuplicator::getQuestionIdMapping ( )
Returns
array<int>

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

References $question_id_mapping.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjId ( )

◆ getSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::getSourceObjType ( )

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

References $source_obj_type.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjId ( )

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

References $target_obj_id.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ getTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::getTargetObjType ( )

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

References $target_obj_type.

Referenced by transferAssignmentsFromOriginalToDuplicatedTaxonomy().

+ Here is the caller graph for this function:

◆ setQuestionIdMapping()

ilQuestionPoolTaxonomiesDuplicator::setQuestionIdMapping ( array  $question_id_mapping)
Parameters
array<int>$question_id_mapping

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

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

References $question_id_mapping.

◆ setSourceObjId()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjId ( int  $source_obj_id)

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

49 : void
50 {
51 $this->source_obj_id = $source_obj_id;
52 }

References $source_obj_id.

◆ setSourceObjType()

ilQuestionPoolTaxonomiesDuplicator::setSourceObjType ( string  $source_obj_type)

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

64 : void
65 {
66 $this->source_obj_type = $source_obj_type;
67 }

References $source_obj_type.

◆ setTargetObjId()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjId ( int  $target_obj_id)

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

74 : void
75 {
76 $this->target_obj_id = $target_obj_id;
77 }

References $target_obj_id.

◆ setTargetObjType()

ilQuestionPoolTaxonomiesDuplicator::setTargetObjType ( string  $target_obj_type)

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

84 : void
85 {
86 $this->target_obj_type = $target_obj_type;
87 }

References $target_obj_type.

◆ transferAssignmentsFromOriginalToDuplicatedTaxonomy()

ilQuestionPoolTaxonomiesDuplicator::transferAssignmentsFromOriginalToDuplicatedTaxonomy ( int  $original_taxonomy_id,
int  $mapped_taxonomy_id 
)
private

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

143 : void
144 {
145 $original_tax_assignment = new ilTaxNodeAssignment($this->getSourceObjType(), $this->getSourceObjId(), 'quest', $original_taxonomy_id);
146
147 $duplicate_tax_assignment = new ilTaxNodeAssignment($this->getTargetObjType(), $this->getTargetObjId(), 'quest', $mapped_taxonomy_id);
148
149 foreach ($this->getQuestionIdMapping() as $original_question_id => $duplicated_question_id) {
150 $assignments = $original_tax_assignment->getAssignmentsOfItem($original_question_id);
151
152 foreach ($assignments as $ass_data) {
153 $mapped_node_id = $this->duplicated_taxonomies_keys_map->getMappedTaxNodeId($ass_data['node_id']);
154
155 $duplicate_tax_assignment->addAssignment($mapped_node_id, $duplicated_question_id);
156 }
157 }
158 }
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

◆ $duplicated_taxonomies_keys_map

ilQuestionPoolDuplicatedTaxonomiesKeysMap ilQuestionPoolTaxonomiesDuplicator::$duplicated_taxonomies_keys_map
private

◆ $question_id_mapping

array ilQuestionPoolTaxonomiesDuplicator::$question_id_mapping = []
private

◆ $source_obj_id

int ilQuestionPoolTaxonomiesDuplicator::$source_obj_id = null
private

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

Referenced by getSourceObjId(), and setSourceObjId().

◆ $source_obj_type

string ilQuestionPoolTaxonomiesDuplicator::$source_obj_type = null
private

◆ $target_obj_id

int ilQuestionPoolTaxonomiesDuplicator::$target_obj_id = null
private

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

Referenced by getTargetObjId(), and setTargetObjId().

◆ $target_obj_type

string ilQuestionPoolTaxonomiesDuplicator::$target_obj_type = null
private

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