mirror of
https://github.com/moodle/moodle.git
synced 2025-03-22 08:30:04 +01:00
MDL-78025 quiz: fix the quiz_questions_in_use logic
This commit is contained in:
parent
4a9c0b1410
commit
384ab12c55
@ -1432,25 +1432,15 @@ function quiz_get_post_actions() {
|
||||
}
|
||||
|
||||
/**
|
||||
* Standard callback used by questions_in_use.
|
||||
*
|
||||
* @param array $questionids of question ids.
|
||||
* @return bool whether any of these questions are used by any instance of this module.
|
||||
*/
|
||||
function quiz_questions_in_use($questionids) {
|
||||
global $DB;
|
||||
list($test, $params) = $DB->get_in_or_equal($questionids);
|
||||
$params['component'] = 'mod_quiz';
|
||||
$params['questionarea'] = 'slot';
|
||||
$sql = "SELECT qs.id
|
||||
FROM {quiz_slots} qs
|
||||
JOIN {question_references} qr ON qr.itemid = qs.id
|
||||
JOIN {question_bank_entries} qbe ON qbe.id = qr.questionbankentryid
|
||||
JOIN {question_versions} qv ON qv.questionbankentryid = qbe.id
|
||||
WHERE qv.questionid $test
|
||||
AND qr.component = ?
|
||||
AND qr.questionarea = ?";
|
||||
return $DB->record_exists_sql($sql, $params) || question_engine::questions_in_use(
|
||||
$questionids, new qubaid_join('{quiz_attempts} quiza',
|
||||
'quiza.uniqueid', 'quiza.preview = 0'));
|
||||
return question_engine::questions_in_use($questionids,
|
||||
new qubaid_join('{quiz_attempts} quiza', 'quiza.uniqueid',
|
||||
'quiza.preview = 0'));
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
x
Reference in New Issue
Block a user