function _webform2pdf_get_submissions in Webform2PDF 6.2
Same name and namespace in other branches
- 6 webform2pdf.module \_webform2pdf_get_submissions()
- 7.3 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()
File
- ./
webform2pdf.module, line 500
Code
function _webform2pdf_get_submissions($nid, $header = NULL, $sids = array()) {
$SQL = 'SELECT s.*, sd.cid, sd.no, sd.data, u.name, u.mail, u.status';
$SQL .= ' FROM {webform_submissions} s';
$SQL .= ' LEFT JOIN {webform_submitted_data} sd ON sd.sid = s.sid';
$SQL .= ' LEFT JOIN {users} u ON u.uid = s.uid';
$SQL .= ' WHERE sd.nid = %d';
if (count($sids)) {
$SQL .= ' AND s.sid IN (%s)';
}
if (is_array($header)) {
$SQL .= tablesort_sql($header);
if (!isset($header[0]['sort'])) {
$SQL .= ', sid ASC';
}
$SQL .= ', cid ASC, no ASC';
}
else {
$SQL .= ' ORDER BY sid ASC, cid ASC, no ASC';
}
$result = db_query($SQL, $nid, implode(',', $sids));
$submissions = array();
$previous = array();
// Outer loop: iterate for each submission.
while ($row = db_fetch_object($result)) {
if ($row->sid != $previous) {
$submissions[$row->sid] = new stdClass();
$submissions[$row->sid]->sid = $row->sid;
$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]->status = $row->status;
}
$submissions[$row->sid]->data[$row->cid]['value'][$row->no] = $row->data;
$previous = $row->sid;
}
return $submissions;
}