diff --git a/blocks/admin/block_admin.php b/blocks/admin/block_admin.php
index c9369134cad..3f517d6e7c7 100644
--- a/blocks/admin/block_admin.php
+++ b/blocks/admin/block_admin.php
@@ -145,7 +145,7 @@ class block_admin extends block_list {
$this->content->items[]=''.get_string('import').'';
$this->content->icons[]='
';
- $this->content->items[]=''.get_string('questions', 'quiz').'';
+ $this->content->items[]=''.get_string('questions', 'quiz').'';
$this->content->icons[]='
';
$this->content->items[]=''.get_string('scales').'';
diff --git a/question/category.php b/question/category.php
index e13b358a142..bfedfc42de2 100644
--- a/question/category.php
+++ b/question/category.php
@@ -61,9 +61,7 @@
$mode = 'categories';
include($CFG->dirroot.'/mod/quiz/tabs.php');
} else {
- print_header_simple(get_string('editcategories', 'quiz'), '',
- ''.get_string('editquestions', 'quiz').''.
- ' -> '.get_string('editcategories', 'quiz'));
+ print_header_simple(get_string('editcategories', 'quiz'), '', get_string('editcategories', 'quiz'));
// print tabs
$currenttab = 'categories';
diff --git a/question/edit.php b/question/edit.php
index 2a8d79892c6..bde9cbec03e 100644
--- a/question/edit.php
+++ b/question/edit.php
@@ -18,6 +18,12 @@
$courseid = required_param('courseid', 0, PARAM_INT);
+ // The optional parameter 'clean' allows us to clear module information,
+ // guaranteeing a module-independent question bank editing interface
+ if (optional_param('clean', false, PARAM_BOOL)) {
+ unset($SESSION->modform);
+ }
+
if (! $course = get_record("course", "id", $courseid)) {
error("This course doesn't exist");
}
@@ -27,6 +33,8 @@
if (!isteacheredit($course->id)) {
error("You can't modify this course!");
}
+
+ $SESSION->returnurl = $FULLME;
// Print basic page layout.
@@ -41,7 +49,7 @@
: "";
print_header_simple($streditingquestions, '',
"wwwroot/mod/quiz/index.php?id=$course->id\">$strquizzes".
- " -> wwwroot/mod/quiz/view.php?q=$SESSION->modform->instance\">".format_string($SESSION->modform->name).''.
+ " -> wwwroot/mod/quiz/view.php?q={$SESSION->modform->instance}\">".format_string($SESSION->modform->name).''.
" -> $streditingquestions",
"", "", true, $strupdatemodule);
diff --git a/question/export.php b/question/export.php
index b6b8a6d7034..603cc745302 100644
--- a/question/export.php
+++ b/question/export.php
@@ -68,9 +68,7 @@
$mode = 'export';
include($CFG->dirroot.'/mod/quiz/tabs.php');
} else {
- print_header_simple($strexportquestions, '',
- "id}\">".get_string('editquestions', 'quiz').''.
- ' -> '.$strexportquestions);
+ print_header_simple($strexportquestions, '', $strexportquestions);
// print tabs
$currenttab = 'export';
include('tabs.php');
diff --git a/question/import.php b/question/import.php
index 50692889fe6..0ea5703135f 100644
--- a/question/import.php
+++ b/question/import.php
@@ -71,9 +71,7 @@
$mode = 'import';
include($CFG->dirroot.'/mod/quiz/tabs.php');
} else {
- print_header_simple($strimportquestions, '',
- ''.get_string('editquestions', 'quiz').''.
- ' -> '.$strimportquestions);
+ print_header_simple($strimportquestions, '', $strimportquestions);
// print tabs
$currenttab = 'import';
include('tabs.php');
diff --git a/question/question.php b/question/question.php
index a580a76937e..3a480f9e7a9 100644
--- a/question/question.php
+++ b/question/question.php
@@ -68,19 +68,22 @@
error("Must specify question id or category");
}
+ if (!isset($SESSION->returnurl)) {
+ $SESSION->returnurl = 'edit.php?courseid='.$course->id;
+ }
+
// TODO: generalise this so it works for any activity
- $contextquiz = optional_param('contextquiz', 0, PARAM_INT); // the quiz from which this question is being edited
- $editurl = $contextquiz ? $CFG->wwwroot.'/mod/quiz/edit.php' : 'edit.php?courseid='.$course->id;
+ $contextquiz = isset($SESSION->modform->instance) ? $SESSION->modform->instance : 0;
if (isset($_REQUEST['cancel'])) {
- redirect($editurl);
+ redirect($SESSION->returnurl);
}
if(!empty($id) && isset($_REQUEST['hide']) && confirm_sesskey()) {
if(!set_field('question', 'hidden', $_REQUEST['hide'], 'id', $id)) {
error("Faild to hide the question.");
}
- redirect($editurl);
+ redirect($SESSION->returnurl);
}
if (empty($qtype)) {
@@ -98,7 +101,7 @@
// TODO: remove restriction to quiz
$streditingquestion = get_string('editingquestion', 'quiz');
if (isset($SESSION->modform->instance)) {
- $strediting = ''.get_string('editingquiz', 'quiz').' -> '.
+ $strediting = ''.get_string('editingquiz', 'quiz').' -> '.
$streditingquestion;
} else {
$strediting = ''.
@@ -123,7 +126,7 @@
error("An error occurred trying to delete question (id $question->id)");
}
}
- redirect($editurl);
+ redirect($SESSION->returnurl);
} else {
error("Confirmation string was incorrect");
}
@@ -137,7 +140,7 @@
}
notice_yesno(get_string("deletequestioncheck", "quiz", $question->name),
- "question.php?sesskey=$USER->sesskey&id=$question->id&delete=$delete&confirm=".md5($delete), $editurl);
+ "question.php?sesskey=$USER->sesskey&id=$question->id&delete=$delete&confirm=".md5($delete), $SESSION->returnurl);
}
print_footer($course);
exit;
@@ -282,7 +285,7 @@
// $QTYPES[$question->qtype]->get_question_options($question);
// quiz_regrade_question_in_quizzes($question, $replaceinquiz);
//}
- redirect($editurl);
+ redirect($SESSION->returnurl);
}
}