Cleanup: removed all closing tags in php files.
[fa-stable.git] / reporting / includes / excel_report.inc
index ecffc7d3bba2401636e441d2cb46a76cb8c162ed..214bcfde04aad6f0e03bca71021b6e53db027891 100644 (file)
@@ -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,9 +715,9 @@ 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();
        }
 }
 
-?>
\ No newline at end of file