コード例 #1
0
ファイル: OdtRenderer.php プロジェクト: cljk/kimai
 /**
  * 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();
 }
コード例 #2
0
			$OOo->setZipMethod('ziparchive');
		}

		$prefixe_generation_hors_dossier_mod_ooo="../mod_ooo/";
		$nom_fichier_modele_ooo="avertissement_fin_periode.odt";

		//Procédure du traitement à effectuer
		//les chemins contenant les données
		include_once("../mod_ooo/lib/chemin.inc.php");

		//echo "\$nom_dossier_modele_a_utiliser=$nom_dossier_modele_a_utiliser<br />";

		// setting the object
		$OOo->SetProcessDir($nom_dossier_temporaire ); //dossier où se fait le traitement (décompression / traitement / compression)
		// create a new openoffice 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 openoffice 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'
コード例 #3
0
ファイル: publipostage_ooo.php プロジェクト: rhertzog/lcs
		// Choix du module de dézippage
		$dezippeur=getSettingValue("fb_dezip_ooo");
		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 openoffice document from the template with an unique id
		$OOo->createFrom($path."/".$tab_file[$num_fich]); // le chemin du fichier est indiqué à partir de l'emplacement de ce fichier
		// merge data with openoffice 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'
コード例 #4
0
ファイル: imprime_ooo_1.php プロジェクト: alhousseyni/gepi
// Création d'une classe tinyDoc
$OOo = new tinyDoc();
// Choix du module de dézippage
$dezippeur = getSettingValue("fb_dezip_ooo");
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
コード例 #5
0
    // Création d'une classe tinyDoc
    $OOo = new tinyDoc();
    // Choix du module de dézippage
    $dezippeur = getSettingValue("fb_dezip_ooo");
    if ($dezippeur == 1) {
        $OOo->setZipMethod('shell');
        $OOo->setZipBinary('zip');
        $OOo->setUnzipBinary('unzip');
    } else {
        $OOo->setZipMethod('ziparchive');
    }
    $tempdir = get_user_temp_directory();
    $nom_dossier_temporaire = "../temp/" . $tempdir;
    $nom_fichier_xml_a_traiter = 'content.xml';
    $OOo->SetProcessDir($nom_dossier_temporaire);
    $OOo->createFrom($nom_fichier);
    //$OOo->createFrom($nom_fichier);
    $OOo->loadXml($nom_fichier_xml_a_traiter);
    // Traitement des tableaux
    $OOo->mergeXml(array('name' => 'var', 'type' => 'block', 'data_type' => 'array', 'charset' => 'UTF-8'), $tab_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;
}
// ===================== entete Gepi ======================================//
コード例 #6
0
	$dezippeur=getSettingValue("fb_dezip_ooo");
	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 ou se fait le traitement (decompression / traitement / compression)
	// create a new openoffice document from the template with an unique id
	//$OOo->createFrom($path."/".$tab_file[$num_fich]); // le chemin du fichier est indique a partir de l'emplacement de ce fichier
	$OOo->createFrom($path."/mod_discipline_liste_incidents.odt"); // le chemin du fichier est indique a partir de l'emplacement de ce fichier
	// merge data with openoffice file named 'content.xml'
	$OOo->loadXml($nom_fichier_xml_a_traiter); //Le fichier qui contient les variables et doit etre parse (il sera extrait)
	
	
	// Traitement des tableaux
	// On insere ici les lignes concernant la gestion des tableaux
	
	// $OOo->mergeXmlBlock('eleves',$tab_eleves_OOo);
	
	$OOo->mergeXml(
		array(
			'name'      => 'incident',
			'type'      => 'block',
			'data_type' => 'array',
			'charset'   => 'UTF-8'
コード例 #7
0
ファイル: print.php プロジェクト: pombredanne/ArcherSys
}
$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();