You are here

function webform2pdf_submission_download_pdf in Webform2PDF 6

Same name and namespace in other branches
  1. 6.2 includes/webform2pdf.download.inc \webform2pdf_submission_download_pdf()
  2. 7.4 includes/webform2pdf.download.inc \webform2pdf_submission_download_pdf()
  3. 7.3 includes/webform2pdf.download.inc \webform2pdf_submission_download_pdf()
1 call to webform2pdf_submission_download_pdf()
webform2pdf_url_decode in ./webform2pdf.module
1 string reference to 'webform2pdf_submission_download_pdf'
webform2pdf_menu in ./webform2pdf.module
Implementation of hook_menu().

File

./webform2pdf.module, line 1784

Code

function webform2pdf_submission_download_pdf($node, $submission, $output_type = 'I') {
  $output_types = array(
    'I',
    'D',
    'S',
  );
  if (in_array($output_type, $output_types)) {
    $tokens = _webform2pdf_get_template_vars($node, $submission);
    $template = _webform2pdf_get_template($node->nid);
    $pdf = theme('webform2pdf_pdf_init', $node, $template);
    if (!empty($pdf)) {
      $pdf = theme('webform2pdf_pdf_header', $pdf, $node, $template);
      $pdf = theme('webform2pdf_pdf_footer', $pdf, $node, $template);
      $pdf = theme('webform2pdf_pdf_page', $pdf);

      // initialize document
      $pdf
        ->AliasNbPages();
      $template['pages'] = explode('%pagebreak', $template['p_body']);
      foreach ($template['pages'] as $key => $page) {
        $template['pages'][$key] = strtr($page, $tokens);
      }
      $pdf = theme('webform2pdf_pdf_content', $pdf, $node, $template, $tokens);

      // reset pointer to the last page
      $pdf
        ->lastPage();
      $filename = "webform_submission-" . $node->nid . '-' . $submission->sid . ".pdf";
      if ($output_type == 'S') {
        return $pdf
          ->Output($filename, $output_type);
      }
      else {

        // Close and output PDF document
        $pdf
          ->Output($filename, $output_type);
        die;
      }
    }
  }
}