parent
81317309cf
commit
1d2d463aa8
@ -0,0 +1,67 @@ |
||||
<?php |
||||
/* For licensing terms, see /license.txt */ |
||||
|
||||
exit; |
||||
|
||||
require_once __DIR__ . '/../../main/inc/global.inc.php'; |
||||
|
||||
$sql = 'SELECT iid, c_id, title |
||||
FROM c_quiz |
||||
WHERE active = -1 |
||||
ORDER BY iid'; |
||||
|
||||
$result = Database::query($sql); |
||||
$data = Database::store_result($result); |
||||
$counter = 1; |
||||
$total = count($data); |
||||
echo 'Exercises to delete: '.$total.PHP_EOL; |
||||
|
||||
foreach ($data as $row) { |
||||
$id = $row['iid']; |
||||
$courseId = $row['c_id']; |
||||
//$exercise = new Exercise($courseId); |
||||
//$exercise->read($id); |
||||
|
||||
$courseInfo = api_get_course_info_by_id($row['c_id']); |
||||
|
||||
$sql = "SELECT question_id, c_id |
||||
FROM c_quiz_rel_question |
||||
WHERE exercice_id = $id |
||||
ORDER BY iid"; |
||||
$result = Database::query($sql); |
||||
$questions = Database::store_result($result); |
||||
$totalQuestions = count($questions); |
||||
|
||||
echo PHP_EOL.'-------'; |
||||
echo PHP_EOL.'Deleting exercise "'.$row['title'].'" - #'.$row['iid'].PHP_EOL; |
||||
echo '-------'.PHP_EOL.PHP_EOL; |
||||
|
||||
if (!empty($questions)) { |
||||
$counter = 1; |
||||
foreach ($questions as $questionData) { |
||||
$questionId = $questionData['question_id']; |
||||
// Check if question is used in another exercise: |
||||
$sql = "SELECT count(iid) |
||||
FROM c_quiz_rel_question |
||||
WHERE exercice_id != $id AND question_id = $questionId"; |
||||
$result = Database::query($sql); |
||||
$dataQuestion = Database::fetch_array($result); |
||||
|
||||
$count = $dataQuestion['count']; |
||||
if (empty($count)) { |
||||
$question = Question::read($questionId, $courseInfo); |
||||
$question->delete(); |
||||
echo 'Deleting question '.$counter.'/'.$totalQuestions.' - #'.$questionId.PHP_EOL; |
||||
} else { |
||||
echo 'Cannot delete question, it\'s been used by another exercise'.$counter.'/'.$totalQuestions.' - #'.$questionId.PHP_EOL; |
||||
} |
||||
$counter++; |
||||
} |
||||
} |
||||
|
||||
$sql = "DELETE FROM c_quiz WHERE iid = $id"; |
||||
$result = Database::query($sql); |
||||
|
||||
$sql = "DELETE FROM c_item_property WHERE ref = $id AND c_id = $courseId and tool = 'quiz' "; |
||||
$result = Database::query($sql); |
||||
} |
||||
Loading…
Reference in new issue