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);