/** * Render the invoice. * * @return mixed */ public function render() { // libs TinyButStrong include_once 'TinyButStrong/tinyButStrong.class.php'; include_once 'TinyButStrong/tinyDoc.class.php'; $doc = new tinyDoc(); // use zip extension if available if (class_exists('ZipArchive')) { $doc->setZipMethod('ziparchive'); } else { $doc->setZipMethod('shell'); try { $doc->setZipBinary('zip'); $doc->setUnzipBinary('unzip'); } catch (tinyDocException $e) { $doc->setZipMethod('pclzip'); } } $doc->setProcessDir($this->getTemporaryDirectory()); //This is where the template is selected $templateform = $this->getTemplateDir() . $this->getTemplateFile(); $doc->createFrom($templateform); $doc->loadXml('content.xml'); // fetch variables from model to get values $customer = $this->getModel()->getCustomer(); $projects = $this->getModel()->getProjects(); $entries = $this->getModel()->getEntries(); // assign all available variables (which are not arrays as they do not work in tinyButStrong) foreach ($this->getModel()->toArray() as $k => $v) { if (is_array($v)) { continue; } $GLOBALS[$k] = $v; } // ugly but neccessary for tinyButStrong // set globals variables, so they can be used in invoice templates $allCustomer = $this->prepareCustomerArray($customer); foreach ($allCustomer as $k => $v) { $GLOBALS[$k] = $v; } $GLOBALS['projects'] = $projects; $GLOBALS['project'] = implode(', ', array_map(function ($project) { return $project['name']; }, $projects)); $doc->mergeXmlBlock('row', $entries); $doc->saveXml(); $doc->close(); // send and remove the document $doc->sendResponse(); $doc->remove(); }
// On insère ici les lignes concernant la gestion des tableaux // $OOo->mergeXmlBlock('eleves',$tab_eleves_OOo); $OOo->mergeXml( array( 'name' => 'eleves', 'type' => 'block', 'data_type' => 'array', 'charset' => 'UTF-8' ),$tab_eleves_OOo); $OOo->SaveXml(); //traitement du fichier extrait $OOo->sendResponse(); //envoi du fichier traité $OOo->remove(); //suppression des fichiers de travail // Fin de traitement des tableaux $OOo->close(); die(); } } //**************** EN-TETE ******************************* // End standart header $titre_page = "Impression des $mod_disc_terme_avertissement_fin_periode"; require_once("../lib/header.inc.php"); //******************************************************** //debug_var();
if ($dezippeur == 1) { $OOo->setZipMethod('shell'); $OOo->setZipBinary('zip'); $OOo->setUnzipBinary('unzip'); } else { $OOo->setZipMethod('ziparchive'); } // setting the object $OOo->SetProcessDir($nom_dossier_temporaire); //dossier où se fait le traitement (décompression / traitement / compression) // create a new openDocument document from the template with an unique id $OOo->createFrom($nom_dossier_modele_a_utiliser . $nom_fichier_modele_ooo); // le chemin du fichier est indiqué à partir de l'emplacement de ce fichier // merge data with openDocument file named 'content.xml' $OOo->loadXml($nom_fichier_xml_a_traiter); //Le fichier qui contient les variables et doit être parsé (il sera extrait) // Traitement des tableaux // On insère ici les lignes concernant la gestion des tableaux // $OOo->mergeXmlBlock('eleves',$tab_eleves_OOo); $OOo->mergeXml(array('name' => 'eleves', 'type' => 'block', 'data_type' => 'array', 'charset' => 'UTF-8'), $tab_eleves_OOo); $OOo->SaveXml(); //traitement du fichier extrait $OOo->sendResponse(); //envoi du fichier traité $OOo->remove(); //suppression des fichiers de travail // Fin de traitement des tableaux $OOo->close(); //======================================= // FIN AFFICHAGE DES DONNÉES //=======================================
$vat_rate = $kndArray['knd_vat']; if (!is_numeric($vat_rate)) { $vat_rate = $kga['conf']['defaultVat']; } $vat = $vat_rate * $gtotal / 100; $total = $gtotal - $vat; $doc = new tinyDoc(); // use zip extension if available if (class_exists('ZipArchive')) { $doc->setZipMethod('ziparchive'); } else { $doc->setZipMethod('shell'); try { $doc->setZipBinary('zip'); $doc->setUnzipBinary('unzip'); } catch (tinyDocException $e) { $doc->setZipMethod('pclzip'); } } $doc->setProcessDir('../../temporary'); //This is where the template is selected $templateform = "templates/" . $_REQUEST['ivform_file']; $doc->createFrom($templateform); $doc->loadXml('content.xml'); $doc->mergeXmlBlock('row', $invoiceArray); $doc->saveXml(); $doc->close(); // send and remove the document $doc->sendResponse(); $doc->remove();