You are here

function scale_user_cancel in Quiz 7.6

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. 8.5 question_types/quiz_scale/quiz_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/scale/scale.module, line 132
The main file for scale.

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();
}