Ejemplo n.º 1
0
 function ExportData()
 {
     $utf8 = strtolower(EW_CHARSET) == "utf-8";
     $bSelectLimit = FALSE;
     // Load recordset
     if ($bSelectLimit) {
         $this->TotalRecs = $this->SelectRecordCount();
     } else {
         if (!$this->Recordset) {
             $this->Recordset = $this->LoadRecordset();
         }
         $rs =& $this->Recordset;
         if ($rs) {
             $this->TotalRecs = $rs->RecordCount();
         }
     }
     $this->StartRec = 1;
     $this->SetUpStartRec();
     // Set up start record position
     // Set the last record to display
     if ($this->DisplayRecs <= 0) {
         $this->StopRec = $this->TotalRecs;
     } else {
         $this->StopRec = $this->StartRec + $this->DisplayRecs - 1;
     }
     if (!$rs) {
         header("Content-Type:");
         // Remove header
         header("Content-Disposition:");
         $this->ShowMessage();
         return;
     }
     $this->ExportDoc = ew_ExportDocument($this, "v");
     $Doc =& $this->ExportDoc;
     if ($bSelectLimit) {
         $this->StartRec = 1;
         $this->StopRec = $this->DisplayRecs <= 0 ? $this->TotalRecs : $this->DisplayRecs;
     } else {
         //$this->StartRec = $this->StartRec;
         //$this->StopRec = $this->StopRec;
     }
     // Call Page Exporting server event
     $this->ExportDoc->ExportCustom = !$this->Page_Exporting();
     $ParentTable = "";
     $sHeader = $this->PageHeader;
     $this->Page_DataRendering($sHeader);
     $Doc->Text .= $sHeader;
     $this->ExportDocument($Doc, $rs, $this->StartRec, $this->StopRec, "view");
     // Export detail records (gastos_mantenimientos)
     if (EW_EXPORT_DETAIL_RECORDS && in_array("gastos_mantenimientos", explode(",", $this->getCurrentDetailTable()))) {
         global $gastos_mantenimientos;
         if (!isset($gastos_mantenimientos)) {
             $gastos_mantenimientos = new cgastos_mantenimientos();
         }
         $rsdetail = $gastos_mantenimientos->LoadRs($gastos_mantenimientos->GetDetailFilter());
         // Load detail records
         if ($rsdetail && !$rsdetail->EOF) {
             $ExportStyle = $Doc->Style;
             $Doc->SetStyle("h");
             // Change to horizontal
             if ($this->Export != "csv" || EW_EXPORT_DETAIL_RECORDS_FOR_CSV) {
                 $Doc->ExportEmptyRow();
                 $detailcnt = $rsdetail->RecordCount();
                 $gastos_mantenimientos->ExportDocument($Doc, $rsdetail, 1, $detailcnt);
             }
             $Doc->SetStyle($ExportStyle);
             // Restore
             $rsdetail->Close();
         }
     }
     // Export detail records (gastos)
     if (EW_EXPORT_DETAIL_RECORDS && in_array("gastos", explode(",", $this->getCurrentDetailTable()))) {
         global $gastos;
         if (!isset($gastos)) {
             $gastos = new cgastos();
         }
         $rsdetail = $gastos->LoadRs($gastos->GetDetailFilter());
         // Load detail records
         if ($rsdetail && !$rsdetail->EOF) {
             $ExportStyle = $Doc->Style;
             $Doc->SetStyle("h");
             // Change to horizontal
             if ($this->Export != "csv" || EW_EXPORT_DETAIL_RECORDS_FOR_CSV) {
                 $Doc->ExportEmptyRow();
                 $detailcnt = $rsdetail->RecordCount();
                 $gastos->ExportDocument($Doc, $rsdetail, 1, $detailcnt);
             }
             $Doc->SetStyle($ExportStyle);
             // Restore
             $rsdetail->Close();
         }
     }
     $sFooter = $this->PageFooter;
     $this->Page_DataRendered($sFooter);
     $Doc->Text .= $sFooter;
     // Close recordset
     $rs->Close();
     // Export header and footer
     $Doc->ExportHeaderAndFooter();
     // Call Page Exported server event
     $this->Page_Exported();
     // Clean output buffer
     if (!EW_DEBUG_ENABLED && ob_get_length()) {
         ob_end_clean();
     }
     // Write debug message if enabled
     if (EW_DEBUG_ENABLED) {
         echo ew_DebugMsg();
     }
     // Output data
     $Doc->Export();
 }