You are here

function scale_user_cancel in Quiz 8.5

Same name and namespace in other branches
  1. 8.6 question_types/quiz_scale/quiz_scale.module \scale_user_cancel()
  2. 8.4 question_types/scale/scale.module \scale_user_cancel()
  3. 7.6 question_types/scale/scale.module \scale_user_cancel()
  4. 7 question_types/scale/scale.module \scale_user_cancel()
  5. 7.4 question_types/scale/scale.module \scale_user_cancel()
  6. 7.5 question_types/scale/scale.module \scale_user_cancel()

Implements hook_user_cancel().

File

question_types/quiz_scale/quiz_scale.module, line 132
Scale question type for the Quiz module.

Code

function scale_user_cancel($edit, $account, $method) {
  $results = db_query('SELECT id FROM {quiz_scale_answer_collection} ac
    JOIN {quiz_scale_user} u ON(ac.id = u.answer_collection_id)
    WHERE uid = :uid
    AND ac.for_all = :for_all
    AND ac.id NOT IN
      (SELECT answer_collection_id
       FROM {quiz_scale_node_properties})
    AND ac.id NOT IN
      (SELECT answer_collection_id
       FROM {quiz_scale_user}
       WHERE NOT uid = :uid)', array(
    ':uid' => $account->uid,
    ':for_all' => 0,
  ));
  foreach ($results as $result) {
    db_delete('quiz_scale_answer')
      ->condition('answer_collection_id', $result->id)
      ->execute();
    db_delete('quiz_scale_answer_collection')
      ->condition('id', $result->id)
      ->execute();
  }
  db_delete('quiz_scale_user')
    ->condition('uid', $account->uid)
    ->execute();
}