getModel('customerinvoicing'); $modelUser =& $this->getModel('user'); if (!$modelUser->checkPrivilege('Can invoice')) { $modelInvoices->searchuserid = LegacyHelper::getUserId(); } else if (JRequest::getVar('searchkind')!='byuser') $modelInvoices->searchuserid = ''; switch(JRequest::getVar('layout')) { case 'customerinvoices': $document->setMimeEncoding('application/pdf'); $date = gmdate('D, d M Y H:i:s',time()).' GMT'; $document->setModifiedDate($date); $modelInvoice =& $this->getModel('customerinvoice'); $pdf = new CustomerInvoicePDF('P', 'mm', 'A4', true, 'UTF-8', false); $cid = JRequest::getVar('cid','array',array()); foreach($cid as $id) { $invoice = $modelInvoice->getInvoiceByOrderId($id); if ($invoice->id) { $invoice->_firstPage = $pdf->getNumPages(); $pdf->startPageGroup(); $modelInvoice->SetId($invoice->id); $modelInvoice->printPDF($pdf,true); } } $this->assignRef('pdf',$pdf); break; case 'commissions': $document->setMimeEncoding('application/pdf'); $date = gmdate('D, d M Y H:i:s',time()).' GMT'; $document->setModifiedDate($date); $invoiceId = JRequest::getVar('invoiceId'); $modelInvoice =& $this->getModel('customerinvoice'); $modelInvoice->SetId($invoiceId); $modelInvoice->printCommissionsPDF($pdf); $this->assignRef('pdf',$pdf); break; case 'customerinvoice': $document->setMimeEncoding('application/pdf'); $date = gmdate('D, d M Y H:i:s',time()).' GMT'; $document->setModifiedDate($date); $invoiceId = JRequest::getVar('invoiceId'); $invoiceLineId = JRequest::getVar('invoiceLineId'); $modelInvoice =& $this->getModel('customerinvoice'); $modelInvoice->SetId($invoiceId); $modelInvoice->SetLineId($invoiceLineId); $modelInvoice->printCustomerPDF($pdf); $this->assignRef('pdf',$pdf); break; case 'invoice': $document->setMimeEncoding('application/pdf'); $date = gmdate('D, d M Y H:i:s',time()).' GMT'; $document->setModifiedDate($date); $invoiceId = JRequest::getVar('invoiceId'); $modelInvoice =& $this->getModel('customerinvoice'); $modelInvoice->SetId($invoiceId); $modelInvoice->printPDF($pdf); $this->assignRef('pdf',$pdf); break; case 'invoiceszip': $modelInvoices->setState('limit', -1); $modelInvoices->setState('limitstart',0); $modelInvoice =& $this->getModel('customerinvoice'); $tempDir = sys_get_temp_dir(); $invoices =& $modelInvoices->getData(); $basename = 'inv'; $archive = tempnam($tempDir, $basename); $files = array(); foreach($invoices as $inv) { $modelInvoice->SetId($inv->id); $modelInvoice->printPDF($pdf); $aux = $tempDir . $inv->reference.".pdf"; $pdf->Output($aux,'F'); $files[] = $aux; } JArchive::create($archive, $files,'gz','',$tempDir); $filename = 'invoices'.JRequest::getVar('searchyear').'_'.JRequest::getVar('searchmonth').".tar.gz"; $meta = "attachment; filename=\"" . $filename . "\""; header('Content-Type: application/x-gzip'); header('Content-Transfer-Encoding: binary'); header('Content-Disposition: '.$meta); header('Content-Length: '.filesize($archive)); header("Cache-Control: no-cache, must-revalidate"); header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); ob_clean(); flush(); readfile($archive); exit; //JResponse::setHeader('Content-Disposition',$meta); //$this->assignRef('contents',file_get_contents($archive,FILE_BINARY)); break; case 'invoicessummaryxls': $modelInvoices->setState('limit', -1); $modelInvoices->setState('limitstart',0); $modelInvoices->sortsummary = true; $modelInvoices->sortkind = JRequest::getVar('summaryorder'); $filename = 'summary'.JRequest::getVar('searchyear').'_'.JRequest::getVar('searchmonth').'.xls'; ob_clean(); $modelInvoices->printSummaryXLS($xls,$filename); $xls->send($filename); $xls->close(); exit; break; case 'invoicessummarypdf': $modelInvoices->setState('limit', -1); $modelInvoices->setState('limitstart',0); $modelInvoices->sortsummary = true; $modelInvoices->sortkind = JRequest::getVar('summaryorder'); $document->setMimeEncoding('application/pdf'); $date = gmdate('D, d M Y H:i:s',time()).' GMT'; $document->setModifiedDate($date); $modelInvoices->printSummaryPDF($pdf); $this->assignRef('pdf',$pdf); $this->assignRef('invoices',$invoices); break; } parent::display($tpl); }// function }// class ?>