From a58cfea20579c1426231e265f715ae90ad925a36 Mon Sep 17 00:00:00 2001 From: Mikhail Golenkov Date: Sun, 26 Apr 2020 10:55:17 +1000 Subject: [PATCH] MDL-67540 quiz: Start transaction before selecting existing slots. Co-authored-by: Conn --- mod/quiz/locallib.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mod/quiz/locallib.php b/mod/quiz/locallib.php index b6f13139cac..b572b633b24 100644 --- a/mod/quiz/locallib.php +++ b/mod/quiz/locallib.php @@ -2152,14 +2152,14 @@ function quiz_add_quiz_question($questionid, $quiz, $page = 0, $maxmark = null) ); } + $trans = $DB->start_delegated_transaction(); $slots = $DB->get_records('quiz_slots', array('quizid' => $quiz->id), 'slot', 'questionid, slot, page, id'); if (array_key_exists($questionid, $slots)) { + $trans->allow_commit(); return false; } - $trans = $DB->start_delegated_transaction(); - $maxpage = 1; $numonlastpage = 0; foreach ($slots as $slot) {