diff --git a/includes/QuizResultController.class.inc b/includes/QuizResultController.class.inc index 32d5fe6..3f58426 100644 --- a/includes/QuizResultController.class.inc +++ b/includes/QuizResultController.class.inc @@ -3,18 +3,18 @@ class QuizResultController extends EntityAPIController { function delete($ids, \DatabaseTransaction $transaction = NULL) { - foreach ($ids as $id) { + foreach ($ids as $result_id) { // Fire the question types' implementations of question attempts deletion. $sql = 'SELECT result_id, question_nid, question_vid FROM {quiz_node_results_answers} WHERE result_id = (:result_id)'; - $result = db_query($sql, array(':result_id' => $id)); + $result = db_query($sql, array(':result_id' => $result_id)); foreach ($result as $record) { - quiz_question_delete_result($id, $record->question_nid, $record->question_vid); + quiz_question_delete_result($result_id, $record->question_nid, $record->question_vid); } // Delete Quiz's records of any attempts at a question. db_delete('quiz_node_results_answers') - ->condition('result_id', $id) + ->condition('result_id', $result_id) ->execute(); } parent::delete($ids, $transaction); diff --git a/question_types/matching/matching.classes.inc b/question_types/matching/matching.classes.inc index ae31138..254f7e7 100644 --- a/question_types/matching/matching.classes.inc +++ b/question_types/matching/matching.classes.inc @@ -109,11 +109,6 @@ class MatchingQuestion extends QuizQuestion { if ($only_this_version) { $delete_properties->condition('vid', $this->node->vid); - $match_id = db_query('SELECT match_id FROM {quiz_matching_node} WHERE nid = :nid AND vid = :vid', array(':nid' => $this->node->nid, ':vid' => $this->node->vid))->fetchCol(); - db_delete('quiz_matching_user_answers') - ->condition('match_id', is_array($match_id) ? $match_id : array(0), 'IN') - ->execute(); - db_delete('quiz_matching_node') ->condition('nid', $this->node->nid) ->condition('vid', $this->node->vid) @@ -121,12 +116,6 @@ class MatchingQuestion extends QuizQuestion { } // Delete all versions of this question. else { - $match_id = db_query('SELECT match_id FROM {quiz_matching_node} WHERE nid = :nid', array(':nid' => $this->node->nid))->fetchCol(); - if (!empty($match_id)) { - db_delete('quiz_matching_user_answers') - ->condition('match_id', $match_id, 'IN') - ->execute(); - } db_delete('quiz_matching_node') ->condition('nid', $this->node->nid) diff --git a/question_types/multichoice/multichoice.classes.inc b/question_types/multichoice/multichoice.classes.inc index 41c8f47..eb850bb 100644 --- a/question_types/multichoice/multichoice.classes.inc +++ b/question_types/multichoice/multichoice.classes.inc @@ -320,30 +320,14 @@ class MultichoiceQuestion extends QuizQuestion { public function delete($only_this_version = FALSE) { $delete_properties = db_delete('quiz_multichoice_properties')->condition('nid', $this->node->nid); $delete_answers = db_delete('quiz_multichoice_answers')->condition('question_nid', $this->node->nid); - $delete_results = db_delete('quiz_multichoice_user_answers')->condition('question_nid', $this->node->nid); if ($only_this_version) { $delete_properties->condition('vid', $this->node->vid); $delete_answers->condition('question_vid', $this->node->vid); - $delete_results->condition('question_vid', $this->node->vid); } - // Delete from table quiz_multichoice_user_answer_multi - if ($only_this_version) { - $user_answer_id = db_query('SELECT id FROM {quiz_multichoice_user_answers} WHERE question_nid = :nid AND question_vid = :vid', array(':nid' => $this->node->nid, ':vid' => $this->node->vid))->fetchCol(); - } - else { - $user_answer_id = db_query('SELECT id FROM {quiz_multichoice_user_answers} WHERE question_nid = :nid', array(':nid' => $this->node->nid))->fetchCol(); - } - - if (!empty($user_answer_id)) { - db_delete('quiz_multichoice_user_answer_multi') - ->condition('user_answer_id', $user_answer_id, 'IN') - ->execute(); - } $delete_properties->execute(); $delete_answers->execute(); - $delete_results->execute(); parent::delete($only_this_version); } diff --git a/question_types/scale/scale.classes.inc b/question_types/scale/scale.classes.inc index 5ad59af..fdf1b58e 100644 --- a/question_types/scale/scale.classes.inc +++ b/question_types/scale/scale.classes.inc @@ -278,10 +278,6 @@ class ScaleQuestion extends QuizQuestion { public function delete($only_this_version = FALSE) { parent::delete($only_this_version); if ($only_this_version) { - db_delete('quiz_scale_user_answers') - ->condition('question_nid', $this->node->nid) - ->condition('question_vid', $this->node->vid) - ->execute(); db_delete('quiz_scale_node_properties') ->condition('nid', $this->node->nid) @@ -289,9 +285,6 @@ class ScaleQuestion extends QuizQuestion { ->execute(); } else { - db_delete('quiz_scale_user_answers') - ->condition('question_nid', $this->node->nid) - ->execute(); db_delete('quiz_scale_node_properties') ->condition('nid', $this->node->nid) diff --git a/question_types/short_answer/short_answer.classes.inc b/question_types/short_answer/short_answer.classes.inc index 2075e9e..337666e 100644 --- a/question_types/short_answer/short_answer.classes.inc +++ b/question_types/short_answer/short_answer.classes.inc @@ -74,18 +74,14 @@ class ShortAnswerQuestion extends QuizQuestion { */ public function delete($only_this_version = FALSE) { parent::delete($only_this_version); - $delete_ans = db_delete('quiz_short_answer_user_answers'); - $delete_ans->condition('question_nid', $this->node->nid); $delete_node = db_delete('quiz_short_answer_node_properties'); $delete_node->condition('nid', $this->node->nid); if ($only_this_version) { - $delete_ans->condition('question_vid', $this->node->vid); $delete_node->condition('vid', $this->node->vid); } - $delete_ans->execute(); $delete_node->execute(); } diff --git a/question_types/truefalse/truefalse.classes.inc b/question_types/truefalse/truefalse.classes.inc index 8ea4187..824fdab 100644 --- a/question_types/truefalse/truefalse.classes.inc +++ b/question_types/truefalse/truefalse.classes.inc @@ -54,18 +54,14 @@ class TrueFalseQuestion extends QuizQuestion { public function delete($only_this_version = FALSE) { parent::delete($only_this_version); - $delete_ans = db_delete('quiz_truefalse_user_answers'); - $delete_ans->condition('question_nid', $this->node->nid); $delete_node = db_delete('quiz_truefalse_node'); $delete_node->condition('nid', $this->node->nid); if ($only_this_version) { - $delete_ans->condition('question_vid', $this->node->vid); $delete_node->condition('vid', $this->node->vid); } - $delete_ans->execute(); $delete_node->execute(); }