Esempio n. 1
0
/**
 * 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);
        }
    }
}
Esempio n. 2
0
File: lib.php Progetto: r007/PMoodle
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);
        }
    }
}