From 3f632d3f5ee84161fd2880924c0670f046ff3bd8 Mon Sep 17 00:00:00 2001 From: Mark Nelson Date: Sat, 28 Jan 2017 19:26:12 +1100 Subject: [PATCH] #34 Prevent invalid course module ID error --- element/grade/classes/element.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/element/grade/classes/element.php b/element/grade/classes/element.php index 401630b..8fd410c 100644 --- a/element/grade/classes/element.php +++ b/element/grade/classes/element.php @@ -285,13 +285,18 @@ class element extends \mod_customcert\element { * @param int $moduleid * @param int $gradeformat * @param int $userid - * @return \stdClass the grade information + * @return \stdClass|bool the grade information, or false if there is none. */ public static function get_mod_grade($moduleid, $gradeformat, $userid) { global $DB; - $cm = $DB->get_record('course_modules', array('id' => $moduleid), '*', MUST_EXIST); - $module = $DB->get_record('modules', array('id' => $cm->module), '*', MUST_EXIST); + if (!$cm = $DB->get_record('course_modules', array('id' => $moduleid))) { + return false; + } + + if (!$module = $DB->get_record('modules', array('id' => $cm->module))) { + return false; + } $gradeitem = grade_get_grades($cm->course, 'mod', $module->name, $cm->instance, $userid); if (!empty($gradeitem)) {