Advertisement
Guest User

BRC

a guest
May 9th, 2012
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.76 KB | None | 0 0
  1. add_action("gform_pre_submission_2", "pre_submission_handler");
  2. function pre_submission_handler(&$form_meta) {
  3.  
  4.     $handle = fopen("pdflog.txt", "a");
  5.     fwrite(
  6.         $handle,
  7.         date('Y-m-d g:ia')." START Pre-submission for: ".$_POST['input_2'].' '.$_POST['input_1']."\n"
  8.     );
  9.  
  10.     require_once("dompdf/dompdf_config.inc.php");
  11.  
  12.     fwrite(
  13.         $handle,
  14.         date('Y-m-d g:ia')." DOMPDF Loaded"."\n"
  15.     );
  16.  
  17.     $field_array = array();
  18.  
  19.     foreach($form_meta["fields"] as $field) {
  20.         if ( !isset($field['displayOnly']) )
  21.         {
  22.             $field_array[$field["id"]] = array(
  23.                 'label' => $field['label'],
  24.                 'value' => $_POST["input_" . $field["id"]]
  25.             );
  26.         }
  27.     }
  28.  
  29.     fwrite(
  30.         $handle,
  31.         date('Y-m-d g:ia')." Fields Filtered"."\n"
  32.     );
  33.  
  34.     /**
  35.      * Input IDs
  36.      * ---------------------------------
  37.      *
  38.      * Membership Type              21
  39.      * Given Name                    1
  40.      * Family Name                   2
  41.      * Mother's Name                 3
  42.      * Father's Name                 4
  43.      * Nationality                   5
  44.      * Date of Birth                 6
  45.      * Gender                        7
  46.      * Parent's E-mail               8
  47.      * Own E-mail                    9
  48.      * Own Mobile Phone             18
  49.      * Home Phone                   19
  50.      * Parent's Mobile Phone        20
  51.      * Emergency contact Name       13
  52.      * Emergency contact Phone      14
  53.      * Generated PDF                17
  54.      */
  55.  
  56.     $name_given  = $_POST['input_1'];
  57.     $name_family = $_POST['input_2'];
  58.     $random_key  = random_text('alnum', 6);
  59.     $filename    = "$name_family $name_given $random_key";
  60.     $folder      = 'pdf/member-registration/';
  61.  
  62.     /**
  63.      * HTML-PDF Template
  64.      */
  65.     $siteurl = get_option('siteurl').'/';
  66.  
  67.     fwrite(
  68.         $handle,
  69.         date('Y-m-d g:ia')." Load PDF Template"."\n"
  70.     );
  71.  
  72.     ob_start();
  73.     include( 'pdf/registration-form.php' );
  74.     $pdf_html = ob_get_contents();
  75.     ob_end_clean();
  76.  
  77.     fwrite(
  78.         $handle,
  79.         date('Y-m-d g:ia')." Template Loaded"."\n"
  80.     );
  81.  
  82.     fwrite(
  83.         $handle,
  84.         date('Y-m-d g:ia')." Generating PDF"."\n"
  85.     );
  86.     $dompdf = new DOMPDF();
  87.     $dompdf->load_html($pdf_html);
  88.     $dompdf->render();
  89.     $pdf = $dompdf->output();
  90.  
  91.     fwrite(
  92.         $handle,
  93.         date('Y-m-d g:ia')." PDF Generated"."\n"
  94.     );
  95.  
  96.     fwrite(
  97.         $handle,
  98.         date('Y-m-d g:ia')." Write to file "."\n"
  99.     );
  100.     do {
  101.         $filename = rename_file($filename).'.pdf';
  102.     } while ( file_exists($folder.$filename) );
  103.  
  104.     $fp = fopen($folder.$filename, "w");
  105.     fwrite($fp, $pdf);
  106.     fclose($fp);
  107.  
  108.     fwrite(
  109.         $handle,
  110.         date('Y-m-d g:ia')." File Written"."\n"
  111.     );
  112.  
  113.     $_POST['input_17'] = get_option('siteurl').'/'.$folder.$filename;
  114.  
  115.     fwrite(
  116.         $handle,
  117.         date('Y-m-d g:ia')." File: ".$filename."\n"
  118.     );
  119.  
  120.     fwrite(
  121.         $handle,
  122.         date('Y-m-d g:ia')." CLOSE Pre-submission for: ".$_POST['input_2'].' '.$_POST['input_1']."\n"
  123.     );
  124.     fclose($handle);
  125. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement