]> git.mjollnir.org Git - moodle.git/commitdiff
Quiz grades can be set to zero.
authormoodler <moodler>
Wed, 10 Sep 2003 05:02:39 +0000 (05:02 +0000)
committermoodler <moodler>
Wed, 10 Sep 2003 05:02:39 +0000 (05:02 +0000)
If so, then grades are not shown to students, nor is a column added to
the gradebook (although they are still stored and calculated internally)

mod/quiz/attempt.php
mod/quiz/lib.php
mod/quiz/mod.html
mod/quiz/review.php
mod/quiz/view.php

index 0c56224f7340099b73f995e5d1aeb9dfcdadb1fa..e417df9d4a6a70c8277199533eb744de4e779656 100644 (file)
         $strscore = get_string("score", "quiz");
 
         print_heading("$strscore: $result->sumgrades/$quiz->sumgrades ($result->percentage %)");
-        print_heading("$strgrade: $result->grade/$quiz->grade");
+        if ($quiz->grade) {
+            print_heading("$strgrade: $result->grade/$quiz->grade");
+        }
 
         print_continue("view.php?id=$cm->id");
 
index 82ca768146d0053a967261f9c78e67177aab1aa9..5f6b129e75f1fea3ff45f75465d49f85fc7ff7a0 100644 (file)
@@ -210,6 +210,11 @@ function quiz_cron () {
 function quiz_grades($quizid) {
 /// Must return an array of grades, indexed by user, and a max grade.
 
+    $quiz = get_record("quiz", "id", $quizid);
+    if (empty($quiz) or empty($quiz->grade)) {
+        return NULL;
+    }
+
     $return->grades = get_records_menu("quiz_grades", "quiz", $quizid, "", "userid,grade");
     $return->maxgrade = get_field("quiz", "grade", "id", "$quizid");
     return $return;
index 85f8967fba1cfee364b11876e4ea6a86fba7ebce..e1f102d70e51f960caf48a11e4713a1e17950773 100644 (file)
@@ -41,7 +41,7 @@
         $form->shuffleanswers = 1;
     }
     if (!isset($form->grade)) {
-        $form->grade = "";
+        $form->grade = 0;
     }
     if (!isset($form->questions)) {
         $form->questions = "";
     <td align=right><p><b><?php print_string("maximumgrade") ?>:</b></p></td>
     <td>
     <?php
-        for ($i=100; $i>=1; $i--) {
+        for ($i=100; $i>=0; $i--) {
             $grades[$i] = $i;
         }
         choose_from_menu($grades, "grade", "$form->grade", "");
index 4dbeda2dc4e0805f0ec76ee564ef3234c0b2370c..20b9950e81e6d24668c5ae7dbb0a1ad8391c227a 100644 (file)
     $table->data[] = array("$strtimetaken:", $timetaken);
     $table->data[] = array("$strtimecompleted:", userdate($attempt->timefinish));
     $table->data[] = array("$strscore:", "$result->sumgrades/$quiz->sumgrades ($result->percentage %)");
-    $table->data[] = array("$strgrade:", "$result->grade/$quiz->grade");
+    if ($quiz->grade) {
+        $table->data[] = array("$strgrade:", "$result->grade/$quiz->grade");
+    }
 
     print_table($table);
 
index 64ba336a8250e5b47a9e82ca7d5fcdaa9bc0a614..bd650f4f11fa45d0ed9f94f0901748c68d5a8b64 100644 (file)
     $mygrade = quiz_get_best_grade($quiz->id, $USER->id);
 
     if ($numattempts) { 
-        $table->head = array($strattempt, $strtimetaken, $strtimecompleted, "$strgrade / $quiz->grade");
-        $table->align = array("center", "center", "left", "right");
-        $table->width = array("", "", "", "");
+        if ($quiz->grade) {
+            $table->head = array($strattempt, $strtimetaken, $strtimecompleted, "$strgrade / $quiz->grade");
+            $table->align = array("center", "center", "left", "right");
+            $table->width = array("", "", "", "");
+        } else {  // No grades are being used
+            $table->head = array($strattempt, $strtimetaken, $strtimecompleted);
+            $table->align = array("center", "center", "left");
+            $table->width = array("", "", "");
+        }
         foreach ($attempts as $attempt) {
             if ($timetaken = ($attempt->timefinish - $attempt->timestart)) {
                 $timetaken = format_time($timetaken);
             } else {
                 $timetaken = "-";
             }
-            $attemptgrade = format_float(($attempt->sumgrades/$quiz->sumgrades)*$quiz->grade);
-            if ($attemptgrade == $mygrade) {
-                $attemptgrade = "<span class=highlight>$attemptgrade</span>";
-            }
-            if (!$available and $quiz->review) {
-                $attemptgrade = "<a href=\"review.php?q=$quiz->id&attempt=$attempt->id\">$attemptgrade</a>";
+            if ($quiz->grade) {
+                $attemptgrade = format_float(($attempt->sumgrades/$quiz->sumgrades)*$quiz->grade);
+                if ($attemptgrade == $mygrade) {
+                    $attemptgrade = "<span class=highlight>$attemptgrade</span>";
+                }
+                if (!$available and $quiz->review) {
+                    $attemptgrade = "<a href=\"review.php?q=$quiz->id&attempt=$attempt->id\">$attemptgrade</a>";
+                    $attempt->attempt = "<a href=\"review.php?q=$quiz->id&attempt=$attempt->id\">$attempt->attempt</a>";
+                }
+                $table->data[] = array( $attempt->attempt, 
+                                        format_time($attempt->timefinish - $attempt->timestart),
+                                        userdate($attempt->timefinish), 
+                                        $attemptgrade);
+            } else {  // No grades are being used
+                if (!$available and $quiz->review) {
+                    $attempt->attempt = "<a href=\"review.php?q=$quiz->id&attempt=$attempt->id\">$attempt->attempt</a>";
+                }
+                $table->data[] = array( $attempt->attempt, 
+                                        format_time($attempt->timefinish - $attempt->timestart),
+                                        userdate($attempt->timefinish));
             }
-            $table->data[] = array( $attempt->attempt, 
-                                    format_time($attempt->timefinish - $attempt->timestart),
-                                    userdate($attempt->timefinish), 
-                                    $attemptgrade);
         }
         print_table($table);
     }
         if ($numattempts < $quiz->attempts or !$quiz->attempts) { 
             if ($available) {
                 $options["id"] = $cm->id;
-                if ($numattempts) {
+                if ($numattempts and $quiz->grade) {
                     print_heading("$strbestgrade: $mygrade / $quiz->grade.");
                 }
                 echo "<BR>";
             }
         } else {
             print_heading(get_string("nomoreattempts", "quiz"));
-            print_heading(get_string("yourfinalgradeis", "quiz", "$mygrade / $quiz->grade"));
+            if ($quiz->grade) {
+                print_heading(get_string("yourfinalgradeis", "quiz", "$mygrade / $quiz->grade"));
+            }
         }
     }