diff --git a/mod/quiz/config.html b/mod/quiz/config.html index aed19c2dccc3e..74287761e611c 100644 --- a/mod/quiz/config.html +++ b/mod/quiz/config.html @@ -224,7 +224,7 @@ : grademethod, "", "", ""); + choose_from_menu (quiz_get_grading_options(), "grademethod", $form->grademethod, "", "", ""); helpbutton("grademethod", get_string("grademethod","quiz"), "quiz"); ?> diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php index 57d7f407a49d3..34f12490da693 100644 --- a/mod/quiz/locallib.php +++ b/mod/quiz/locallib.php @@ -33,10 +33,6 @@ define("QUIZ_GRADEAVERAGE", "2"); define("QUIZ_ATTEMPTFIRST", "3"); define("QUIZ_ATTEMPTLAST", "4"); -$QUIZ_GRADE_METHOD = array ( QUIZ_GRADEHIGHEST => get_string("gradehighest", "quiz"), - QUIZ_GRADEAVERAGE => get_string("gradeaverage", "quiz"), - QUIZ_ATTEMPTFIRST => get_string("attemptfirst", "quiz"), - QUIZ_ATTEMPTLAST => get_string("attemptlast", "quiz")); /**#@-*/ @@ -533,6 +529,26 @@ function quiz_calculate_best_attempt($quiz, $attempts) { } } +/** + * @return the options for calculating the quiz grade from the individual attempt grades. + */ +function quiz_get_grading_options() { + return array ( + QUIZ_GRADEHIGHEST => get_string('gradehighest', 'quiz'), + QUIZ_GRADEAVERAGE => get_string('gradeaverage', 'quiz'), + QUIZ_ATTEMPTFIRST => get_string('attemptfirst', 'quiz'), + QUIZ_ATTEMPTLAST => get_string('attemptlast', 'quiz')); +} + +/** + * @param int $option one of the values QUIZ_GRADEHIGHEST, QUIZ_GRADEAVERAGE, QUIZ_ATTEMPTFIRST or QUIZ_ATTEMPTLAST. + * @return the lang string for that option. + */ +function quiz_get_grading_option_name($option) { + $strings = quiz_get_grading_options(); + return $strings[$option]; +} + /// OTHER QUIZ FUNCTIONS //////////////////////////////////////////////////// diff --git a/mod/quiz/mod_form.php b/mod/quiz/mod_form.php index 06878c6631a17..2d7ae3e874841 100644 --- a/mod/quiz/mod_form.php +++ b/mod/quiz/mod_form.php @@ -8,7 +8,7 @@ class mod_quiz_mod_form extends moodleform_mod { function definition() { - global $COURSE, $CFG, $QUIZ_GRADE_METHOD; + global $COURSE, $CFG; $mform =& $this->_form; //------------------------------------------------------------------------------- @@ -117,7 +117,7 @@ function definition() { //------------------------------------------------------------------------------- $mform->addElement('header', 'gradeshdr', get_string('grades', 'grades')); - $mform->addElement('select', 'grademethod', get_string("grademethod", "quiz"), $QUIZ_GRADE_METHOD); + $mform->addElement('select', 'grademethod', get_string("grademethod", "quiz"), quiz_get_grading_options()); $mform->setHelpButton('grademethod', array("grademethod", get_string("grademethod","quiz"), "quiz")); $mform->setAdvanced('grademethod', $CFG->quiz_fix_grademethod); $mform->setDefault('grademethod', $CFG->quiz_grademethod); diff --git a/mod/quiz/view.php b/mod/quiz/view.php index 41a4db76e267e..bd7a1ef27e0ef 100644 --- a/mod/quiz/view.php +++ b/mod/quiz/view.php @@ -97,7 +97,7 @@ echo "

".get_string("attemptsallowed", "quiz").": $quiz->attempts

"; } if ($quiz->attempts != 1) { - echo "

".get_string("grademethod", "quiz").": ".$QUIZ_GRADE_METHOD[$quiz->grademethod]."

"; + echo "

".get_string("grademethod", "quiz").": ".quiz_get_grading_option_name($quiz->grademethod)."

"; } // Print information about timings. @@ -289,7 +289,7 @@ if ($overallstats) { if ($available && $moreattempts) { $a = new stdClass; - $a->method = $QUIZ_GRADE_METHOD[$quiz->grademethod]; + $a->method = quiz_get_grading_option_name($quiz->grademethod); $a->mygrade = $mygrade; $a->quizgrade = $quiz->grade; print_heading(get_string('gradesofar', 'quiz', $a));