MDL-48004 question: remove buggy arg of question_edit_setup
authorDan Poltawski <dan@moodle.com>
Thu, 26 Nov 2015 15:04:10 +0000 (15:04 +0000)
committerDan Poltawski <dan@moodle.com>
Thu, 26 Nov 2015 15:04:10 +0000 (15:04 +0000)
There are no uses of this in core and it does not make sense

question/editlib.php
question/upgrade.txt

index 922bc67..c7d8290 100644 (file)
@@ -260,11 +260,15 @@ class_alias('core_question\bank\view', 'question_bank_view', true);
  * @param string $baseurl the name of the script calling this funciton. For examle 'qusetion/edit.php'.
  * @param string $edittab code for this edit tab
  * @param bool $requirecmid require cmid? default false
- * @param bool $requirecourseid require courseid, if cmid is not given? default true
+ * @param bool $unused no longer used, do no pass
  * @return array $thispageurl, $contexts, $cmid, $cm, $module, $pagevars
  */
-function question_edit_setup($edittab, $baseurl, $requirecmid = false, $requirecourseid = true) {
-    global $DB, $PAGE;
+function question_edit_setup($edittab, $baseurl, $requirecmid = false, $unused = null) {
+    global $DB, $PAGE, $CFG;
+
+    if ($unused !== null) {
+        debugging('Deprecated argument passed to question_edit_setup()', DEBUG_DEVELOPER);
+    }
 
     $thispageurl = new moodle_url($baseurl);
     $thispageurl->remove_all_params(); // We are going to explicity add back everything important - this avoids unwanted params from being retained.
@@ -283,18 +287,10 @@ function question_edit_setup($edittab, $baseurl, $requirecmid = false, $requirec
     } else {
         $module = null;
         $cm = null;
-        if ($requirecourseid){
-            $courseid  = required_param('courseid', PARAM_INT);
-        } else {
-            $courseid  = optional_param('courseid', 0, PARAM_INT);
-        }
-        if ($courseid){
-            $thispageurl->params(compact('courseid'));
-            require_login($courseid, false);
-            $thiscontext = context_course::instance($courseid);
-        } else {
-            $thiscontext = null;
-        }
+        $courseid  = required_param('courseid', PARAM_INT);
+        $thispageurl->params(compact('courseid'));
+        require_login($courseid, false);
+        $thiscontext = context_course::instance($courseid);
     }
 
     if ($thiscontext){
index 6e65e50..0b7aa8d 100644 (file)
@@ -1,5 +1,11 @@
 This files describes API changes for code that uses the question API.
 
+=== 3.1 ===
+
+1) The argument $requirecourseid was removed from question_edit_setup() and
+   is no longer respected. The behaviour was found to be buggy and now throws
+   debugging notices if passed.
+
 === 2.9 ===
 
 1) Some functions in questionlib.php which were deprecated in the past have now