From 1e085edc4397ebe19049038444757e76e288d5a7 Mon Sep 17 00:00:00 2001 From: kaipe Date: Wed, 10 Dec 2003 20:03:59 +0000 Subject: [PATCH] The Quizzes page is given an "Edit questions" button that links to a possibility to edit questions without opening a quiz. --- lang/en/quiz.php | 1 + mod/quiz/category.php | 4 ++- mod/quiz/edit.php | 57 ++++++++++++++++++++++++++++--------------- mod/quiz/import.php | 4 ++- mod/quiz/index.php | 13 ++++++++-- mod/quiz/lib.php | 38 ++++++++++++++++++----------- mod/quiz/multiple.php | 4 ++- mod/quiz/question.php | 4 ++- 8 files changed, 86 insertions(+), 39 deletions(-) diff --git a/lang/en/quiz.php b/lang/en/quiz.php index 00fd004263..4f738942b5 100644 --- a/lang/en/quiz.php +++ b/lang/en/quiz.php @@ -64,6 +64,7 @@ $string['editingrandom'] = 'Editing a Random Question'; $string['editingrandomsamatch'] = 'Editing a Random Short-Answer Matching question'; $string['editingshortanswer'] = 'Editing a Short-Answer question'; $string['editingtruefalse'] = 'Editing a True/False question'; +$string['editquestions'] = 'Edit questions'; $string['false'] = 'False'; $string['feedback'] = 'Feedback'; $string['fileformat'] = 'File format'; diff --git a/mod/quiz/category.php b/mod/quiz/category.php index 3198d85fc9..6a4c8d5a07 100644 --- a/mod/quiz/category.php +++ b/mod/quiz/category.php @@ -34,7 +34,9 @@ $strsavechanges = get_string("savechanges"); $strbacktoquiz = get_string("backtoquiz", "quiz"); - $streditingquiz = get_string("editingquiz", "quiz"); + $streditingquiz = get_string(isset($modform->instance) ? "editingquiz" + : "editquestions", + "quiz"); $streditcategories = get_string("editcategories", "quiz"); print_header("$course->shortname: $streditcategories", "$course->shortname: $streditcategories", diff --git a/mod/quiz/edit.php b/mod/quiz/edit.php index bd47788076..98646c1c67 100644 --- a/mod/quiz/edit.php +++ b/mod/quiz/edit.php @@ -5,6 +5,8 @@ require_login(); + optional_variable($courseid); + if (empty($destination)) { $destination = ""; } @@ -19,6 +21,12 @@ $SESSION->modform = $modform; // Save the form in the current session + } else if ($courseid) { // Page retrieve through "Edit Questions" link - no quiz selected + $modform->course = $courseid; + unset($modform->instance); + + $SESSION->modform = $modform; // Save the form in the current session + } else { if (!isset($SESSION->modform)) { error("You have used this page incorrectly!"); @@ -34,11 +42,13 @@ require_login($course->id); - if (!isteacher($course->id)) { + if (!isteacheredit($course->id)) { error("You can't modify this course!"); } - if (empty($modform->grades)) { // Construct an array to hold all the grades. + if (isset($modform->instance) + && empty($modform->grades)) // Construct an array to hold all the grades. + { $modform->grades = quiz_get_all_question_grades($modform->questions, $modform->instance); } @@ -149,7 +159,9 @@ $SESSION->modform = $modform; - $strediting = get_string("editingquiz", "quiz"); + $strediting = get_string(isset($modform->instance) ? "editingquiz" + : "editquestions", + "quiz"); $strname = get_string("name"); print_header("$course->shortname: $strediting", "$course->shortname: $strediting", @@ -159,21 +171,23 @@ echo ""; echo ""; echo "
"; - print_simple_box_start("CENTER", "100%", $THEME->cellcontent2); - print_heading($modform->name); - quiz_print_question_list($modform->questions, $modform->grades); - ?> -
-

 

-
destination ?>> - - "> - "> -
-
-
"; + if (isset($modform->instance)) { + print_simple_box_start("CENTER", "100%", $THEME->cellcontent2); + print_heading($modform->name); + quiz_print_question_list($modform->questions, $modform->grades); + ?> +
+

 

+
destination ?>> + + "> + "> +
+
+
"; + } print_simple_box_start("CENTER", "100%", $THEME->cellcontent2); quiz_print_category_form($course, $modform->category); print_simple_box_end(); @@ -181,10 +195,15 @@ print_spacer(5,1); print_simple_box_start("CENTER", "100%", $THEME->cellcontent2); - quiz_print_cat_question_list($modform->category); + quiz_print_cat_question_list($modform->category, + isset($modform->instance)); print_simple_box_end(); echo "
"; + if (false == isset($modform->instance)) { + print_continue("index.php?id=$modform->course"); + } + print_footer($course); ?> diff --git a/mod/quiz/import.php b/mod/quiz/import.php index ee7f77b329..8259a9c644 100644 --- a/mod/quiz/import.php +++ b/mod/quiz/import.php @@ -21,7 +21,9 @@ error("Only the teacher can import quiz questions!"); } - $streditingquiz = get_string("editingquiz", "quiz"); + $streditingquiz = get_string(isset($modform->instance) ? "editingquiz" + : "editquestions", + "quiz"); $strimportquestions = get_string("importquestions", "quiz"); $strquestions = get_string("questions", "quiz"); diff --git a/mod/quiz/index.php b/mod/quiz/index.php index b78b7dc1d6..8c45220913 100644 --- a/mod/quiz/index.php +++ b/mod/quiz/index.php @@ -19,14 +19,23 @@ // Print the header $strquizzes = get_string("modulenameplural", "quiz"); + $streditquestions = isteacheredit($course->id) + ? "
wwwroot/mod/quiz/edit.php\">" + ."id\" />" + ."
" + + : ""; $strquiz = get_string("modulename", "quiz"); if ($course->category) { $navigation = "id\">$course->shortname ->"; } - print_header("$course->shortname: $strquizzes", "$course->fullname", "$navigation $strquizzes", - "", "", true, "", navmenu($course)); + print_header("$course->shortname: $strquizzes", "$course->fullname", "$navigation $strquizzes", + "", "", true, $streditquestions, navmenu($course)); // Get all the appropriate data diff --git a/mod/quiz/lib.php b/mod/quiz/lib.php index 0f060c30e9..dc45f5462c 100644 --- a/mod/quiz/lib.php +++ b/mod/quiz/lib.php @@ -1273,7 +1273,7 @@ function quiz_print_question_list($questionlist, $grades) { } -function quiz_print_cat_question_list($categoryid) { +function quiz_print_cat_question_list($categoryid, $quizselected=true) { // Prints a form to choose categories global $THEME, $QUIZ_QUESTION_TYPE; @@ -1297,9 +1297,11 @@ function quiz_print_cat_question_list($categoryid) { echo "

"; print_string("selectcategoryabove", "quiz"); echo "

"; - echo "

"; - print_string("addingquestions", "quiz"); - echo "

"; + if ($quizselected) { + echo "

"; + print_string("addingquestions", "quiz"); + echo "

"; + } return; } @@ -1343,20 +1345,26 @@ function quiz_print_cat_question_list($categoryid) { return; } - $canedit = isteacher($category->course); + $canedit = isteacheredit($category->course); echo "
"; echo ""; - echo ""; + echo ""; + if ($quizselected) { + echo ""; + } + echo ""; if ($canedit) { echo ""; } echo ""; foreach ($questions as $question) { echo "cellcontent\">"; - echo ""; + if ($quizselected) { + echo ""; + } echo ""; echo ""; } - echo ""; + if ($quizselected) { + echo ""; + } echo "
$strselect$strquestionname$strtype
$strselect$strquestionname$strtype$stredit
"; - echo "id VALUE=\"1\">"; - echo ""; + echo "id VALUE=\"1\">"; + echo "".$question->name.""; quiz_print_question_icon($question); @@ -1371,11 +1379,13 @@ function quiz_print_cat_question_list($categoryid) { } echo "
"; - echo ""; - //echo ""; - echo ""; - echo "
"; + echo ""; + //echo ""; + echo ""; + echo "
"; echo "
"; } diff --git a/mod/quiz/multiple.php b/mod/quiz/multiple.php index 204465db32..9a4e5feb10 100644 --- a/mod/quiz/multiple.php +++ b/mod/quiz/multiple.php @@ -97,7 +97,9 @@ $strsavechanges = get_string("savechanges"); $strbacktoquiz = get_string("backtoquiz", "quiz"); - $streditingquiz = get_string("editingquiz", "quiz"); + $streditingquiz = get_string(isset($modform->instance) ? "editingquiz" + : "editquestions", + "quiz"); $strcreatemultiple = get_string("createmultiple", "quiz"); print_header("$course->shortname: $strcreatemultiple", "$course->shortname: $strcreatemultiple", diff --git a/mod/quiz/question.php b/mod/quiz/question.php index 2dc1f3b2f2..d367411a85 100644 --- a/mod/quiz/question.php +++ b/mod/quiz/question.php @@ -48,7 +48,9 @@ error("You can't modify these questions!"); } - $streditingquiz = get_string("editingquiz", "quiz"); + $streditingquiz = get_string(isset($modform->instance) ? "editingquiz" + : "editquestions", + "quiz"); $streditingquestion = get_string("editingquestion", "quiz"); print_header("$course->shortname: $streditingquestion", "$course->shortname: $streditingquestion", -- 2.39.5