You are here

function webform_submission_delete in Webform 6.3

Same name and namespace in other branches
  1. 5.2 webform_submissions.inc \webform_submission_delete()
  2. 6.2 webform_submissions.inc \webform_submission_delete()
  3. 7.4 includes/webform.submissions.inc \webform_submission_delete()
  4. 7.3 includes/webform.submissions.inc \webform_submission_delete()

Delete a single submission.

Parameters

$nid: ID of node for which this webform was submitted.

$sid: ID of submission to be deleted (from webform_submitted_data).

2 calls to webform_submission_delete()
webform_results_clear in includes/webform.report.inc
Delete all submissions for a node.
webform_submission_delete_form_submit in includes/webform.submissions.inc

File

includes/webform.submissions.inc, line 137
This file is loaded when handling submissions, either submitting new, editing, or viewing. It also contains all CRUD functions for submissions.

Code

function webform_submission_delete($node, $submission) {

  // Iterate through all components and let each do cleanup if necessary.
  foreach ($node->webform['components'] as $cid => $component) {
    if (isset($submission->data[$cid])) {
      webform_component_invoke($component['type'], 'delete', $component, $submission->data[$cid]['value']);
    }
  }

  // Delete any anonymous session information.
  if (isset($_SESSION['webform_submission'][$submission->sid])) {
    unset($_SESSION['webform_submission'][$submission->sid]);
  }
  db_query('DELETE FROM {webform_submitted_data} WHERE nid = %d AND sid = %d', $node->nid, $submission->sid);
  db_query('DELETE FROM {webform_submissions} WHERE nid = %d AND sid = %d', $node->nid, $submission->sid);
  module_invoke_all('webform_submission_delete', $node, $submission);
}