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); } }