$outcome->categoryvisibility = \core_course\management\helper::get_category_children_visibility($categoryid); $outcome->coursevisibility = \core_course\management\helper::get_category_courses_visibility($categoryid); if ($selectedcategoryid !== null) { $outcome->coursevisibility = array_merge($outcome->coursevisibility, \core_course\management\helper::get_category_courses_visibility($selectedcategoryid)); } break; case 'expandcategory': $categoryid = required_param('categoryid', PARAM_INT); $coursecat = coursecat::get($categoryid); \core_course\management\helper::record_expanded_category($coursecat); $outcome->outcome = true; break; case 'collapsecategory': $categoryid = required_param('categoryid', PARAM_INT); $coursecat = coursecat::get($categoryid); \core_course\management\helper::record_expanded_category($coursecat, false); $outcome->outcome = true; break; case 'getsubcategorieshtml': $categoryid = required_param('categoryid', PARAM_INT); /* @var core_course_management_renderer $renderer */ $renderer = $PAGE->get_renderer('core_course', 'management'); $outcome->html = html_writer::start_tag('ul', array('class' => 'ml', 'role' => 'group', 'id' => 'subcategoriesof' . $categoryid)); $coursecat = coursecat::get($categoryid); foreach ($coursecat->get_children() as $subcat) { $outcome->html .= $renderer->category_listitem($subcat, array(), $subcat->get_children_count()); } $outcome->html .= html_writer::end_tag('ul'); $outcome->outcome = true; break; }