From 3c573960ecb23c706d35a8ff5ec5beadfd1a560b Mon Sep 17 00:00:00 2001 From: tjhunt <tjhunt> Date: Thu, 11 Dec 2008 05:31:33 +0000 Subject: [PATCH] question bank: MDL-14376 Errors deleting a course containing Cloze questions. (For some reason, this only seemed to cause problems on MySQL.) --- lib/questionlib.php | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) 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])) { -- 2.39.5