From e42b23ebe26e08595e1fe70ff474459e4de0bf64 Mon Sep 17 00:00:00 2001 From: John Okely Date: Fri, 12 Feb 2016 14:04:57 +0800 Subject: [PATCH] MDL-50218 lti: Return empty grade when none exists --- mod/lti/servicelib.php | 9 +++------ mod/lti/upgrade.txt | 5 +++++ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/mod/lti/servicelib.php b/mod/lti/servicelib.php index 438cea2d1cf..df21b61e058 100644 --- a/mod/lti/servicelib.php +++ b/mod/lti/servicelib.php @@ -217,14 +217,11 @@ function lti_read_grade($ltiinstance, $userid) { if (!empty($ltigrade) && isset($grades) && isset($grades->items[0]) && is_array($grades->items[0]->grades)) { foreach ($grades->items[0]->grades as $agrade) { $grade = $agrade->grade; - $grade = $grade / $ltigrade; - break; + if (isset($grade)) { + return $grade / $ltigrade; + } } } - - if (isset($grade)) { - return $grade; - } } function lti_delete_grade($ltiinstance, $userid) { diff --git a/mod/lti/upgrade.txt b/mod/lti/upgrade.txt index 501cb4c2fbb..7b15886aa41 100644 --- a/mod/lti/upgrade.txt +++ b/mod/lti/upgrade.txt @@ -1,5 +1,10 @@ This files describes API changes in the lti code. +=== 3.1 === + +* When requesting a grade from the outcome service, and empty grade will now be returned as + an empty grade in accordance with the spec. Previously a grade of 0 would be returned. + === 3.0 === * Function lti_view (locallib.php) was renamed to lti_launch_tool.