From: tjhunt Date: Sat, 4 Jul 2009 14:23:49 +0000 (+0000) Subject: Re-order the code, so we process the actions before we do any output. That is the... X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=1fb3d044fdde4b7c7890a7fbfc35c63c45b45ce7;p=moodle.git Re-order the code, so we process the actions before we do any output. That is the right order anyway, and avoids the problem where require_capability after output is started leads to an exception being thrown. --- diff --git a/course/category.php b/course/category.php index fecd56c081..b61310710b 100644 --- a/course/category.php +++ b/course/category.php @@ -63,53 +63,7 @@ } } -/// Print headings - $numcategories = $DB->count_records('course_categories'); - - $stradministration = get_string('administration'); - $strcategories = get_string('categories'); - $strcategory = get_string('category'); - $strcourses = get_string('courses'); - - $navlinks = array(); - $navlinks[] = array('name' => $strcategories, 'link' => 'index.php', 'type' => 'misc'); - $navlinks[] = array('name' => format_string($category->name), 'link' => null, 'type' => 'misc'); - $navigation = build_navigation($navlinks); - - if ($editingon && update_category_button()) { - // Integrate into the admin tree only if the user can edit categories at the top level, - // otherwise the admin block does not appear to this user, and you get an error. - require_once($CFG->libdir.'/adminlib.php'); - admin_externalpage_setup('coursemgmt', $navbaritem, array('id' => $id, - 'page' => $page, 'perpage' => $perpage), $CFG->wwwroot . '/course/category.php'); - admin_externalpage_print_header(); - } else { - print_header("$site->shortname: $category->name", "$site->fullname: $strcourses", $navigation, '', '', true, $navbaritem); - } - -/// Print link to roles - if (has_capability('moodle/role:assign', $context)) { - echo ''; - } - -/// Print the category selector - $displaylist = array(); - $notused = array(); - make_categories_list($displaylist, $notused); - - echo '
'; - popup_form('category.php?id=', $displaylist, 'switchcategory', $category->id, '', '', '', false, 'self', $strcategories.':'); - echo '
'; - -/// Print current category description - if (!$editingon && $category->description) { - print_box_start(); - echo format_text($category->description); // for multilang filter - print_box_end(); - } - -/// Process any course actions. + // Process any course actions. if ($editingon) { /// Move a specified course to a new category if (!empty($moveto) and $data = data_submitted() and confirm_sesskey()) { // Some courses are being moved @@ -173,6 +127,52 @@ } // End of editing stuff + // Print headings + $numcategories = $DB->count_records('course_categories'); + + $stradministration = get_string('administration'); + $strcategories = get_string('categories'); + $strcategory = get_string('category'); + $strcourses = get_string('courses'); + + $navlinks = array(); + $navlinks[] = array('name' => $strcategories, 'link' => 'index.php', 'type' => 'misc'); + $navlinks[] = array('name' => format_string($category->name), 'link' => null, 'type' => 'misc'); + $navigation = build_navigation($navlinks); + + if ($editingon && update_category_button()) { + // Integrate into the admin tree only if the user can edit categories at the top level, + // otherwise the admin block does not appear to this user, and you get an error. + require_once($CFG->libdir.'/adminlib.php'); + admin_externalpage_setup('coursemgmt', $navbaritem, array('id' => $id, + 'page' => $page, 'perpage' => $perpage), $CFG->wwwroot . '/course/category.php'); + admin_externalpage_print_header(); + } else { + print_header("$site->shortname: $category->name", "$site->fullname: $strcourses", $navigation, '', '', true, $navbaritem); + } + +/// Print link to roles + if (has_capability('moodle/role:assign', $context)) { + echo ''; + } + +/// Print the category selector + $displaylist = array(); + $notused = array(); + make_categories_list($displaylist, $notused); + + echo '
'; + popup_form('category.php?id=', $displaylist, 'switchcategory', $category->id, '', '', '', false, 'self', $strcategories.':'); + echo '
'; + +/// Print current category description + if (!$editingon && $category->description) { + print_box_start(); + echo format_text($category->description); // for multilang filter + print_box_end(); + } + if ($editingon && has_capability('moodle/category:manage', $context)) { echo '
'; diff --git a/course/index.php b/course/index.php index 24b613252d..dc28fb190b 100644 --- a/course/index.php +++ b/course/index.php @@ -142,10 +142,6 @@ die; } -/// Print headings - print_category_edit_header(); - print_heading($strcategories); - /// Create a default category if necessary if (!$categories = get_categories()) { /// No category yet! // Try and make one @@ -214,6 +210,10 @@ fix_course_sortorder(); } +/// Print headings + print_category_edit_header(); + print_heading($strcategories); + /// Print out the categories with all the knobs $strcategories = get_string('categories'); $strcourses = get_string('courses');