DataObjects/pman.links.ini
[Pman.Core] / SimpleExcel.php
index 5f368d3..c94c45f 100644 (file)
@@ -102,11 +102,15 @@ class Pman_Core_SimpleExcel extends Pman
         $start_row++;
         $hasRender  = false;
            //     DB_DataObject::debugLevel(1);
-        foreach($data as $r=>$cl) {
+        foreach($data as $r=>$clo) {
+            $cl = $clo;
+            if (is_object($clo)) {
+                $cl = (array)$clo; // lossless converstion..
+            }
             
             if (isset($cfg['row_height'])) {
                 $worksheet->setRow($start_row +$r, $cfg['row_height']);
-               }
+            }
             
             foreach($cfg['cols']  as $c=>$col_cfg) {
                 $v = isset($cl[$col_cfg['dataIndex']]) ? $cl[$col_cfg['dataIndex']] : '';
@@ -115,7 +119,7 @@ class Pman_Core_SimpleExcel extends Pman
                 }
                 if (isset($col_cfg['txtrenderer'])) {
                     $v = call_user_func($col_cfg['txtrenderer'], 
-                            $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $cl);
+                            $cl[$col_cfg['dataIndex']], $worksheet, $r+1, $c, $clo);
                     if ($v === false) {
                         continue;
                     }
@@ -151,6 +155,23 @@ class Pman_Core_SimpleExcel extends Pman
                 }
             }
         }
+        $start_row += count($data);
+        
+        if (!empty($cfg['foot'])) {
+            foreach($cfg['foot'] as $row) { 
+                foreach($row as $c => $col) {
+                    // if it's an array? - formated ???
+                    $worksheet->write($start_row, $c, $col);
+                    
+                }
+                $start_row++;
+            }
+            // add a spacer..
+            $start_row++;
+        }
+            
+        
+        
         $workbook->close();
         $this->outfile2 = $outfile2;