function webform2pdf_download_pdf_form_submit in Webform2PDF 7.4
Same name and namespace in other branches
- 6.2 includes/webform2pdf.download.inc \webform2pdf_download_pdf_form_submit()
- 6 webform2pdf.module \webform2pdf_download_pdf_form_submit()
- 7.3 includes/webform2pdf.download.inc \webform2pdf_download_pdf_form_submit()
File
- includes/
webform2pdf.download.inc, line 127 - Implemented menu path: node/%webform_menu/webform-results/downloadpdf node/%webform_menu/submission/%webform_menu_submission/downloadpdf
Code
function webform2pdf_download_pdf_form_submit($form, &$form_state) {
// filter zero values
$form_state['values']['submissions'] = array_filter($form_state['values']['submissions']);
// If there is a selected form element
if (count($form_state['values']['submissions'])) {
// call header generator
$node = node_load($form_state['values']['nid']);
module_load_include('inc', 'webform', 'includes/webform.submissions');
$header = theme('webform_results_submissions_header', array(
'node' => $node,
));
$filters = array(
'nid' => $form_state['values']['nid'],
'sid' => $form_state['values']['submissions'],
);
$submissions = webform_get_submissions($filters, $header);
$template = _webform2pdf_get_template($node->nid);
$pdf = theme('webform2pdf_pdf_init', array(
'node' => $node,
'template' => $template,
));
$pdf = theme('webform2pdf_pdf_header', array(
'pdf' => $pdf,
'node' => $node,
'template' => $template,
));
$pdf = theme('webform2pdf_pdf_footer', array(
'pdf' => $pdf,
'node' => $node,
'template' => $template,
));
$pdf = theme('webform2pdf_pdf_page', array(
'pdf' => $pdf,
));
foreach ($submissions as $key => $submission) {
$pages[$key] = theme('webform2pdf_content', array(
'node' => $node,
'submission' => $submission,
'template' => $template,
));
}
$template['pages'] = implode('%pagebreak', $pages);
$template['pages'] = explode('%pagebreak', $template['pages']);
$pdf = theme('webform2pdf_pdf_content', array(
'pdf' => $pdf,
'node' => $node,
'template' => $template,
));
// reset pointer to the last page
$pdf
->lastPage();
$filename = theme('webform2pdf_filename', array(
'node' => $node,
'submission' => time(),
));
// http header
drupal_add_http_header('Content-Type', 'application/pdf');
drupal_add_http_header('Cache-Control', 'public, must-revalidate, max-age=0');
// HTTP/1.1
drupal_add_http_header('Pragma', 'public');
drupal_add_http_header('Content-Disposition', 'inline; filename="' . $filename . '";');
// Close and output PDF document
die($pdf
->Output($filename, 'S'));
}
}