]> git.mjollnir.org Git - moodle.git/commitdiff
course MDL-19794: Fix initialisation order problems on course/index.php.
authortjhunt <tjhunt>
Tue, 28 Jul 2009 03:03:35 +0000 (03:03 +0000)
committertjhunt <tjhunt>
Tue, 28 Jul 2009 03:03:35 +0000 (03:03 +0000)
course/index.php
course/lib.php

index be6ecb9014e6255ee1b6f122a0b0dd400554f247..98896519c887f4477113f9329fd83d35b2509f8b 100644 (file)
@@ -23,7 +23,7 @@
     $PAGE->set_url('course/index.php');
     $PAGE->set_context($systemcontext);
 
-    if (update_category_button()) {
+    if (can_edit_in_category()) {
         if ($categoryedit !== -1) {
             $USER->editing = $categoryedit;
         }
@@ -90,7 +90,7 @@
     }
 /// Everything else is editing on mode.
     require_once($CFG->libdir.'/adminlib.php');
-    admin_externalpage_setup('coursemgmt', update_category_button());
+    admin_externalpage_setup('coursemgmt');
 
 /// Delete a category.
     if (!empty($delete) and confirm_sesskey()) {
index e9320fad6c66db841b5e9f492e149060f03d22ec..95a925eae79cb38a6c4457e1fb0424c43fa48065 100644 (file)
@@ -1998,6 +1998,17 @@ function print_course_request_buttons($systemcontext) {
     }
 }
 
+/**
+ * Does the user have permission to edit things in this category?
+ *
+ * @param integer $categoryid The id of the category we are showing, or 0 for system context.
+ * @return boolean has_any_capability(array(...), ...); in the appropriate context.
+ */
+function can_edit_in_category($categoryid = 0) {
+    $context = get_category_or_system_context($categoryid);
+    return has_any_capability(array('moodle/category:manage', 'moodle/course:create'), $context);
+}
+
 /**
  * Prints the turn editing on/off button on course/index.php or course/category.php.
  *
@@ -2009,8 +2020,7 @@ function update_category_button($categoryid = 0) {
     global $CFG, $PAGE;
 
     // Check permissions.
-    $context = get_category_or_system_context($categoryid);
-    if (!has_any_capability(array('moodle/category:manage', 'moodle/course:create'), $context)) {
+    if (!can_edit_in_category($categoryid)) {
         return '';
     }