]> git.mjollnir.org Git - moodle.git/commitdiff
Merged MDL-7150 fixes (don't try to show grades when there aren't any)
authormoodler <moodler>
Tue, 31 Oct 2006 15:08:22 +0000 (15:08 +0000)
committermoodler <moodler>
Tue, 31 Oct 2006 15:08:22 +0000 (15:08 +0000)
course/user.php
grade/lib.php
user/tabs.php

index 3b7329b552ae2de1f56ad8cad179c5d8fba42bf0..5ad148a3f0b97edae52d8ff4ae6767387aa20b6c 100644 (file)
     switch ($mode) {
         case "grade":
             $course = get_record('course', 'id', required_param('id', PARAM_INT));
-            require_once($CFG->dirroot.'/grade/lib.php');
-            print_student_grade($user, $course);
+            if (!empty($course->showgrades)) {
+                require_once($CFG->dirroot.'/grade/lib.php');
+                print_student_grade($user, $course);
+            }
             break;
       
         case "todaylogs" :
index 30c9b7f0a59704294b4dd7fa8a99f5786b239a2e..0e4d5fe5c63b0013dc593ff2de2664bd6694d493 100644 (file)
@@ -2959,26 +2959,29 @@ function print_student_grade($user, $course) {
                 $sectionmods = explode(",", $section->sequence);
                 foreach ($sectionmods as $sectionmod) {
                     $mod = $mods[$sectionmod];
-                    $instance = get_record("$mod->modname", "id", "$mod->instance");
+                    if (empty($mod->modname)) {
+                        continue;  // Just in case, see MDL-7150
+                    }
+                    $instance = get_record($mod->modname, 'id', $mod->instance);
                     $libfile = "$CFG->dirroot/mod/$mod->modname/lib.php";    
                     
                     if (file_exists($libfile)) {
                         require_once($libfile);
-                        $gradefunction = $mod->modname."_grades";
+                        $gradefunction = $mod->modname.'_grades';
                         if (function_exists($gradefunction)) {   // Skip modules without grade function
                             if ($modgrades = $gradefunction($mod->instance)) {
                                 if (!empty($modgrades->maxgrade)) {
                                     if ($mod->visible) {
-                                        $maxgrade = "$modgrades->maxgrade";
+                                        $maxgrade = $modgrades->maxgrade;
                                     } else {
-                                        $maxgrade = "$modgrades->maxgrade";
+                                        $maxgrade = $modgrades->maxgrade;
                                     }
                                 } else {
-                                    $maxgrade = "";
+                                    $maxgrade = '';
                                 }
                                 
                                 if ($maxgrade) { 
-                                    echo "<br/>";
+                                    echo '<br />';
                                     if (!empty($modgrades->grades[$user->id])) {
                                         $currentgrade = $modgrades->grades[$user->id];
                                         echo "$mod->modfullname: ".format_string($instance->name,true)." - $currentgrade/$maxgrade";            } else {
index f79ae7f8cee63139ab948c83ded5666d05a018bc..5aef17547c71e0aad009617b6890835ce34e4432 100644 (file)
                                                  '&amp;user='.$user->id.'&amp;mode=stats',get_string('stats'));
                 }
                 
-                // needs permission checking!!!
-                
-                $secondrow[] = new tabobject('grade', $CFG->wwwroot.'/course/user.php?id='.$course->id.
+                if ($course->showgrades) {
+                    $secondrow[] = new tabobject('grade', $CFG->wwwroot.'/course/user.php?id='.$course->id.
                                           '&amp;user='.$user->id.'&amp;mode=grade', get_string('grade'));
+                }
                                 
             }