You are here

function _webform2pdf_get_submissions in Webform2PDF 7.3

Same name and namespace in other branches
  1. 6.2 webform2pdf.module \_webform2pdf_get_submissions()
  2. 6 webform2pdf.module \_webform2pdf_get_submissions()

Return all the submissions for a particular node. Original function webform module: webform_get_submissions.

Parameters

$nid: The node ID for which submissions are being fetched.

$header: If the results of this fetch will be used in a sortable table, pass the array header of the table.

$sids: Optional; the submissions ID to filter the submissions by.

Return value

$submissions An array of submissions matching your filters.

2 calls to _webform2pdf_get_submissions()
theme_webform2pdf_mail2pdf in ./webform2pdf.module
webform2pdf_download_pdf_form_submit in includes/webform2pdf.download.inc

File

./webform2pdf.module, line 218

Code

function _webform2pdf_get_submissions($nid, $header = NULL, $sids = array()) {
  $query = db_select('webform_submissions', 's')
    ->condition('s.nid', $nid, '=');
  if (count($sids)) {
    $query
      ->condition('s.sid', $sids, 'IN');
  }
  $query
    ->leftJoin('webform_submitted_data', 'sd', 'sd.sid = s.sid');
  $query
    ->leftJoin('users', 'u', 'u.uid = s.uid');
  $query
    ->fields('s')
    ->fields('sd', array(
    'cid',
    'no',
    'data',
  ))
    ->fields('u', array(
    'name',
  ));
  if ($header) {
    $query = $query
      ->extend('TableSort');
    $query
      ->orderByHeader($header);
  }
  $result = $query
    ->execute();
  $previous = 0;
  foreach ($result as $row) {
    if ($row->sid != $previous) {
      $submissions[$row->sid] = new stdClass();
      $submissions[$row->sid]->sid = $row->sid;
      $submissions[$row->sid]->nid = $row->nid;
      $submissions[$row->sid]->submitted = $row->submitted;
      $submissions[$row->sid]->remote_addr = $row->remote_addr;
      $submissions[$row->sid]->uid = $row->uid;
      $submissions[$row->sid]->name = $row->name;
      $submissions[$row->sid]->is_draft = $row->is_draft;
    }
    $submissions[$row->sid]->data[$row->cid]['value'][$row->no] = $row->data;
    $previous = $row->sid;
  }
  return $submissions;
}