Fix $PAGE->set_url initialisation order.
authorTim Hunt <T.J.Hunt@open.ac.uk>
Mon, 12 Apr 2010 13:31:42 +0000 (13:31 +0000)
committerTim Hunt <T.J.Hunt@open.ac.uk>
Mon, 12 Apr 2010 13:31:42 +0000 (13:31 +0000)
mod/quiz/addrandom.php
mod/quiz/edit.php
mod/quiz/editlib.php
question/category.php
question/contextmove.php
question/edit.php
question/editlib.php
question/export.php
question/import.php

index 497d999..6e92f34 100644 (file)
@@ -12,7 +12,8 @@ require_once('../../config.php');
 require_once($CFG->dirroot . '/mod/quiz/editlib.php');
 require_once($CFG->dirroot . '/question/category_class.php');
 
-list($thispageurl, $contexts, $cmid, $cm, $quiz, $pagevars) = question_edit_setup('editq', true);
+list($thispageurl, $contexts, $cmid, $cm, $quiz, $pagevars) =
+        question_edit_setup('editq', '/mod/quiz/addrandom.php', true);
 
 $defaultcategoryobj = question_make_default_categories($contexts->all());
 $defaultcategoryid = $defaultcategoryobj->id;
index 755931e..19870cd 100644 (file)
@@ -113,8 +113,8 @@ function module_specific_controls($totalnumber, $recurse, $category, $cmid, $cmo
 }
 
 list($thispageurl, $contexts, $cmid, $cm, $quiz, $pagevars) =
-        question_edit_setup('editq', true);
-$PAGE->set_url('/mod/quiz/edit.php', $thispageurl->params());
+        question_edit_setup('editq', '/mod/quiz/edit.php', true);
+$PAGE->set_url($thispageurl);
 $PAGE->set_pagelayout('base');
 
 $defaultcategoryobj = question_make_default_categories($contexts->all());
index a5eb9fc..26d8d57 100644 (file)
@@ -970,9 +970,9 @@ class question_bank_add_to_quiz_action_column extends question_bank_action_colum
     protected function display_content($question, $rowclasses) {
         // for RTL languages: switch right and left arrows
         if (right_to_left()) {
-            $movearrow = 't/removeright.gif';
+            $movearrow = 't/removeright';
         } else {
-            $movearrow = 't/moveleft.gif';
+            $movearrow = 't/moveleft';
         }
         $this->print_icon($movearrow, $this->stradd, $this->qbank->add_to_quiz_url($question->id));
     }
index 170be50..7cc41e4 100644 (file)
     require_once($CFG->dirroot."/question/editlib.php");
     require_once($CFG->dirroot."/question/category_class.php");
 
-
-
-    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) = question_edit_setup('categories');
+    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) =
+            question_edit_setup('categories', '/question/category.php');
 
     // get values from form for actions on this page
     $param = new stdClass();
-
-
     $param->moveup = optional_param('moveup', 0, PARAM_INT);
     $param->movedown = optional_param('movedown', 0, PARAM_INT);
     $param->moveupcontext = optional_param('moveupcontext', 0, PARAM_INT);
index 71e96b2..dc532c7 100644 (file)
@@ -12,7 +12,8 @@
     require_once($CFG->dirroot."/question/editlib.php");
     require_once($CFG->dirroot."/question/contextmove_form.php");
 
-    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) = question_edit_setup('categories');
+    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) =
+            question_edit_setup('categories', '/question/contextmove.php');
 
     // get values from form for actions on this page
     $toparent = required_param('toparent', PARAM_SEQUENCE);
index d112e8c..0b75c41 100644 (file)
@@ -54,7 +54,8 @@
     }
     $PAGE->set_url($url);
 
-    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) = question_edit_setup('questions');
+    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) =
+            question_edit_setup('questions', '/question/edit.php');
     $questionbank = new question_bank_view($contexts, $thispageurl, $COURSE, $cm);
     $questionbank->process_actions();
 
index 0d509a1..413b1d9 100644 (file)
@@ -1515,17 +1515,19 @@ class question_bank_view {
 
 /**
  * Common setup for all pages for editing questions.
+ * @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 boolean $requirecmid require cmid? default false
  * @param boolean $requirecourseid require courseid, if cmid is not given? default true
  * @return array $thispageurl, $contexts, $cmid, $cm, $module, $pagevars
  */
-function question_edit_setup($edittab, $requirecmid = false, $requirecourseid = true){
+function question_edit_setup($edittab, $baseurl, $requirecmid = false, $requirecourseid = true) {
     global $QUESTION_EDITTABCAPS, $DB, $PAGE;
 
     //$thispageurl is used to construct urls for all question edit pages we link to from this page. It contains an array
     //of parameters that are passed from page to page.
-    $thispageurl = new moodle_url($PAGE->url); //TODO: this looks dumb, because this method is called BEFORE $PAGE->set_page() !!!!
+//    $thispageurl = new moodle_url($PAGE->url); //TODO: this looks dumb, because this method is called BEFORE $PAGE->set_page() !!!!
+    $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.
 
     if ($requirecmid){
@@ -1652,7 +1654,6 @@ function question_edit_setup($edittab, $requirecmid = false, $requirecourseid =
         $thispageurl->param('cpage', $pagevars['cpage']);
     }
 
-
     return array($thispageurl, $contexts, $cmid, $cm, $module, $pagevars);
 }
 class question_edit_contexts{
index b2fd29f..21bdcd2 100644 (file)
@@ -13,8 +13,8 @@
     require_once("editlib.php");
     require_once("export_form.php");
 
-    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) = question_edit_setup('export');
-
+    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) =
+            question_edit_setup('export', '/question/export.php');
 
     // get display strings
     $strexportquestions = get_string('exportquestions', 'quiz');
index 90f203e..54ef5de 100644 (file)
@@ -15,7 +15,8 @@
     require_once($CFG->libdir . '/questionlib.php');
     require_once("import_form.php");
 
-    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) = question_edit_setup('import', false, false);
+    list($thispageurl, $contexts, $cmid, $cm, $module, $pagevars) =
+            question_edit_setup('import', '/question/import.php', false, false);
 
    // get display strings
     $txt = new stdClass();