19 declare(strict_types=1);
108 public function duplicate(array $pool_taxonomy_ids): void
110 foreach ($pool_taxonomy_ids as $pool_tax_id) {
115 $this->duplicated_taxonomies_keys_map->getMappedTaxonomyId($pool_tax_id)
124 $test_taxonomy->create();
125 $test_taxonomy->setTitle($pool_taxonomy->getTitle());
126 $test_taxonomy->setDescription($pool_taxonomy->getDescription());
127 $test_taxonomy->setSortingMode($pool_taxonomy->getSortingMode());
129 $pool_taxonomy->cloneNodes(
131 $test_taxonomy->getTree()?->readRootId(),
132 $pool_taxonomy->getTree()?->readRootId()
135 $test_taxonomy->update();
139 $this->duplicated_taxonomies_keys_map->addDuplicatedTaxonomy($pool_taxonomy, $test_taxonomy);
149 $assignments = $original_tax_assignment->getAssignmentsOfItem($original_question_id);
151 foreach ($assignments as $assignment) {
152 $mapped_node_id = $this->duplicated_taxonomies_keys_map->getMappedTaxNodeId((
int) $assignment[
'node_id']);
153 if ($mapped_node_id !== null) {
154 $duplicated_tax_assignment->addAssignment($mapped_node_id, $duplicated_question_id);
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
This file is part of ILIAS, a powerful learning management system published by ILIAS open source e-Le...
getDuplicatedTaxonomiesKeysMap()
static getUsageOfObject(int $a_obj_id, bool $a_include_titles=false)
transferAssignmentsFromOriginalToDuplicatedTaxonomy(int $original_taxonomy_id, int $mapped_taxonomy_id)
duplicateTaxonomyFromPoolToTest(int $pool_taxonomy_id)
setTargetObjId(int $target_obj_id)
ilQuestionPoolDuplicatedTaxonomiesKeysMap $duplicated_taxonomies_keys_map
setQuestionIdMapping(array $question_id_mapping)
setSourceObjId(int $source_obj_id)
getAllTaxonomiesForSourceObject()
static saveUsage(int $a_tax_id, int $a_obj_id)
duplicate(array $pool_taxonomy_ids)
setTargetObjType(string $target_obj_type)
setSourceObjType(string $source_obj_type)