From 7f0933513582a9a4e5c2cfaeba70134774d1ceb0 Mon Sep 17 00:00:00 2001 From: samhemelryk Date: Wed, 21 Oct 2009 04:23:35 +0000 Subject: [PATCH] output MDL-19799 Fixed up some set_url calls as well as fixing some regressions caused by recent upgrades --- course/mod.php | 20 +++++++++++++++++++- course/report/log/index.php | 15 ++++++++++++++- course/report/outline/index.php | 4 ++-- mod/quiz/locallib.php | 2 +- mod/wiki/view.php | 30 +++++++++++++++++++++++++++++- question/category.php | 8 +++++++- question/category_class.php | 2 +- 7 files changed, 73 insertions(+), 8 deletions(-) diff --git a/course/mod.php b/course/mod.php index 63fedd5580..d4349c6240 100644 --- a/course/mod.php +++ b/course/mod.php @@ -45,7 +45,25 @@ $cancelcopy = optional_param('cancelcopy', 0, PARAM_BOOL); $confirm = optional_param('confirm', 0, PARAM_BOOL); // This page should always redirect -$PAGE->set_url($FULLME); +$url = new moodle_url($CFG->wwwroot.'/course/mod.php'); +foreach (compact('indent','update','hide','show','copy','moveto','movetosection','delete','course','cancelcopy','confirm') as $key=>$value) { + if ($value !== 0) { + $url->param($key, $value); + } +} +if ($sectionreturn !== '') { + $url->param('sr', $sectionreturn); +} +if ($add !== '') { + $url->param('add', $add); +} +if ($type !== '') { + $url->param('type', $type); +} +if ($groupmode !== '') { + $url->param('groupmode', $groupmode); +} +$PAGE->set_url($url); //check if we are adding / editing a module that has new forms using formslib if (!empty($add)) { diff --git a/course/report/log/index.php b/course/report/log/index.php index 113db54b45..2809042fcf 100644 --- a/course/report/log/index.php +++ b/course/report/log/index.php @@ -33,7 +33,20 @@ $chooselog = optional_param('chooselog', 0, PARAM_INT); $logformat = optional_param('logformat', 'showashtml', PARAM_ALPHA); - $PAGE->set_url(new moodle_url($FULLME)); + $params = array(); + if ($group !== 0) $params['group'] = $group; + if ($user !== 0) $params['user'] = $user; + if ($date !== 0) $params['date'] = $date; + if ($modname !== 0) $params['modname'] = $modname; + if ($modid !== 0) $params['modid'] = $modid; + if ($modaction !== '') $params['modaction'] = $modaction; + if ($page !== '0') $params['page'] = $page; + if ($perpage !== '100') $params['perpage'] = $perpage; + if ($showcourses !== 0) $params['showcourses'] = $showcourses; + if ($showusers !== 0) $params['showusers'] = $showusers; + if ($chooselog !== 0) $params['chooselog'] = $chooselog; + if ($logformat !== 'showashtml') $params['logformat'] = $logformat; + $PAGE->set_url(new moodle_url($CFG->wwwroot.'/course/report/log/index.php', $params)); if ($hostid == $CFG->mnet_localhost_id) { if (!$course = $DB->get_record('course', array('id'=>$id))) { diff --git a/course/report/outline/index.php b/course/report/outline/index.php index d1d875d828..dd84571740 100644 --- a/course/report/outline/index.php +++ b/course/report/outline/index.php @@ -1,4 +1,4 @@ -set_url(new moodle_url($FULLME)); + $PAGE->set_url(new moodle_url($CFg->wwwroot.'/course/report/outline/index.php', array('id'=>$id))); require_login($course); $context = get_context_instance(CONTEXT_COURSE, $course->id); diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php index 13bf64cee3..fb44d52a5a 100644 --- a/mod/quiz/locallib.php +++ b/mod/quiz/locallib.php @@ -788,7 +788,7 @@ function quiz_question_edit_button($cmid, $question, $returnurl, $contentbeforei $questionparams = array('returnurl' => $returnurl, 'cmid' => $cmid, 'id' => $question->id); $questionurl = new moodle_url("$CFG->wwwroot/question/question.php", $questionparams); return '' . $contentbeforeicon . - '' . $action . ''; + '' . $action . ''; } else { return $contentbeforeicon; } diff --git a/mod/wiki/view.php b/mod/wiki/view.php index 2563270e03..e74900e48c 100644 --- a/mod/wiki/view.php +++ b/mod/wiki/view.php @@ -23,7 +23,35 @@ // Only want to add edit log entries if we have made some changes ie submitted a form $editsave = optional_param('thankyou', '', PARAM_RAW); - $PAGE->set_url(new moodle_url($FULLME)); + $url = new moodle_url($CFG->wwwroot.'/mod/wiki/view.php'); + if ($ewiki_action !== '') { + $url->param('ewiki_action', $ewiki_action); + } + if ($id !== 0) { + $url->param('id', $id); + } + if ($wid !== 0) { + $url->param('wid', $wid); + } + if ($page !== false) { + $url->param('page', $page); + } + if ($q !== '') { + $url->param('q', $q); + } + if ($userid !== 0) { + $url->param('userid', $userid); + } + if ($groupid !== 0) { + $url->param('groupid', $groupid); + } + if ($canceledit !== '') { + $url->param('canceledit', $canceledit); + } + if ($cacheme !== 1) { + $url->param('allowcache', $cacheme); + } + $PAGE->set_url($url); if($page) { // Split page command into action and page diff --git a/question/category.php b/question/category.php index 7c807d25d1..df43238814 100644 --- a/question/category.php +++ b/question/category.php @@ -34,7 +34,13 @@ $param->moveto = optional_param('moveto', 0, PARAM_INT); $param->edit = optional_param('edit', 0, PARAM_INT); - $PAGE->set_url(new moodle_url($FULLME)); + $url = new moodle_url($thispageurl); + foreach ((array)$param as $key=>$value) { + if (($key !== 'cancel' && $value !== 0) || ($key === 'cancel' && $value !== '')) { + $url->param($key, $value); + } + } + $PAGE->set_url($url); $qcobject = new question_category_object($pagevars['cpage'], $thispageurl, $contexts->having_one_edit_tab_cap('categories'), $param->edit, $pagevars['cat'], $param->delete, $contexts->having_cap('moodle/question:add')); diff --git a/question/category_class.php b/question/category_class.php index 190a3bcbe9..935120427d 100644 --- a/question/category_class.php +++ b/question/category_class.php @@ -100,7 +100,7 @@ class question_category_list_item extends list_item { if (count($this->parentlist->records)!=1){ // don't allow delete if this is the last category in this context. $item .= ' - ' .$str->delete. ''; + ' .$str->delete. ''; } return $item; -- 2.39.5