diff --git a/mod/lesson/action/continue.php b/mod/lesson/action/continue.php index 5d03ac63eef..d9ae2a88c20 100644 --- a/mod/lesson/action/continue.php +++ b/mod/lesson/action/continue.php @@ -122,7 +122,7 @@ $expectedanswer = str_replace('#####', '.*', $expectedanswer); } // see if user typed in any of the correct answers - if (lesson_iscorrect($pageid, $answer->jumpto) and ($lesson->custom && $answer->score > 0) ) { + if ((!$lesson->custom && lesson_iscorrect($pageid, $answer->jumpto)) or ($lesson->custom && $answer->score > 0) ) { if (!$useregexp) { // we are using 'normal analysis', which ignores case if (preg_match('/^'.$expectedanswer.'$/i',$useranswer)) { $ismatch = true; diff --git a/mod/lesson/locallib.php b/mod/lesson/locallib.php index 5dae74c0d25..c5b714d52ac 100644 --- a/mod/lesson/locallib.php +++ b/mod/lesson/locallib.php @@ -1472,7 +1472,7 @@ function lesson_grade($lesson, $ntries, $userid = 0) { $earned += $essayinfo->score; $nmanual++; $manualpoints += $answers[$attempt->answerid]->score; - } else { + } else if (!empty($attempt->answerid)) { $earned += $answers[$attempt->answerid]->score; } } else {