Rewrte of FrontReport header API to accept external layouts in pdf and php files.
authorJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 1 Mar 2010 09:58:01 +0000 (09:58 +0000)
committerJanusz Dobrowolski <janusz@frontaccounting.eu>
Mon, 1 Mar 2010 09:58:01 +0000 (09:58 +0000)
reporting/includes/class.pdf.inc
reporting/includes/excel_report.inc
reporting/includes/header2.inc
reporting/includes/pdf_report.inc

index 778459dc7124c603b6382df824a2ae6d965172a9..71ba2783b209e60453e91b0b9b32a27726b04710 100644 (file)
@@ -59,8 +59,9 @@ define("K_RE_PATTERN_ARABIC", "/(
                        )/x");
 
 include_once (dirname(__FILE__).'/tcpdf.php');
+include_once (dirname(__FILE__).'/fpdi/fpdi.php');
 
-class Cpdf extends TCPDF {
+class Cpdf extends FPDI {
 
        function Cpdf($pageSize='A4', $l=array(), $pageOrientation='P')
        {
@@ -76,8 +77,6 @@ class Cpdf extends TCPDF {
                $this->setPrintFooter(false);
                $this->setPDFVersion("1.3");
                $this->setAutoPageBreak(0);
-               $this->AddPage();
-
                $this->SetLineWidth(1);
                $this->cMargin = 0;
        }
index 4fd129b7926f246e61394ac3aa66927488c23eb9..aca0e2c7bfa7f004ca4ff1c1e39619e75090091e 100644 (file)
@@ -630,7 +630,12 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook
        {
                $this->y += $l;
        }
-
+       
+       function NewPage()
+       {
+               return;
+       }
+       
        function ymd2Date($year, $mon, $day) // XLS internal date representation is a number between 1900-01-01 and 2078-12-31
        {                                                                               // if we need the time part too, we have to add this value after a decimalpoint.
        $mo = array(0,31,28,31,30,31,30,31,31,30,31,30,31);
index 5602afee84f50a5241098612de8567b4dee1474d..42d99bac05c178ebf098ab2a3e3e91d3a99c6fbe 100644 (file)
                $this->NewLine(3);
                $this->Text($mcol + 100, $doc_Date);
                if ($doctype == ST_SALESQUOTE || $doctype == ST_PURCHORDER || $doctype == ST_SALESORDER)
-                       $this->Text($mcol + 180, sql2date($myrow['ord_date']));
+                       $this->Text($mcol + 180, sql2date($this->formData['ord_date']));
                elseif ($doctype == ST_WORKORDER)       
-                       $this->Text($mcol + 180, sql2date($myrow['date_']));
+                       $this->Text($mcol + 180, sql2date($this->formData['date_']));
                else
-                       $this->Text($mcol + 180, sql2date($myrow['tran_date']));
+                       $this->Text($mcol + 180, sql2date($this->formData['tran_date']));
                $this->NewLine();
                $this->Text($mcol + 100, $doc_Invoice_no);
                if ($doctype == ST_SALESQUOTE || $doctype == ST_PURCHORDER || $doctype == ST_SALESORDER) // QUOTE, PO or SO
                {
                        if ($print_invoice_no == 1)
-                               $this->Text($mcol + 180, $myrow['order_no']);
+                               $this->Text($mcol + 180, $this->formData['order_no']);
                        else    
-                               $this->Text($mcol + 180, $myrow['reference']);
+                               $this->Text($mcol + 180, $this->formData['reference']);
                }               
                elseif ($doctype == ST_WORKORDER)       
-                       $this->Text($mcol + 180, $myrow['id']);
-               else if (isset($myrow['trans_no']) && isset($myrow['reference'])) // INV/CRE/STA
+                       $this->Text($mcol + 180, $this->formData['id']);
+               else if (isset($this->formData['trans_no']) && isset($this->formData['reference'])) // INV/CRE/STA
                {
                        if ($print_invoice_no == 1)
-                               $this->Text($mcol + 180, $myrow['trans_no']);
+                               $this->Text($mcol + 180, $this->formData['trans_no']);
                        else
-                               $this->Text($mcol + 180, $myrow['reference']);
+                               $this->Text($mcol + 180, $this->formData['reference']);
                }
 
                if ($this->pageNumber > 1 && !strstr($this->filename, "Bulk"))
                $temp = $this->row;
                if ($doctype == ST_SALESQUOTE || $doctype == ST_SALESORDER)
                {
-                       $this->Text($ccol, $myrow['name'], $icol);
+                       $this->Text($ccol, $this->formData['name'], $icol);
                }
                elseif ($doctype == ST_WORKORDER)
                {
-                       $this->Text($ccol, $myrow['location_name'], $icol);
+                       $this->Text($ccol, $this->formData['location_name'], $icol);
                        $this->NewLine();
-                       $this->TextWrapLines($ccol, $icol - $ccol, $myrow['delivery_address']);
+                       $this->TextWrapLines($ccol, $icol - $ccol, $this->formData['delivery_address']);
                }
                else
                {
                        if ($doctype == ST_PURCHORDER || $doctype == ST_SUPPAYMENT) {
-                               $name = $myrow['supp_name'];
-                               $addr = $myrow['address'];
+                               $name = $this->formData['supp_name'];
+                               $addr = $this->formData['address'];
                        } else {
-                               if (trim($branch['br_address']) != '') {
-                                       $name = $branch['br_name'];
-                                       $addr = $branch['br_address'];
+                               if (isset($this->formData['br_address']) && 
+                                               trim($this->formData['br_address']) != '') {
+                                       $name = $this->formData['br_name'];
+                                       $addr = $this->formData['br_address'];
                                } else {
-                                       $name = $myrow['DebtorName'];
-                                       $addr = $myrow['address'];
+                                       $name = $this->formData['DebtorName'];
+                                       $addr = $this->formData['address'];
                                }
                        }
                        $this->Text($ccol, $name, $icol);
                        $this->NewLine();
                        $this->TextWrapLines($ccol, $icol - $ccol, $addr);
                }
-               if ($sales_order != NULL)
+               if (isset($this->formData['deliver_to']))
                {
                        $this->row = $temp;
                        if ($doctype == ST_PURCHORDER)
                                $this->Text($mcol, $this->company['coy_name']);
-                       elseif ($doctype != ST_SUPPAYMENT && isset($sales_order['deliver_to']))
-                               $this->Text($mcol, $sales_order['deliver_to']);
+                       elseif ($doctype != ST_SUPPAYMENT && isset($this->formData['deliver_to']))
+                               $this->Text($mcol, $this->formData['deliver_to']);
                        $this->NewLine();
-                       if ($doctype != ST_SUPPAYMENT && isset($sales_order['deliver_to']))
-                               $this->TextWrapLines($mcol, $this->rightMargin - $mcol, $sales_order['delivery_address']);
+                       if ($doctype != ST_SUPPAYMENT && isset($this->formData['deliver_to']))
+                               $this->TextWrapLines($mcol, $this->rightMargin - $mcol, $this->formData['delivery_address']);
                }
                $this->row = $iline2 - $this->lineHeight - 1;
                $col = $this->leftMargin;
                $this->row = $iline3 - $this->lineHeight - 1;
                $col = $this->leftMargin;
                if ($doctype == ST_PURCHORDER || $doctype == ST_SUPPAYMENT)
-                       $this->TextWrap($col, $this->row, $width, $myrow['supp_account_no'], 'C');
+                       $this->TextWrap($col, $this->row, $width, $this->formData['supp_account_no'], 'C');
                elseif ($doctype == ST_WORKORDER)
-                       $this->TextWrap($col, $this->row, $width, $myrow['wo_ref'], 'C');
-               elseif (isset($sales_order["customer_ref"]))
-                       $this->TextWrap($col, $this->row, $width, $sales_order["customer_ref"], 'C');
-               elseif (isset($myrow["debtor_ref"]))
-                       $this->TextWrap($col, $this->row, $width, $myrow["debtor_ref"], 'C');
+                       $this->TextWrap($col, $this->row, $width, $this->formData['wo_ref'], 'C');
+               elseif (isset($this->formData["customer_ref"]))
+                       $this->TextWrap($col, $this->row, $width, $this->formData["customer_ref"], 'C');
+               elseif (isset($this->formData["debtor_ref"]))
+                       $this->TextWrap($col, $this->row, $width, $this->formData["debtor_ref"], 'C');
                $col += $width; 
-               if ($branch != null)
+               if (isset($this->formData['salesman']))
                {
-                       $id = $branch['salesman'];
+                       $id = $this->formData['salesman'];
                        //$sql = "SELECT salesman_name  FROM ".TB_PREF."salesman WHERE salesman_code='$id'";
                        //$result = db_query($sql,"could not get sales person");
                        //$row = db_fetch($result);
                        $this->TextWrap($col, $this->row, $width, get_salesman_name($id), 'C');
                }               
                elseif ($doctype == ST_SUPPAYMENT || $doctype == ST_CUSTPAYMENT)
-                       $this->TextWrap($col, $this->row, $width, $systypes_array[$myrow["type"]], 'C');
+                       $this->TextWrap($col, $this->row, $width, $systypes_array[$this->formData["type"]], 'C');
                elseif ($doctype == ST_WORKORDER)
-                       $this->TextWrap($col, $this->row, $width, $wo_types_array[$myrow["type"]], 'C');
+                       $this->TextWrap($col, $this->row, $width, $wo_types_array[$this->formData["type"]], 'C');
                $col += $width; 
                if ($doctype == ST_WORKORDER)
-                       $this->TextWrap($col, $this->row, $width, $myrow["StockItemName"], 'C');
-               elseif ($doctype != ST_PURCHORDER && isset($myrow['tax_id']))
-                       $this->TextWrap($col, $this->row, $width, $myrow['tax_id'], 'C');
+                       $this->TextWrap($col, $this->row, $width, $this->formData["StockItemName"], 'C');
+               elseif ($doctype != ST_PURCHORDER && isset($this->formData['tax_id']))
+                       $this->TextWrap($col, $this->row, $width, $this->formData['tax_id'], 'C');
                $col += $width; 
                if ($doctype == ST_SALESINVOICE)
                {
-                       $deliveries = get_parent_trans(ST_SALESINVOICE, $myrow['trans_no']);
+                       $deliveries = get_parent_trans(ST_SALESINVOICE, $this->formData['trans_no']);
                        $line = "";
                        foreach ($deliveries as $delivery)
                        {
                }
                elseif ($doctype == ST_CUSTDELIVERY)
                {
-                       $ref = $myrow['order_'];
+                       $ref = $this->formData['order_'];
                        if ($print_invoice_no == 0)
                        {
-                               $ref = get_reference(ST_SALESORDER, $myrow['order_']);
+                               $ref = get_reference(ST_SALESORDER, $this->formData['order_']);
                                if (!$ref)
-                                       $ref = $myrow['order_'];
+                                       $ref = $this->formData['order_'];
                        }               
                        $this->TextWrap($col, $this->row, $width, $ref, 'C');
                }
                elseif ($doctype == ST_WORKORDER)
-                       $this->TextWrap($col, $this->row, $width, $myrow["location_name"], 'C');
-               elseif (isset($myrow['order_']) && $myrow['order_'] != 0)
-                       $this->TextWrap($col, $this->row, $width, $myrow['order_'], 'C');
+                       $this->TextWrap($col, $this->row, $width, $this->formData["location_name"], 'C');
+               elseif (isset($this->formData['order_']) && $this->formData['order_'] != 0)
+                       $this->TextWrap($col, $this->row, $width, $this->formData['order_'], 'C');
                $col += $width; 
                if ($doctype == ST_SALESORDER || $doctype == ST_SALESQUOTE)
-                       $this->TextWrap($col, $this->row, $width, sql2date($myrow['delivery_date']), 'C');
+                       $this->TextWrap($col, $this->row, $width, sql2date($this->formData['delivery_date']), 'C');
                elseif ($doctype == ST_WORKORDER)       
-                       $this->TextWrap($col, $this->row, $width, $myrow["units_issued"], 'C');
+                       $this->TextWrap($col, $this->row, $width, $this->formData["units_issued"], 'C');
                elseif ($doctype != ST_PURCHORDER && $doctype != ST_CUSTCREDIT && $doctype != ST_CUSTPAYMENT &&
-                       $doctype != ST_SUPPAYMENT && isset($myrow['due_date']))
-                       $this->TextWrap($col, $this->row, $width, sql2date($myrow['due_date']), 'C');
-               if (!isset($packing_slip) || $packing_slip == 0)
+                       $doctype != ST_SUPPAYMENT && isset($this->formData['due_date']))
+                       $this->TextWrap($col, $this->row, $width, sql2date($this->formData['due_date']), 'C');
+               if ((!isset($packing_slip) || $packing_slip == 0) && ($doctype != ST_STATEMENT)) //!
                {
                        $this->row -= (2 * $this->lineHeight);
                        if ($doctype == ST_WORKORDER)
-                               $str = sql2date($myrow["required_by"]);
+                               $str = sql2date($this->formData["required_by"]);
                        else
                        {
-                               $id = $myrow['payment_terms'];
+                               $id = $this->formData['payment_terms'];
                                $sql = "SELECT terms FROM ".TB_PREF."payment_terms WHERE terms_indicator='$id'";
                                $result = db_query($sql,"could not get paymentterms");
                                $row = db_fetch($result);
                $this->Font('italic');
                $this->row = $iline7 - $this->lineHeight - 6;
                if ($doctype != ST_WORKORDER)
-                       $this->TextWrap($ccol, $this->row, $right - $ccol, $doc_Please_Quote . " - " . $myrow['curr_code'], 'C');
+                       $this->TextWrap($ccol, $this->row, $right - $ccol, $doc_Please_Quote . " - " . $this->formData['curr_code'], 'C');
                $this->row -= $this->lineHeight;
 
-               if (isset($bankaccount['bank_name']))
+               if (isset($this->formData['bank_name']))
                {
-                       $txt = $doc_Bank . ": ".$bankaccount['bank_name']. ", " . $doc_Bank_Account . ": " . $bankaccount['bank_account_number'];
+                       $txt = $doc_Bank . ": ".$this->formData['bank_name']. ", " . $doc_Bank_Account . ": " . $this->formData['bank_account_number'];
                        $this->TextWrap($ccol, $this->row, $right - $ccol, $txt, 'C');
                        $this->row -= $this->lineHeight;
                }       
-               if ($doctype == ST_SALESINVOICE && $branch['disable_branch'] > 0) // payment links
+               if ($doctype == ST_SALESINVOICE && $this->formData['disable_branch'] > 0) // payment links
                {
-                       if ($branch['disable_branch'] == 1)
+                       if ($this->formData['disable_branch'] == 1)
                        {
-                               $amt = number_format($myrow["ov_freight"] + $myrow["ov_gst"] +  $myrow["ov_amount"], user_price_dec());
+                               $amt = number_format($this->formData["ov_freight"] + $this->formData["ov_gst"] +        $this->formData["ov_amount"], user_price_dec());
                                $txt = $doc_Payment_Link . " PayPal: ";
-                               $name = urlencode($this->title . " " . $myrow['reference']);
+                               $name = urlencode($this->title . " " . $this->formData['reference']);
                                $url = "https://www.paypal.com/xclick/business=" . $this->company['email'] . "&item_name=" .
-                                       $name . "&amount=" . $amt . "&currency_code=" . $myrow['curr_code'];
+                                       $name . "&amount=" . $amt . "&currency_code=" . $this->formData['curr_code'];
                                $this->fontSize -= 2;
                                $this->TextWrap($ccol, $this->row, $right - $ccol, $txt, 'C');
                                $this->row -= $this->lineHeight;
index 9bb1d33ad6a53e173bf0181ed631208a64acda6c..b6962addd2403d9c8511a1e3f8239403718324bf 100644 (file)
@@ -9,13 +9,22 @@
     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  
     See the License here <http://www.gnu.org/licenses/gpl-3.0.html>.
 ***********************************************************************/
-//include_once($path_to_root . "reporting/includes/class.pdf.inc");
+/*
+       TODO:
+       . add StartReport/EndReport handlers for better bulk report support, with
+       . email/printer destination option should be selected on class creation instead
+        of End()
+       . add/use setter function for Header2 parameters (currently passed globally)
+       . in report files pass already prepared options to SetCommonData() to avoid need for
+        selection inside FrontReport generic class.
+*/
 include_once(dirname(__FILE__)."/class.pdf.inc");
 include_once(dirname(__FILE__)."/printer_class.inc");
 include_once($path_to_root . "/admin/db/company_db.inc");
 include_once($path_to_root . "/admin/db/fiscalyears_db.inc");
 include_once($path_to_root . "/admin/db/printers_db.inc");
 include_once($path_to_root . "/config.php");
+
 class FrontReport extends Cpdf
 {
        var $size;
@@ -51,11 +60,20 @@ class FrontReport extends Cpdf
        var $scaleLogoWidth;
        var $footerEnable;  // select whether to print a page footer or not
        var $footerText;  // store user-generated footer text
-       var $headerFunc;  // store the name of the currently selected header function
+       var $headerTmpl;  // store the name of the currently selected header template
+       var $tmplSize; // pdf header template size in pages
+
+       var $rep_id;
+       var $formData; // common data used for printing headers footers etc.
 
+       var $dest;      // destination: email or printer
+       
        function FrontReport($title, $filename, $size = 'A4', $fontsize = 9, $orientation = 'P', $margins = NULL, $excelColWidthFactor = NULL)
        {
                global $page_security;
+
+               $this->rep_id = $_POST['REP_ID'];       // FIXME
+               
                if (!$_SESSION["wa_current_user"]->can_access_page($page_security))
                {
                        display_error(_("The security settings on your account do not permit you to print this report"));
@@ -200,8 +218,8 @@ class FrontReport extends Cpdf
                $this->row = $this->pageHeight - $this->topMargin;
                $this->currency = '';
                $this->scaleLogoWidth = false; // if Logo, scale on width (else height).
-               $this->headerFunc = 'Header';  // default to the original header template
-
+               $this->SetHeaderType('Header'); // default
+               
                $rtl = ($_SESSION['language']->dir === 'rtl' ? 'rtl' : 'ltr');
                $code = $_SESSION['language']->code;
                $enc = strtoupper($_SESSION['language']->encoding);
@@ -209,7 +227,7 @@ class FrontReport extends Cpdf
                $l = array('a_meta_charset' => $enc, 'a_meta_dir' => $rtl, 'a_meta_language' => $code, 'w_page' => 'page');
                $this->Cpdf($size, $l, $orientation);
        }
-
+       
        /*
         * Select the font and style to use for following output until
         * it's changed again.
@@ -276,16 +294,14 @@ class FrontReport extends Cpdf
                $this->footerEnable = $footerenable;
                $this->footerText = $footertext;        
        }
-
+       //
+       //      Header for listings
+       //
        function Header()
        {
                $companyCol = $this->endLine - 150;
                $titleCol = $this->leftMargin + 100;
 
-               $this->pageNumber++;
-               if ($this->pageNumber > 1)
-                       $this->newPage();
-
                $this->row = $this->pageHeight - $this->topMargin;
 
                $this->SetDrawColor(128, 128, 128);
@@ -358,14 +374,53 @@ class FrontReport extends Cpdf
 
                $this->NewLine(2);
        }
-
-       function Header2($myrow, $branch, $sales_order, $bankaccount, $doctype)
+       /*
+               Transition function 
+       */
+       function SetCommonData($myrow, $branch, $sales_order, $bankaccount, $doctype)
+       {
+//             $this->formData = array_merge($myrow, $branch, $sales_order, 
+//                     $bank_account, array('doctype' => $doctype));
+
+               $this->formData = array();
+               $datnames = array( 
+               'myrow' => array('ord_date', 'date_', 'tran_date', 
+                       'order_no','reference', 'id', 'trans_no', 'name', 'location_name',
+                       'delivery_address', 'supp_name', 'address',
+                       'DebtorName', 'supp_account_no', 'wo_ref', 'debtor_ref','type', 'trans_no', 
+                       'StockItemName', 'tax_id', 'order_', 'delivery_date', 'units_issued',
+                       'due_date', 'required_by', 'payment_terms', 'curr_code',
+                       'ov_freight', 'ov_gst', 'ov_amount'),
+               'branch' => array('br_address', 'br_name', 'salesman', 'disable_branch'),
+               'sales_order' => array('deliver_to', 'delivery_address', 'customer_ref'),
+               'bankaccount' => array('bank_name', 'bank_account_number')
+               );
+       
+               foreach($datnames as $var => $fields) {
+                       if (isset($$var)) {
+                               foreach($fields as $locname) {
+                                       if (isset(${$var}[$locname])) {
+                                               $this->formData[$locname] = ${$var}[$locname];
+                                       }
+                               }
+                       }
+               }
+               $this->formData['doctype'] = $doctype;
+       }
+       /*
+               Set header handler
+       */
+       function SetHeaderType($name) {
+               $this->headerTmpl = $name;
+       }
+       /*
+               Header for sales/purchase documents
+       */
+       function Header2()
        {
-               global $comp_path, $path_to_root, $print_as_quote, $print_invoice_no, $packing_slip;
+               global $comp_path, $path_to_root, $print_as_quote, $print_invoice_no, $packing_slip; // FIXME
 
-               $this->pageNumber++;
-               if ($this->pageNumber > 1)
-                       $this->newPage();
+               $doctype = $this->formData['doctype'];
                $header2type = true;
                
                 // leave layout files names without path to enable including
@@ -389,16 +444,13 @@ class FrontReport extends Cpdf
        {
                global $comp_path;
 
-               // Make this header the default for the current report ( used by NewLine() )
-               $this->headerFunc = 'Header3';
-               
                // Turn off cell padding for the main report header, restoring the current setting later
                $oldcMargin = $this->cMargin;
                $this->SetCellPadding(0);
 
                // Set some constants which control header item layout
                // only set them once or the PHP interpreter gets angry
-               if ($this->pageNumber == 0)
+               if ($this->pageNumber == 1)
                {
                        define('COMPANY_WIDTH', 150);
                        define('LOGO_HEIGHT', 50);
@@ -419,17 +471,15 @@ class FrontReport extends Cpdf
                $footerRow = $this->bottomMargin - FOOTER_MARGIN;
 
                // Calling this function generates a new PDF page after the first instance
-               $this->pageNumber++;
-               if ($this->pageNumber > 1)
-               {
+//             {
 //                     // TODO: experimenting with line drawing to highlight current period
 //                     $this->SetLineWidth(1);
 //                     $this->LineTo($this->cols[3], 33, $this->cols[3], 534);
 //                     $this->LineTo($this->cols[4], 33, $this->cols[4], 534);
 //                     $this->SetLineWidth(0.1);
                        
-                       $this->newPage();
-               }
+//                     $this->newPage();
+//             }
                $this->row = $this->pageHeight - $this->topMargin;
 
                // Set the color of dividing lines we'll draw
@@ -879,7 +929,38 @@ class FrontReport extends Cpdf
 
                // Check to see if we're at the bottom and should insert a page break
                if ($this->row < $this->bottomMargin + ($np * $h))
-                       $this->{$this->headerFunc}();  // call header template chosen by current report
+                       $this->NewPage();
+       }
+
+       function NewPage() 
+       {
+               if ($this->pageNumber==0)
+               {
+                       // check if there is pdf header template for this report
+                       // and set if it is found
+                       $tmpl_pdf = find_custom_file("/reporting/forms/".$this->headerTmpl.".pdf");
+                       if ($tmpl_pdf) {
+                               $this->tmplSize = $this->setSourceFile($tmpl_pdf);
+                       }
+               }
+
+               $this->pageNumber++;
+               parent::newPage();
+
+               if ($this->tmplSize) {
+                       $this->row = $this->pageHeight - $this->topMargin; // reset row
+                       $id = $this->importPage(min($this->pageNumber, $this->tmplSize));
+                       $this->useTemplate($id);
+               }
+
+               // include related php file if any
+               $tmpl_php = find_custom_file("/reporting/forms/".$this->headerTmpl.".php");
+               if ($tmpl_php) {
+                       include($tmpl_php);
+               }
+
+               if (method_exists($this, $this->headerTmpl))    // draw predefined page layout if any
+                       $this->{$this->headerTmpl}();
        }
 
        function End($email=0, $subject=null, $myrow=null, $doctype = 0)
@@ -893,13 +974,6 @@ class FrontReport extends Cpdf
                        echo '<html><body>';
                        echo trim($pdfcode);
                        echo '</body></html>';
-                       //header("Content-Length: $len");
-                       //header("Content-Disposition: inline; filename=" . $this->filename);
-                       //header('Expires: 0');
-                       //header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
-                       //header('Pragma: public');
-
-                       //$this->pdf->stream();
                }
                else
                {
@@ -963,7 +1037,7 @@ class FrontReport extends Cpdf
                        }
                        else
                        {
-                               $printer = get_report_printer(user_print_profile(), $_POST['REP_ID']);
+                               $printer = get_report_printer(user_print_profile(), $this->rep_id);
                                if ($printer == false) {
                                        if(in_ajax()) {
                                                global $Ajax;
@@ -973,16 +1047,6 @@ class FrontReport extends Cpdf
                                                else
                                                        $Ajax->redirect($fname); // otherwise use faster method
                                        } else {
-                                       //echo '<html>
-                                       //              <head>
-                                       //                <SCRIPT LANGUAGE="JavaScript"><!--
-                                       //            function go_now () { window.location.href = "'.$fname.'"; }
-                                       //            //--></SCRIPT>
-                                       //        </head>
-                                       //        <body onLoad="go_now()"; >
-                                       //          <a href="'.$fname.'">click here</a> if you are not re-directed.
-                                       //        </body>
-                                       //    </html>';
                        header('Content-type: application/pdf');
                    header("Content-Disposition: inline; filename=$this->filename");
                        header('Expires: 0');