Improved display of grades when grades should not be shown MDL-7150
This commit is contained in:
+4
-2
@@ -69,8 +69,10 @@
|
||||
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" :
|
||||
|
||||
+9
-6
@@ -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 {
|
||||
|
||||
+3
-3
@@ -170,10 +170,10 @@
|
||||
'&user='.$user->id.'&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.
|
||||
'&user='.$user->id.'&mode=grade', get_string('grade'));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user