You are here

function webform_get_submission in Webform 5.2

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

Fetch a specified submission for a webform node.

1 call to webform_get_submission()
webform_menu in ./webform.module
Implementation of hook_menu().

File

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

Code

function webform_get_submission($nid, $sid, $reset = FALSE) {
  static $submissions = array();
  if (!isset($submissions[$nid][$sid]) || $reset) {
    $query = 'SELECT s.*, sd.cid, sd.no, sd.data ' . 'FROM {webform_submitted_data} as sd ' . 'LEFT JOIN {webform_submissions} as s on (sd.sid = s.sid) ' . 'WHERE sd.sid = %d AND s.nid = %d';
    $result = db_query($query, $sid, $nid);
    if ($row = db_fetch_object($result)) {
      $submission = new stdClass();
      $submission->nid = $row->nid;
      $submission->sid = $row->sid;
      $submission->uid = $row->uid;
      $submission->remote_addr = $row->remote_addr;
      $submission->submitted = $row->submitted;
      while ($row) {
        $submission->data[$row->cid]['value'][$row->no] = $row->data;
        $row = db_fetch_object($result);
      }
    }
    $submissions[$nid][$sid] = isset($submission) ? $submission : NULL;
  }
  return $submissions[$nid][$sid];
}