You are here

function quiz_node_delete in Quiz 8.4

Implements hook_node_delete().

File

./quiz.module, line 1467
Quiz Module

Code

function quiz_node_delete(EntityInterface $node) {
  if ($node
    ->getType() == 'quiz') {
    $res = db_query('SELECT result_id FROM {quiz_node_results}
          WHERE nid = :nid', array(
      ':nid' => $node
        ->id(),
    ));
    $rids = array();
    while ($rid = $res
      ->fetchField()) {
      $rids[] = $rid;
    }
    quiz_delete_results($rids);

    // Remove quiz node records from table quiz_node_properties
    db_delete('quiz_node_properties')
      ->condition('nid', $node
      ->id())
      ->execute();

    // Remove quiz node records from table quiz_node_relationship
    db_delete('quiz_node_relationship')
      ->condition('parent_nid', $node
      ->id())
      ->execute();

    // Remove quiz node records from table quiz_node_results
    db_delete('quiz_node_results')
      ->condition('nid', $node
      ->id())
      ->execute();

    // Remove quiz node records from table quiz_node_result_options
    db_delete('quiz_node_result_options')
      ->condition('nid', $node
      ->id())
      ->execute();
  }
}