From fd83d53c980a4305a7ddc692f8db9a2e328548f7 Mon Sep 17 00:00:00 2001
From: Dan Poltawski <dan.poltawski@luns.net.uk>
Date: Wed, 24 Aug 2011 15:31:56 +0100
Subject: [PATCH 1/1] MDL-29091 quiz - switch to use as_local_url

---
 mod/quiz/edit.php            |    2 +-
 mod/quiz/editlib.php         |    4 ++--
 mod/quiz/locallib.php        |    2 +-
 question/editlib.php         |    2 +-
 question/engine/renderer.php |    3 +--
 5 files changed, 6 insertions(+), 7 deletions(-)

diff --git a/mod/quiz/edit.php b/mod/quiz/edit.php
index 15a9d8f..410717b 100644
--- a/mod/quiz/edit.php
+++ b/mod/quiz/edit.php
@@ -553,7 +553,7 @@ if (!$quiz_reordertool) {
     $randomform = new quiz_add_random_form(new moodle_url('/mod/quiz/addrandom.php'), $contexts);
     $randomform->set_data(array(
         'category' => $pagevars['cat'],
-        'returnurl' => str_replace($CFG->wwwroot, '', $thispageurl->out(false)),
+        'returnurl' => $thispageurl->as_local_url(false),
         'cmid' => $cm->id,
     ));
     ?>
diff --git a/mod/quiz/editlib.php b/mod/quiz/editlib.php
index 9f653c0..3c3cf47 100644
--- a/mod/quiz/editlib.php
+++ b/mod/quiz/editlib.php
@@ -451,7 +451,7 @@ function quiz_print_question_list($quiz, $pageurl, $allowdelete, $reordertool,
 
     $pageopen = false;
 
-    $returnurl = str_replace($CFG->wwwroot, '', $pageurl->out(false));
+    $returnurl = $pageurl->as_local_url(false);
     $questiontotalcount = count($order);
 
     foreach ($order as $count => $qnum) {
@@ -729,7 +729,7 @@ function quiz_print_pagecontrols($quiz, $pageurl, $page, $hasattempts, $defaultc
     $returnurladdtoquiz = new moodle_url($pageurl, array('addonpage' => $page));
 
     // Print a button linking to the choose question type page.
-    $returnurladdtoquiz = str_replace($CFG->wwwroot, '', $returnurladdtoquiz->out(false));
+    $returnurladdtoquiz = $returnurladdtoquiz->as_local_url(false);
     $newquestionparams = array('returnurl' => $returnurladdtoquiz,
             'cmid' => $quiz->cmid, 'appendqnumstring' => 'addquestion');
     create_new_question_button($defaultcategoryid, $newquestionparams,
diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php
index 7243170..40d9669 100644
--- a/mod/quiz/locallib.php
+++ b/mod/quiz/locallib.php
@@ -843,7 +843,7 @@ function quiz_question_edit_button($cmid, $question, $returnurl, $contentafteric
     // Build the icon.
     if ($action) {
         if ($returnurl instanceof moodle_url) {
-            $returnurl = str_replace($CFG->wwwroot, '', $returnurl->out(false));
+            $returnurl = $returnurl->as_local_url(false);
         }
         $questionparams = array('returnurl' => $returnurl, 'cmid' => $cmid, 'id' => $question->id);
         $questionurl = new moodle_url("$CFG->wwwroot/question/question.php", $questionparams);
diff --git a/question/editlib.php b/question/editlib.php
index 52faf97..4cf7f7e 100644
--- a/question/editlib.php
+++ b/question/editlib.php
@@ -865,7 +865,7 @@ class question_bank_view {
         }
 
         // Create the url of the new question page to forward to.
-        $returnurl = str_replace($CFG->wwwroot, '', $pageurl->out(false));
+        $returnurl = $pageurl->as_local_url(false);
         $this->editquestionurl = new moodle_url('/question/question.php',
                 array('returnurl' => $returnurl));
         if ($cm !== null){
diff --git a/question/engine/renderer.php b/question/engine/renderer.php
index 9a0d08b..0c5bba2 100644
--- a/question/engine/renderer.php
+++ b/question/engine/renderer.php
@@ -269,8 +269,7 @@ class core_question_renderer extends plugin_renderer_base {
 
         $params = $options->editquestionparams;
         if ($params['returnurl'] instanceof moodle_url) {
-            $params['returnurl'] = str_replace($CFG->wwwroot, '',
-                    $params['returnurl']->out(false));
+            $params['returnurl'] = $params['returnurl']->as_local_url(false);
         }
         $params['id'] = $qa->get_question()->id;
         $editurl = new moodle_url('/question/question.php', $params);
-- 
1.7.4.1

