From: tjhunt Date: Thu, 11 Dec 2008 05:31:33 +0000 (+0000) Subject: question bank: MDL-14376 Errors deleting a course containing Cloze questions. X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=3c573960ecb23c706d35a8ff5ec5beadfd1a560b;p=moodle.git question bank: MDL-14376 Errors deleting a course containing Cloze questions. (For some reason, this only seemed to cause problems on MySQL.) --- diff --git a/lib/questionlib.php b/lib/questionlib.php index 1a16128807..9dfb6200ca 100644 --- a/lib/questionlib.php +++ b/lib/questionlib.php @@ -450,13 +450,19 @@ function delete_attempt($attemptid) { function delete_question($questionid) { global $QTYPES, $DB; + if (!$question = $DB->get_record('question', array('id'=>$questionid))) { + // In some situations, for example if this was a child of a + // Cloze question that was previously deleted, the question may already + // have gone. In this case, just do nothing. + return; + } + // Do not delete a question if it is used by an activity module if (count(question_list_instances($questionid))) { return; } // delete questiontype-specific data - $question = $DB->get_record('question', array('id'=>$questionid)); question_require_capability_on($question, 'edit'); if ($question) { if (isset($QTYPES[$question->qtype])) {