$strshow = get_string("show", "quiz");
$streditcats = get_string("editcategories", "quiz");
- echo "<strong>$strcategory:</strong> ";
- popup_form ("edit.php?".$pageurl->get_query_string()."&cat=", $catmenu, "catmenu", $current, "", "", "", false, "self");
+ popup_form ("edit.php?".$pageurl->get_query_string()."&cat=", $catmenu, "catmenu", $current, "", "", "", false, "self", "<strong>$strcategory</strong>");
echo '<form method="post" action="edit.php" id="displayoptions">';
echo "<fieldset class='invisiblefieldset'>";
// check if editing questions in this category is allowed
if ($canedit) {
- echo "<td valign=\"top\"><b>$strcreatenewquestion:</b></td>";
echo '<td valign="top" align="right">';
$returnurl = urlencode($pageurl->out());
- popup_form ("$CFG->wwwroot/question/question.php?returnurl=$returnurl&category=$category->id&qtype=", $qtypemenu, "addquestion",
- "", "choose", "", "", false, "self");
+ $questionurl = new moodle_url("$CFG->wwwroot/question/question.php",
+ array('cmid' => $cm->id,
+ 'returnurl' => $returnurl,
+ 'category' => $category->id));
+ popup_form ($questionurl->out().'&qtype=', $qtypemenu, "addquestion", "", "choose", "", "", false, "self", "<strong>$strcreatenewquestion</strong>");
echo '</td><td valign="top" align="right">';
helpbutton("questiontypes", $strcreatenewquestion, "quiz");
echo '</td>';
if (!$returnurl && isset($SESSION->fromurl)) {
$returnurl = $SESSION->fromurl;
}
-
// Read URL parameters telling us which question to edit.
$id = optional_param('id', 0, PARAM_INT); // question id
+$cmid = optional_param('cmid', 0, PARAM_INT);
$qtype = optional_param('qtype', '', PARAM_FILE);
$categoryid = optional_param('category', 0, PARAM_INT);
$wizardnow = optional_param('wizardnow', '', PARAM_ALPHA);
+if ($cmid){
+ list($module, $cm) = get_module_from_cmid($cmid);
+} else {
+ $module = null;
+ $cm = null;
+}
+
// Validate the URL parameters.
if ($id) {
if (!$question = get_record('question', 'id', $id)) {
}
$toform = $question; // send the question object and a few more parameters to the form
$toform->returnurl = $returnurl;
+if ($cm !== null){
+ $toform->cmid = $cm->id;
+}
$mform->set_data($toform);
if ($mform->is_cancelled()){
}
} else {
- $streditingquestion = get_string('editingquestion', 'question');
- if (isset($SESSION->modform->instance)) {
- // TODO: remove restriction to quiz
- $strediting = '<a href="' . $returnurl . '">' . get_string('editingquiz', 'quiz') . '</a> -> '.
- $streditingquestion;
+ list($streditingquestion,) = $QTYPES[$question->qtype]->get_heading();
+ if ($cm !== null) {
+ $strupdatemodule = has_capability('moodle/course:manageactivities', get_context_instance(CONTEXT_COURSE, $category->course))
+ ? update_module_button($cm->id, $category->course, get_string('modulename', $cm->modname))
+ : "";
+ $crumbs = array();
+ $crumbs[] = array('name' => get_string('modulenameplural', $cm->modname), 'link' => "$CFG->wwwroot/mod/{$cm->modname}/index.php?id=$category->course", 'type' => 'activity');
+ $crumbs[] = array('name' => format_string($module->name), 'link' => "$CFG->wwwroot/mod/{$cm->modname}/view.php?cmid={$cm->id}", 'type' => 'title');
+ $crumbs[] = array('name' => get_string('editingquiz', 'quiz'), 'link' => $returnurl, 'type' => 'title');
+ $crumbs[] = array('name' => $streditingquestion, 'link' => '', 'type' => 'title');
+ $navigation = build_navigation($crumbs);
+ print_header_simple($streditingquestion, '', $navigation, "", "", true, $strupdatemodule);
+
} else {
+ $crumbs = array();
+ $crumbs[] = array('name' => get_string('editquestions', "quiz"), 'link' => $returnurl, 'type' => 'title');
+ $crumbs[] = array('name' => $streditingquestion, 'link' => '', 'type' => 'title');
$strediting = '<a href="edit.php?courseid='.$category->course.'">'.
get_string("editquestions", "quiz").'</a> -> '.$streditingquestion;
+ $navigation = build_navigation($crumbs);
+ print_header_simple($streditingquestion, '', $navigation);
}
- print_header_simple($streditingquestion, '', $strediting);
// Display a heading, question editing form and possibly some extra content needed for
// for this question type.
$mform->addElement('hidden', 'versioning');
$mform->setType('versioning', PARAM_BOOL);
+ $mform->addElement('hidden', 'cmid');
+ $mform->setType('cmid', PARAM_INT);
+ $mform->setDefault('cmid', 0);
+
$buttonarray = array();
$buttonarray[] = &$mform->createElement('submit', 'submitbutton', get_string('savechanges'));
if (!empty($this->question->id)) {
* @param string $wizardnow is '' for first page.
*/
function display_question_editing_page(&$mform, $question, $wizardnow){
+ list($heading, $langmodule) = $this->get_heading();
+ print_heading_with_help($heading, $this->name(), $langmodule);
+ $mform->display();
+ }
+
+ /**
+ * Method called by display_question_editing_page and by question.php to get heading for breadcrumbs.
+ *
+ * @return array a string heading and the langmodule in which it was found.
+ */
+ function get_heading(){
$name = $this->name();
$langmodule = 'qtype_' . $name;
$strheading = get_string('editing' . $name, $langmodule);
$langmodule = 'quiz';
$strheading = get_string('editing' . $name, $langmodule);
}
-
- print_heading_with_help($strheading, $name, $langmodule);
- $mform->display();
+ return array($strheading, $langmodule);
}
/**