X-Git-Url: https://delta.frontaccounting.com/gitweb/?a=blobdiff_plain;f=reporting%2Fincludes%2Fexcel_report.inc;h=33ac54a529448ee627444c4679e9dd357a41b567;hb=0b63d898491b6577a5a5bf90e771dca0dcbbcf1f;hp=ecffc7d3bba2401636e441d2cb46a76cb8c162ed;hpb=55c51a9db64c9fe402d615e204824f8e4cd6a310;p=fa-stable.git diff --git a/reporting/includes/excel_report.inc b/reporting/includes/excel_report.inc index ecffc7d3..33ac54a5 100644 --- a/reporting/includes/excel_report.inc +++ b/reporting/includes/excel_report.inc @@ -29,6 +29,8 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook var $bottomMargin = 0; var $lineHeight; var $leftMargin = 0; + var $pageWidth; // dummy + var $rightMargin; // dummy var $cols; var $params; @@ -53,6 +55,7 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook var $formatHeaderRight; var $formatFooter; var $formatAmount = array(); + var $headerFunc; var $sheet; @@ -69,7 +72,7 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook $this->title = $title; $this->lineHeight = 12; $this->endLine = 760; - $this->fontSize = $fontsize; + $this->SetFontSize($fontsize); $this->oldFontSize = 0; $this->y = 0; $this->currency = ''; @@ -166,9 +169,16 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook $this->formatFooter =& $this->addFormat(); $this->formatFooter->setTop(2); $this->formatFooter->setTopColor('gray'); + $this->SetHeaderType("header"); } + /* + Set header handler + */ + function SetHeaderType($name) { + $this->headerFunc = $name; + } // Check a given name to see if it's a valid Excel worksheet name, // and fix if necessary function worksheetNameGenerator($name) @@ -206,6 +216,11 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook function Font($fontname = '', $style = 'normal') { } + + function SetFontSize($size) + { + $this->fontSize = $size; + } function Info($params, $cols, $headers, $aligns, $cols2 = null, $headers2 = null, $aligns2 = null) @@ -550,7 +565,7 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook { if (!$conv) $txt = date2sql($txt); - list($year, $mo, $day) = explode("-", $txt); + list($year, $mo, $day) = explode("-", $txt); $date = $this->ymd2date((int)$year, (int)$mo, (int)$day); $this->sheet->writeNumber($this->y, $c, $date, $this->formatDate); } @@ -634,7 +649,8 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook function NewPage() { - return; + if (method_exists($this, $this->headerFunc)) // draw predefined page layout if any + $this->{$this->headerFunc}(); } function ymd2Date($year, $mon, $day) // XLS internal date representation is a number between 1900-01-01 and 2078-12-31 @@ -677,8 +693,10 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook return ($px / $unit_offset_length); } - function End($email=0, $subject=null, $myrow=null, $doctype = 0) + function End($email=0, $subject='') { + global $path_to_root; + ++$this->y; for ($i = 0; $i < $this->numcols; $i++) $this->sheet->writeBlank($this->y, $i, $this->formatFooter); $this->sheet->mergeCells($this->y, 0, $this->y, $this->numcols - 1); @@ -697,7 +715,8 @@ class FrontReport extends Spreadsheet_Excel_Writer_Workbook } closedir($d); } - meta_forward($_SERVER['PHP_SELF'], "xls=1&filename=$this->filename&unique=$this->unique_name"); + + meta_forward($path_to_root.'/reporting/prn_redirect.php', "xls=1&filename=$this->filename&unique=$this->unique_name"); exit(); } }