/** * Recursive function to print out all the categories in a nice format * with or without courses included */ function print_whole_category_list($category = NULL, $displaylist = NULL, $parentslist = NULL, $depth = -1, $showcourses = true) { global $CFG; // maxcategorydepth == 0 meant no limit if (!empty($CFG->maxcategorydepth) && $depth >= $CFG->maxcategorydepth) { return; } if (!$displaylist) { make_categories_list($displaylist, $parentslist); } if ($category) { if ($category->visible or has_capability('moodle/category:viewhiddencategories', get_context_instance(CONTEXT_SYSTEM))) { print_category_info($category, $depth, $showcourses); } else { return; // Don't bother printing children of invisible categories } } else { $category = new stdClass(); $category->id = "0"; } if ($categories = get_child_categories($category->id)) { // Print all the children recursively $countcats = count($categories); $count = 0; $first = true; $last = false; foreach ($categories as $cat) { $count++; if ($count == $countcats) { $last = true; } $up = $first ? false : true; $down = $last ? false : true; $first = false; print_whole_category_list($cat, $displaylist, $parentslist, $depth + 1, $showcourses); } } }
function print_whole_category_list($category = NULL, $displaylist = NULL, $parentslist = NULL, $depth = -1, $files = true) { /// Recursive function to print out all the categories in a nice format /// with or without courses included global $CFG; if (isset($CFG->max_category_depth) && $depth >= $CFG->max_category_depth) { return; } if (!$displaylist) { make_categories_list($displaylist, $parentslist); } if ($category) { if ($category->visible or has_capability('moodle/course:update', get_context_instance(CONTEXT_SYSTEM))) { print_category_info($category, $depth, $files); } else { return; // Don't bother printing children of invisible categories } } else { $category->id = "0"; } if ($categories = get_child_categories($category->id)) { // Print all the children recursively $countcats = count($categories); $count = 0; $first = true; $last = false; foreach ($categories as $cat) { $count++; if ($count == $countcats) { $last = true; } $up = $first ? false : true; $down = $last ? false : true; $first = false; print_whole_category_list($cat, $displaylist, $parentslist, $depth + 1, $files); } } }