You are here

function QuizResultController::delete in Quiz 7.6

Same name and namespace in other branches
  1. 7.5 includes/QuizResultController.class.inc \QuizResultController::delete()

Implements EntityAPIControllerInterface.

Parameters

$transaction: Optionally a DatabaseTransaction object to use. Allows overrides to pass in their transaction object.

Overrides EntityAPIController::delete

File

includes/QuizResultController.class.inc, line 5

Class

QuizResultController

Code

function delete($ids, \DatabaseTransaction $transaction = NULL) {
  foreach ($ids as $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,
    ));
    foreach ($result as $record) {
      quiz_question_delete_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)
      ->execute();
  }
  parent::delete($ids, $transaction);
}