ILIAS  trunk Revision v12.0_alpha-1227-g7ff6d300864
QuestionManager.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
27{
28 protected \ILIAS\COPage\Dom\DomUtil $dom_util;
29
30 public function __construct()
31 {
32 global $DIC;
33 $this->dom_util = $DIC->copage()->internal()->domain()->domUtil();
34 }
35
41 \DOMDocument $dom,
42 array $a_mapping
43 ): bool {
44 $path = "//Question";
45 $updated = false;
46 $nodes = $this->dom_util->path($dom, $path);
47 foreach ($nodes as $node) {
48 $qref = $node->getAttribute("QRef");
49 if (isset($a_mapping[$qref])) {
50 $new_id = (int) ($a_mapping[$qref]["pool"] ?? 0);
51 if ($new_id === 0 && isset($a_mapping[$qref]["test"])) { // changed with 10
52 $new_id = $a_mapping[$qref]["test"];
53 }
54 $node->setAttribute("QRef", "il__qst_" . $new_id);
55 $updated = true;
56 }
57 }
58 return $updated;
59 }
60}
resolveQuestionReferences(\DOMDocument $dom, array $a_mapping)
Resolve all quesiont references (after import)
$path
Definition: ltiservices.php:30
global $DIC
Definition: shib_login.php:26