diff --git a/mod/lti/edit_form.php b/mod/lti/edit_form.php
index 3fc992e491ae7..dc5f4fbb93a52 100644
--- a/mod/lti/edit_form.php
+++ b/mod/lti/edit_form.php
@@ -421,9 +421,11 @@ public function lti_build_category_tree(array $elements, int $parentid = 0): arr
if ($children) {
$element['nodes'] = $children;
$element['haschildren'] = true;
+ $element['name'] = format_string($element['name'], false, ["context" => \core\context\system::instance()]);
} else {
$element['nodes'] = null;
$element['haschildren'] = false;
+ $element['name'] = format_string($element['name'], false, ["context" => \core\context\system::instance()]);
}
$branch[] = $element;
}
diff --git a/mod/lti/tests/course_categories_trait.php b/mod/lti/tests/course_categories_trait.php
index c4ed7fd6bf87e..0561342cacf71 100644
--- a/mod/lti/tests/course_categories_trait.php
+++ b/mod/lti/tests/course_categories_trait.php
@@ -34,7 +34,8 @@ public function setup_course_categories(): array {
$topcatdbrecord = $DB->get_record('course_categories', ['parent' => 0]);
- $subcata = $this->getDataGenerator()->create_category(['parent' => $topcatdbrecord->id, 'name' => 'cata']);
+ $subcata = $this->getDataGenerator()->create_category(['parent' => $topcatdbrecord->id,
+ 'name' => 'catakata']);
$subcatadbrecord = $DB->get_record('course_categories', ['id' => $subcata->id]);
$subcatca = $this->getDataGenerator()->create_category(['parent' => $subcata->id, 'name' => 'catca']);
@@ -50,7 +51,7 @@ public function setup_course_categories(): array {
'topcat' => $topcatdbrecord,
'subcata' => $subcatadbrecord,
'subcatca' => $subcatcadbrecord,
- 'subcatb' => $subcatb,
+ 'subcatb' => $subcatbdbrecord,
'subcatcb' => $subcatcbdbrecord
];
}
diff --git a/mod/lti/tests/mod_lti_edit_types_form_test.php b/mod/lti/tests/mod_lti_edit_types_form_test.php
index 75c80dd84df1c..0c18d836273fe 100644
--- a/mod/lti/tests/mod_lti_edit_types_form_test.php
+++ b/mod/lti/tests/mod_lti_edit_types_form_test.php
@@ -52,6 +52,10 @@ public function test_set_nested_categories(): void {
$this->resetAfterTest(true);
$this->setAdminUser();
+ // Enable multilang filter to on content and heading.
+ filter_set_global_state('multilang', TEXTFILTER_ON);
+ filter_set_applies_to_strings('multilang', 1);
+
$ltiform = new test_edit_form(null);
$ltiform->definition_after_data();
@@ -66,7 +70,8 @@ public function test_set_nested_categories(): void {
[
"id" => $coursecategories['subcata']->id,
"parent" => $coursecategories['topcat']->id,
- "name" => $coursecategories['subcata']->name,
+ "name" => format_string($coursecategories['subcata']->name, false,
+ ["context" => \core\context\system::instance()]),
"nodes" => [
[
"id" => $coursecategories['subcatca']->id,
@@ -98,6 +103,9 @@ public function test_set_nested_categories(): void {
];
$records = $DB->get_records('course_categories', [], 'sortorder, id', 'id, parent, name');
+ foreach ($records as &$record) {
+ $record->name = format_string($record->name, false, ["context" => \core\context\system::instance()]);
+ }
$allcategories = json_decode(json_encode($records), true);
$coursecategoriesarray = $ltiform->lti_build_category_tree($allcategories);