/branches/v5.6-bureau/modules/pdf_export/PdfExport.php |
---|
New file |
0,0 → 1,233 |
<?php |
/** |
* Classe PdfExport, réalise des exportations pdf des fiches de taxons. |
* Les fonctionnalités proposées sont l'export de toutes les parties de la fiche pdf |
* ou bien des parties choisies. |
* (voir le squelette fiche_pdf_lien.tpl.html pour le formulaire dans le module fiche.) |
* |
* manuel wkhtmltopdf : http://madalgo.au.dk/~jakobt/wkhtmltoxdoc/wkhtmltopdf_0.10.0_rc2-doc.html |
* pour changer de librairie : changer la fonction transformerHtmlEnPdf() |
* |
* @category php 5.2 |
* @package eflore-consultation |
* @author Mathilde Salthun-Lassalle <mathilde@tela-botanica.org> |
* @copyright 2012 Tela-Botanica |
* @license http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL |
* @license http://www.gnu.org/licenses/gpl.html Licence GNU-GPL |
* @version $Id$ |
*/ |
class PdfExport extends aControleur { |
const DUREE_DE_VIE_PDF = 86400;// 3600 * 24 * 2 = 172 800 |
const DUREE_DE_VIE_HTML = 60; |
private $Conteneur; |
private $parametres = array(); |
private $chemin_pdf; |
private $html; |
private $wkhtml; |
private $piedepage; |
private $fichier_pdf; |
private $blocs = array(); |
private $Desc; |
private $Ecolo; |
private $Ethno; |
private $Illus; |
private $Nomen; |
private $Reparti; |
private $Stat; |
private $Biblio; |
public function initialiser() { |
spl_autoload_register(array($this, 'chargerClassesOnglets')); |
$this->capturerParametres(); |
$this->conteneur = new Conteneur($this->parametres); |
$this->chemin_pdf = Config::get('dossier_pdf'); |
$this->wkhtml = Config::get('WKHTMLTOPDF'); |
$this->Desc = new Description($this->conteneur); |
$this->Ecolo = new Ecologie($this->conteneur); |
$this->Ethno = new Ethnobotanique($this->conteneur); |
$this->Illus = new Illustrations($this->conteneur); |
$this->Nomen = new Nomenclature($this->conteneur); |
$this->Stat = new Statut($this->conteneur); |
$this->Biblio = new Bibliographie($this->conteneur); |
$this->Reparti = new Repartition($this->conteneur); |
$this->piedepage = Config::get('chemin_modules').'pdf_export/squelettes/footer.html'; |
} |
private function chargerClassesOnglets($classe) { |
$base = dirname(__FILE__).DS; |
$cheminFormateurs = $base.'../fiche/formateurs'.DS; |
$dossiers = array($base, $cheminFormateurs); |
foreach ($dossiers as $chemin) { |
$fichierATester = $chemin.$classe.'.php'; |
if (file_exists($fichierATester)) { |
include_once $fichierATester; |
return null; |
} |
} |
} |
private function getNomRetenu() { |
$nom_retenu = $this->conteneur->getNomCourant()->getNomRetenu()->get('nom_sci'); |
return $nom_retenu; |
} |
private function getNomRetenuHTML() { |
$nom_retenu = '<span class="italique">' |
.$this->conteneur->getNomCourant()->getNomRetenu()->get('nom_sci') |
.'</span> '.$this->conteneur->getNomCourant()->getNomRetenu()->get('auteur'); |
return $nom_retenu; |
} |
private function getNomFichierValide(){ |
$nom_retenu = $this->conteneur->getNomCourant()->getNomRetenu()->get('nom_sci'); |
$nom_retenu = str_replace(' ','_',$nom_retenu ); |
$nom_retenu = preg_replace('/[\(\)\.\[\]]/','',$nom_retenu ); |
return $nom_retenu; |
} |
private function capturerParametres() { |
if (isset($_GET['num_nom'])) { |
$this->parametres['num_nom'] = $_GET['num_nom']; |
} |
if (isset($_GET['nom'])) { |
$this->parametres['nom'] = $_GET['nom']; |
} |
if (isset($_GET['type_nom'])) { |
$this->parametres['type_nom'] = $_GET['type_nom']; |
} |
if (isset($_GET['referentiel'])) { |
$this->parametres['referentiel'] = $_GET['referentiel']; |
} |
if (isset($_GET['niveau'])) { |
Registre::set('parametres.niveau', $_GET['niveau']); |
} |
if (isset($_GET['onglet'])) { |
$this->onglet = $_GET['onglet']; |
} |
} |
private function capturerParametresFormulaire() { |
$this->blocs = array('description', 'ecologie', 'ethnobotanique', 'statuts', 'illustrations', |
'bibliographie', 'repartition', 'nomenclature'); |
if (!empty($_POST['bloc'])) { |
$this->blocs = $_POST['bloc']; |
} |
} |
public function executerActionParDefaut() { |
$this->executerPdfExport(); |
} |
public function executerPdfExport(){ |
$this->capturerParametresFormulaire(); |
$hash = crc32($this->parametres['referentiel'].'-'.implode('-', $this->blocs)); |
$nom_fichier = $this->getNomFichierValide().'-'.$hash; |
// le dossier cache existe normalement, mais le sous dossier pdf |
// est parfois effacé par erreur lors des suppressions de cache |
// il vaut mieux donc le recréer s'il n'existe pas |
if(!file_exists($this->chemin_pdf)) { |
mkdir($this->chemin_pdf, 0755, true); |
} |
$this->fichier_html = $this->chemin_pdf.''.$nom_fichier.'.html'; |
$this->fichier_pdf = $this->chemin_pdf.''.$nom_fichier.'.pdf'; |
if (file_exists($this->fichier_pdf) == false) { |
$donnees = $this->obtenirDonnees(); |
$this->construireHtml($donnees); |
if ($this->transformerHtmlEnPdf() == false) { |
die('Erreur de generation du fichier PDF'); |
} |
} |
$this->envoyerPdfAuNavigateur(); |
$this->nettoyerFichiersTmp(); |
// ATTENTION : on doit stopper l'exécution de Papyrus sinon du HTML inutile est ajouté à la fin du fichier PDF |
exit; |
} |
private function construireHtml($donnees) { |
$this->html = $this->getVue('pdf_header', $donnees); |
foreach ($this->blocs as $bloc) { |
$this->ajouterHtml($bloc, $donnees); |
} |
$this->html .= '</body></html>'; |
} |
private function ajouterHtml($bloc, $donnees) { |
if (!empty($donnees[$bloc])) { |
$this->html .= $this->getVue('pdf_'.$bloc, $donnees); |
} |
} |
//+-------------------------------------récupération des données---------------------------------------------+ |
private function obtenirDonnees() { |
$donnees = array(); |
$version = $this->Nomen->obtenirVersionDonnees(); |
$donnees['donnees_pdf'] = array( |
'nom' => $this->getNomRetenuHTML(), |
'chemin_css' => Config::get('url_css_pdf'), |
'version' => $version['version']); |
$donnees['description'] = $this->Desc->obtenirDonneesExport(); |
$donnees['ecologie'] = $this->Ecolo->obtenirDonneesExport(); |
$donnees['statuts'] = $this->Stat->obtenirDonnees(); |
$donnees['ethnobotanique'] = $this->Ethno->obtenirDonnees(); |
$donnees['illustrations'] = $this->Illus->obtenirDonneesExport(); |
$donnees['nomenclature'] = $this->Nomen->obtenirDonnees(); |
$donnees['repartition'] = $this->Reparti->obtenirDonneesExport(); |
$donnees['bibliographie'] = $this->Biblio->obtenirDonnees(); |
$donnees['premier'] = $this->blocs[0];// pour page-break : éviter 1ere page vide si bloc trop long |
return $donnees; |
} |
//+------------------------------------------------export en pdf---------------------------------------------+ |
private function envoyerPdfAuNavigateur() { |
$nom_fichier = $this->getNomFichierValide(); |
header('Content-type: application/pdf'); |
header('Content-Disposition: attachment; filename='.$nom_fichier.'.pdf'); |
readfile($this->fichier_pdf); |
} |
private function nettoyerFichiersTmp() { |
$dossierStockage = $this->chemin_pdf; |
if (is_dir($dossierStockage)) { |
$objets = scandir($dossierStockage); |
if ($objets !== false) { |
foreach ($objets as $objet) { |
$chemin = $dossierStockage.$objet; |
if (is_file($chemin)) { |
$filemtime = @filemtime($chemin); |
if ($filemtime !== false) { |
if (substr($chemin, -5) == '.html') { |
$suppression = (time() - $filemtime >= self::DUREE_DE_VIE_HTML) ? true : false; |
} else { |
$suppression = (time() - $filemtime >= self::DUREE_DE_VIE_PDF) ? true : false; |
} |
if ($suppression === true) { |
unlink($chemin); |
} |
} |
} |
} |
} |
} |
} |
//version WKHTMLtoPDF en ligne de commande |
private function transformerHtmlEnPdf() { |
$nom = $this->getNomRetenu(); |
file_put_contents($this->fichier_html, $this->html); |
$commande = "{$this->wkhtml} --replace 'nom' '$nom' --encoding utf-8 --footer-html {$this->piedepage} {$this->fichier_html} {$this->fichier_pdf}"; |
$ret = -1; |
$debug = array(); |
exec($commande, $debug, $ret); |
//print_r( $debug ); echo $ret; |
$ok = ($ret == 0 || $ret == 2) ? true : false; |
return $ok; |
} |
} |
?> |
/branches/v5.6-bureau/modules/pdf_export/pdf_export.txt |
---|
New file |
0,0 → 1,32 |
A LIRE |
- pour utiliser wkhtmltopdf en local télécharger la version static binaire linux (avec patch QT) à l'adresse |
http://code.google.com/p/wkhtmltopdf/downloads/list |
(cette version peut fonctionner sans server x11 et permet plus de fonctionnalités) |
décompresser et mettre dans /usr/local/bin/ ou /usr/bin |
-dans le fichier de config : |
changer les valeurs de : |
; chemin vers outil de conversion pdf |
WKHTMLTOPDF = "" |
(sur le serveur c'est 'wkhtmltopdf' mais en local il faut parfois le chemin complet) |
et |
; chemin de stockage temporaire pour les Html & les PDF |
dossier_pdf = "" |
les fichiers html et pdf créés pour une même fiche peuvent être différents d'un utilisateur |
à un autre car chacun peut personnaliser sa fiche. Ainsi, les fichiers créés sont détruits |
après avoir été envoyés au navigateur. |
-lors de l'appel de wkhtmltopdf avec exec() : |
* mettre le --encoding utf-8 avant toute page html |
* si utilisation de --replace : mettre guillemets simples : ex :--replace 'nom_parametre' '$nom' |
* ne pas mettre de guillemets pour les chemins vers une page html |
-les appels aux méthodes obtenirDonneesExport() pour récupérer les données, servent à sélectionner |
uniquement les infos nécéssaires lors de l'export pour augmenter les performances. |
-pour autoriser les éléments html coupés entre deux pages ou les interdire utiliser le css |
(page-break-inside : avoid ou auto) |
- ne pas renommer footer.html en footer.tpl.html |
Property changes: |
Added: svn:eol-style |
+native |
\ No newline at end of property |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_illustrations.tpl.html |
---|
New file |
0,0 → 1,51 |
<!-- ILLUSTRATIONS --> |
<div class="bloc no-break"> |
<div class="categorie">Illustrations</div> |
<!-- COSTE toutes --> |
<?php if (empty($illustrations['coste']['images']) == false) :?> |
<div class="deux-colonnes"> |
<h2>Illustration de la flore de Coste</h2> |
<span class="citation"><?= $illustrations['coste']['meta']['citation']?></span><br/> |
<div id="illustrations"> |
<ul class="liste-illustrations allow-break"> |
<?php foreach($illustrations['coste']['images'] as $url) : ?> |
<li> |
<img src="<?= $url; ?>" alt="illustration de la flore de coste" /> |
</li> |
<?php endforeach; ?> |
</ul> |
<hr class="nettoyage" /> |
</div> |
</div> |
<?php endif;?> |
<!-- CEL la première image --> |
<?php if (isset($illustrations['cel']['images'])) : ?> |
<div class="deux-colonnes"> |
<h2>Carnet En Ligne (CEL)</h2> |
<span class="citation"><?= $illustrations['cel']['meta']['citation']?></span><br/> |
<div id="illustrations"> |
<ul class="liste-illustrations allow-break"> |
<li> |
<img src="<?= $illustrations['cel']['images']['src']; ?>" /> |
<p> |
à <strong class="localisation"><?= $illustrations['cel']['images']['commune']; ?></strong><br /> |
observée le <strong class="date-creation"><?= $illustrations['cel']['images']['date']; ?></strong><br/> |
par <strong class="auteur"><?= $illustrations['cel']['images']['auteur']; ?></strong> |
</p> |
</li> |
</ul> |
<hr class="nettoyage" /> |
</div> |
</div> |
<?php endif; ?> |
<hr class="nettoyage" /> |
<!-- VIDE DE DONNEES --> |
<?php if (!isset($illustrations['cel']['images']) && empty($illustrations['coste']['images']) ) : ?> |
Aucune donnée. |
<?php endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_nomenclature.tpl.html |
---|
New file |
0,0 → 1,148 |
<!-- NOMENCLATURE --> |
<div class="bloc <?if ($premier == 'nomenclature') : echo 'allow-break'; else : echo 'no-break'; endif; ?>"> |
<div class="categorie"> Nomenclature </div> |
<!-- NOM RETENU --> |
<?php if(!empty($nomenclature['basionyme_nom_retenu']) || !empty($nomenclature['nom_selectionne']) |
|| !empty($nomenclature['nom_retenu']) || !empty($nomenclature['nom_retenu_formate'])) :?> |
<div class="no-break"> |
<h2>Nom retenu</h2> |
<span class="citation"><?= $nomenclature['synonymes']['meta']['citation']?></span> |
<div style="float:right"> |
<div class="legende"> |
<b>Légende</b><br /> |
<span class="legende_nom_retenu couleur_legende" style="margin:8px 5px 0 0"></span><span>Nom sélectionné</span> |
</div> |
</div> |
<div class="onglet_marge_gauche"> |
<span class="nom retenu <?= ($nomenclature['nom_selectionne'] == $nomenclature['nom_retenu']) ? 'surlignage' : '' ?>"> |
<?= $nomenclature['nom_retenu_formate'] ?> |
</span> |
</div> |
<div class="nom onglet_marge_gauche basionyme_complet"> |
Basionyme : |
<?= $nomenclature['basionyme_nom_retenu'] ?> |
</div> |
<?php if($nomenclature['referentiel'] != 'bdtxa'): // cf http://referentiels.tela-botanica.org/referentiel/index.php?ref=bdtxa&module=FicheTaxon&num_nom=14610 ?> |
<div class="onglet_marge_gauche"> Dernière date de modification du nom : <?= $nomenclature['date_maj'] ?> </div> |
<? endif; ?> |
</div> |
<hr class="nettoyage" /> |
<?php endif; ?> |
<!-- WIKI --> |
<? if (!empty($nomenclature['wikini']['nomenclature'])) :?> |
<div class="no-break"> |
<span> Données collaboratives sur ce nom. </span> |
<div title="statuts de protection" class="wiki allow-break"> |
<?=$nomenclature['wikini']['nomenclature']?> |
</div> |
</div> |
<? endif; ?> |
<!-- SYNONYMES --> |
<?php if(is_array($nomenclature['synonymes']['noms']) && count($nomenclature['synonymes']['noms']) > 0) { ?> |
<div class="no-break"> |
<h2>Synonymes</h2> |
<span class="citation"><?= $nomenclature['synonymes']['meta']['citation']?></span> |
<?php foreach ($nomenclature['synonymes']['noms'] as $id => $synonyme) : ?> |
<ul class="allow-break"> |
<li class="item_nomenclature"> |
<span class="nom <?= ($nomenclature['nom_selectionne'] == $synonyme['nom_sci']) ? 'surlignage' : '' ?>"> |
<?= $synonyme['nom_sci_complet'] ?> |
</span> |
<span class="nom basionyme_complet"> |
<?= ($synonyme['basionyme_html_complet']) ? "Basionyme : ".$synonyme['basionyme_html_complet'] : ''; ?> |
</span> |
</li> |
</ul> |
<?php endforeach; ?> |
<hr class="nettoyage" /> |
</div> |
<?php } ?> |
<div class="no-break"> |
<?php if (!empty($nomenclature['taxons_sup'])) : ?> |
<h2> Place du taxon dans la classification </h2> |
<span class="citation"><?= $nomenclature['meta']['citation']?></span> |
<table class="allow-break"> |
<tr> |
<th>Rang</th><th>Nom Scientifique</th><th>Num Nom</th> |
</tr> |
<?php foreach ($nomenclature['taxons_sup'] as $taxon) : ?> |
<tr> |
<td><?= $taxon['rang.libelle'] ?></td> |
<td><?= $taxon['nom_sci'] ?></td> |
<td><?= $taxon['num_nom'] ?></td> |
</tr> |
<?php endforeach; ?> |
<tr class="surlignage"> |
<td><?= $nomenclature['taxon_courant']['rang.libelle'] ?></td> |
<td><?= $nomenclature['taxon_courant']['nom_sci'] ?></td> |
<td><?= $nomenclature['taxon_courant']['num_nom'] ?></td> |
</tr> |
<?php if (!empty($nomenclature['taxons_inf'])) : ?> |
<?php foreach($nomenclature['taxons_inf'] as $taxon) : ?> |
<tr> |
<td><?= $taxon['rang.libelle'] ?></td> |
<td><?= $taxon['nom_sci'] ?></td> |
<td><?= $taxon['num_nom'] ?></td> |
</tr> |
<?php endforeach; ?> |
<?php endif; ?> |
</table> |
<?php endif; ?> |
</div> |
<!-- VIDE DE DONNEES --> |
<?php if ( empty($nomenclature['taxons_sup']) && empty($nomenclature['taxon_inf'] ) ) : ?> |
Aucune donnée. |
<?php endif; ?> |
<br/> |
<!-- FLORES --> |
<?php if(is_array($nomenclature['flores_synonymes']) && count($nomenclature['flores_synonymes']) > 0) { ?> |
<div class="no-break"> |
<h2>Flores</h2> |
<span class="citation"><?= $nomenclature['synonymes']['meta']['citation']?></span> |
<?php foreach ($nomenclature['flores_synonymes'] as $num_nom_syn => $infos_flore) : ?> |
<?php foreach ($infos_flore as $code => $flore) : ?> |
<ul class="allow-break"> |
<li class="item_nomenclature"> |
<div class="nom"> |
Dans la flore <em><?= $flore['nom_flore'] ?></em>, |
ce taxon porte le nom de <em><?= $flore['nom_sci'] ?></em> |
et le code <b><?= $flore['id'] ?></b><br /> |
</div> |
</li> |
</ul> |
<?php endforeach; ?> |
<?php endforeach; ?> |
</div> |
<hr class="nettoyage" /> |
<?php } ?> |
<!-- num type --> |
<?php if($nomenclature['num_type'] != null) { ?> |
<h3> Autres </h3> |
<ul> |
<li class="item_nomenclature"> |
<span class="nom">Numéro du type : <?= $nomenclature['num_type'] ?></span> |
</li> |
</ul> |
<?php } ?> |
<!-- VIDE DE DONNEES --> |
<?php if ( empty($nomenclature['basionyme_nom_retenu']) && empty($nomenclature['nom_retenu_formate'] ) |
&& empty($nomenclature['nom_selectionne'] ) && empty($nomenclature['synonymes']['noms'] ) |
&& empty($nomenclature['nom_retenu']) && empty($nomenclature['flores_synonymes']) |
&& empty($nomenclature['num_type'])) : ?> |
Aucune donnée. |
<?php endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_bibliographie.tpl.html |
---|
New file |
0,0 → 1,49 |
<!-- BIBLIOGRAPHIE --> |
<div class="bloc <? if ($premier == 'bibliographie') : echo 'allow-break'; else : echo 'no-break'; endif; ?>"> |
<div class="categorie">Bibliographie</div> |
<!-- FLORE --> |
<? if(!empty($bibliographie['flores']['liste_flores'])) : ?> |
<div class ="no-break"> |
<h2 > Flores </h2> |
<span class='citation'><?= $bibliographie['flores']['meta']['citation']?></span> |
<ul class="liste_biblio_flores allow-break"> |
<?php foreach($bibliographie['flores']['liste_flores'] as $flore) : ?> |
<li class="item_biblio_flore"><span class="nom"> <?= $flore ?></span></li> |
<?php endforeach; ?> |
</ul> |
</div> |
<? endif; ?> |
<!-- REFERENCES BIBLIOGRAPĤIQUES--> |
<? if(!empty($bibliographie['bibliobota']['references'] )) : ?> |
<div class ="no-break allow-break"> |
<h2> Références bibliographiques </h2> |
<ul class="references_bibliographiques"> |
<?php foreach($bibliographie['bibliobota']['references'] as $reference) : ?> |
<li class="item_biblio_flore"><span class="nom"><?=$reference['reference_html']?></span></li> |
<?php endforeach; ?> |
</ul> |
</div> |
<? endif; ?> |
<!-- WIKI--> |
<? if (!empty($bibliographie['wikini']['biblio'])): ?> |
<h2> Bibliographie collaborative : </h2> |
<span> Rédaction collaborative de cette bibliograpĥie. </span> |
<div class="wiki allow-break" title="biblio"> |
<?=$bibliograhie['wikini']['biblio']?> |
</div> |
<? endif; ?> |
<!-- VIDE DE DONNEES --> |
<?php if ( empty($bibliographie['flores']['liste_flores']) |
&& empty($bibliographie['bibliobota']['references'] ) |
&& empty($bibliographie['wikini']['biblio'])) : ?> |
Aucune donnée. |
<?php endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_repartition.tpl.html |
---|
New file |
0,0 → 1,56 |
<!-- REPARTITION --> |
<div class="bloc no-break"> |
<div class="categorie"> Répartition </div> |
<!-- CHOROLOGIE DEPARTEMENTALE --> |
<? if (!empty($repartition['chorodep']['svgUrl']) && !empty($repartition['chorodep']['legende']) ) : ?> |
<div class="deux-colonnes"> |
<h2>Chorologie départementale</h2> |
<div class="repartition_observations allow-break"> |
<!--version svg laisser attribut alt au cas où svg ne marche pas --> |
<object style=" height:200px;" type="image/svg+xml" data="<?=$repartition['chorodep']['svgUrl']?>" alt="<?=$repartition['min']['chorodep']?>"> |
</object> |
<!-- version png --><!-- <img src="<?=$repartition['min']['chorodep']?>" />--> |
</div> |
<div class="legende_r allow-break"> |
<? foreach ($repartition['chorodep']['legende'] as $id => $details) :?> |
<div style="clear:left; "> |
<div class="bloc_legende_repartition" style="background:<?=$details['couleur']?>"></div> |
<div class="texte_legende_repartition"><b><?=$details['nom']?></b></div> |
</div> |
<? endforeach; ?> |
</div> |
</div> |
<?php endif; ?> |
<!-- OBSERVATIONS --> |
<? if (!empty($repartition['eflore']['min']) && !empty($repartition['eflore']['legende'])) : ?> |
<div class="deux-colonnes"> |
<h2>Observations</h2> |
<div class="repartition_observations allow-break" > |
<img src="<?=$repartition['eflore']['min']?>" /> |
</div> |
<div class="legende_r allow-break"> |
<? foreach ($repartition['eflore']['legende'] as $id => $details) :?> |
<div style="clear:left;"> |
<div class="bloc_legende_repartition" style="background:<?=$details['couleur']?>"></div> |
<div class="texte_legende_repartition" ><b><?=$details['nom']?> : </b><?=$details['description']?></div> |
</div> |
<? endforeach; ?> |
</div> |
</div> |
<?php endif; ?> |
<hr class="nettoyage" /> |
<!-- VIDE DE DONNEES --> |
<?php if (empty($repartition['chorodep']['svgUrl']) |
&& empty($repartition['chorodep']['legende']) |
&& empty($repartition['eflore']['min']) |
&& empty($repartition['eflore']['legende'])) : ?> |
Aucune donnée. |
<?php endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_description.tpl.html |
---|
New file |
0,0 → 1,179 |
<!-- DESCRIPTION --> |
<div class="bloc <?if ($premier == 'description') : echo 'allow-break'; else : echo 'no-break' ; endif; ?>"> |
<div class="categorie">Description</div> |
<!-- COSTE --> |
<? if (!empty($description['coste']['description'])) : ?> |
<div class="no-break"> |
<h2> Description de Coste </h2> |
<span class="citation"><?=$description['coste']['meta']['citation']?></span> |
<div> |
<table class="desc"> |
<tr> |
<td> |
<?if ($description['coste']['description']['nom_scientifique'] != '') : ?> |
<span class="gras"> |
<?=$description['coste']['description']['nom_scientifique']; ?> |
</span> |
<? endif; ?> |
<?if ($description['coste']['description']['nom_commun'] != '') : ?> |
<span class="italique"> |
<?=$description['coste']['description']['nom_commun']; ?> |
</span> |
<? endif; ?> |
</td> |
</tr> |
<?if ($description['coste']['description']['synonymes'] != '') : ?> |
<tr> |
<td> |
<span class="titre">Synonymes </span> |
<?=$description['coste']['description']['synonymes']; ?> |
</td> |
</tr> |
<? endif; ?> |
<tr> |
<td> |
<?if ($description['coste']['description']['texte'] != '') : ?> |
<?=$description['coste']['description']['texte']; ?> |
<? endif; ?> |
</td> |
</tr> |
<?if ($description['coste']['description']['ecologie'] != '') : ?> |
<tr> |
<td> |
<span class="titre">Écologie </span> |
<?=$description['coste']['description']['ecologie']; ?> |
</td> |
</tr> |
<? endif; ?> |
<?if ($description['coste']['description']['repartition'] != '') : ?> |
<tr> |
<td> |
<span class="titre">Répartition </span> |
<?=$description['coste']['description']['repartition']; ?> |
</td> |
</tr> |
<? endif; ?> |
<?if ($description['coste']['description']['floraison'] != '') : ?> |
<tr> |
<td> |
<span class="titre">Floraison </span> |
<?=$description['coste']['description']['floraison']; ?> |
<?if ($description['coste']['description']['fructification'] != '') : ?> |
<span class="titre">Fructification </span> |
<?=$description['coste']['description']['fructification']; ?> |
<? endif; ?> |
</td> |
</tr> |
<? endif; ?> |
<?if ($description['coste']['description']['usages'] != '') : ?> |
<tr> |
<td> |
<span class="titre">Usages</span> |
<?=$description['coste']['description']['usages']; ?> |
</td> |
</tr> |
<? endif;?> |
</table> |
</div> |
</div> |
<br/> |
<? endif; ?> |
<!-- BASEFLOR --> |
<? if (!empty($description['baseflor'])) : ?> |
<div class="no-break"> |
<h2>Description Baseflor </h2> |
<span class="citation"><?=$description['baseflor']['meta']['citation']?> </span> |
<div> |
<table class="desc"> |
<tr> |
<td colspan="2"> |
<?if ($description['baseflor']['type_bio'] != '') : ?> |
<span class="titre">Type Biologique : </span> |
<?=$description['baseflor']['type_bio']; ?> |
<? endif; ?> |
</td> |
</tr> |
<tr> |
<td colspan="2"> |
<?if ($description['baseflor']['form_vegetale'] != '') :?> |
<span class="titre">Formation végétale : </span> |
<?=$description['baseflor']['form_vegetale']; ?> |
<? endif; ?> |
</td> |
</tr> |
<tr> |
<td colspan="2"> |
<?if ($description['baseflor']['chorologie'] != '') :?> |
<span class="titre">Chorologie : </span> |
<?=$description['baseflor']['chorologie'] ?> |
<? endif; ?> |
</td> |
</tr> |
<tr> |
<td > |
<?if ($description['baseflor']['inflorescence'] != '') :?> |
<span class="titre">Inflorescence :</span> |
<?=$description['baseflor']['inflorescence'];?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['fruit'] != '') :?> |
<span class="titre">Fruit :</span> |
<?=$description['baseflor']['fruit']; ?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['couleur_fleur'] != '') :?> |
<span class="titre">Couleur de la fleur : </span> |
<?=$description['baseflor']['couleur_fleur'];?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['macule'] != '') :?> |
<span class="titre">Macule : </span> |
<?=$description['baseflor']['macule']; ?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['floraison'] != '') :?> |
<span class="titre">Floraison : </span> |
<?=$description['baseflor']['floraison']; ?> <br/> |
<? endif; ?> |
</td> |
<td> |
<?if ($description['baseflor']['sexualite'] != '') :?> |
<span class="titre">sexualité : </span> |
<?=$description['baseflor']['sexualite'] ; ?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['ordre_maturation'] != '') :?> |
<span class="titre">Ordre de maturation : </span> |
<?=$description['baseflor']['ordre_maturation']; ?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['pollinisation'] != '') :?> |
<span class="titre">Pollinisation : </span> |
<?=$description['baseflor']['pollinisation'] ; ?> <br/> |
<? endif; ?> |
<?if ($description['baseflor']['dissemination'] != '') :?> |
<span class="titre">Dissémination : </span> |
<?=$description['baseflor']['dissemination'] ;?> <br/> |
<? endif; ?> |
</td> |
</tr> |
</table> |
</div> |
</div> |
<? endif; ?> |
<br/> |
<!-- WIKI --> |
<? if (!empty($description['wikini']['description'])) : ?> |
<div class="no-break"> |
<h2> Description collaborative </h2> |
<div class="wiki allow-break" title="description"> |
<?=$description['wikini']['description']?> |
</div> |
</div> |
<? endif; ?> |
<!-- VIDE DE DONNEES --> |
<? if (empty($description['wikini']['description']) && empty($description['coste']['description']) && empty($description['baseflor']) ) : ?> |
Aucune Donnée. |
<? endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_ethnobotanique.tpl.html |
---|
New file |
0,0 → 1,91 |
<!-- ETHNOBOTANIQUE--> |
<div class="bloc <? if ($premier == 'ethnobotanique') : echo 'allow-break'; else : echo 'no-break'; endif; ?>"> |
<div class="categorie">Ethnobotanique</div> |
<!-- NOMS COMMUNS --> |
<?php if($ethnobotanique['nvjfl']['noms'] != array()) : ?> |
<div class="no-break"> |
<h2>Noms communs</h2> |
<span class="citation"><?=$ethnobotanique['nvjfl']['meta']['citation']?></span> |
<table class="allow-break"> |
<tr> |
<th>Langue</th><th>Nom</th><th>Genre et Nombre</th><th>Conseil d'emploi</th><th>Notes</th> |
</tr> |
<?php foreach($ethnobotanique['nvjfl']['noms'] as $nom_verna) : ?> |
<tr> |
<td><?= $nom_verna['code_langue'] ?></td> |
<td><?= $nom_verna['nom_vernaculaire'] ?></td> |
<td><?= $nom_verna['genre'] ?></td> |
<td><?= $nom_verna['conseil_emploi'] ?></td> |
<td><?= $nom_verna['notes'] ?></td> |
</tr> |
<?php endforeach; ?> |
</table> |
</div> |
<?php endif; ?> |
<!-- WIKI --> |
<?php if (!empty($ethnobotanique['wikini']['noms_communs'])) : ?> |
<div class="no-break"> |
<span> Noms communs et étymologies proposés par les membres du réseau : </span> |
<div title="noms_communs" class="wiki allow-break"> |
<?=$ethnobotanique['wikini']['noms_communs']?> |
</div> |
</div> |
<?php endif; ?> |
<!-- STATUTS --> |
<?php if($ethnobotanique['chorologie']['donnees'] != array()) : ?> |
<div class="no-break"> |
<h2>Statuts</h2> |
<span class="citation"><?=$ethnobotanique['chorologie']['meta']['citation']?></span> |
<table class="liste_statuts allow-break"> |
<tr> |
<th></th> |
<? foreach($ethnobotanique['chorologie']['colonnes'] as $colonne) : ?> |
<th><?=$colonne ?></th> |
<?php endforeach; ?> |
</tr> |
<? foreach($ethnobotanique['chorologie']['donnees'] as $type => $donnee) : ?> |
<tr> |
<td><?=$type ?></td> |
<? foreach($ethnobotanique['chorologie']['colonnes'] as $colonne) : ?> |
<td><?= (isset($donnee[$colonne])) ? $donnee[$colonne] : '' ?></td> |
<? endforeach; ?> |
</tr> |
<? endforeach; ?> |
</table> |
</div> |
<? endif; ?> |
<!-- USAGE --> |
<? if (!empty($ethnobotanique['wikini']['usage'])) : ?> |
<div class="no-break"> |
<h2> Usage : </h2> |
<span> Rédaction collaborative. </span> |
<div title="usage" class="wiki allow-break"> |
<?=$ethnobotanique['wikini']['usage']?> |
</div> |
</div> |
<? endif; ?> |
<!-- CULTURE ET ARTS --> |
<? if (!empty($ethnobotanique['wikini']['usage'])) : ?> |
<div class="no-break"> |
<h2> Culture et arts : </h2> |
<span> Rédaction collaborative. </span> |
<div title="culture et arts" class="wiki allow-break"> |
<?=$ethnobotanique['wikini']['culture_et_arts']?> |
</div> |
</div> |
<? endif; ?> |
<!-- VIDE DE DONNEES --> |
<? if (empty($ethnobotanique['wikini']) && empty($ethnobotanique['chorologie']) && empty($ethnobotanique['nvjfl']) ) : ?> |
Aucune Donnée. |
<? endif; ?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_ecologie.tpl.html |
---|
New file |
0,0 → 1,99 |
<!-- ECOLOGIE --> |
<div class="bloc no-break"> |
<!-- ECOLOGIE --> |
<div class="categorie">Ecologie</div> |
<? if (!isset($ecologie['baseflor']['aucune'])) : ?> |
<div class="no-break"> |
<h2>Optimum écologique</h2> |
<span class="citation"><?=$ecologie['baseflor']['meta']['citation']?></span> |
<div class="fond_graphique"> |
<? if($ecologie['baseflor']['climat_url']) : ?> |
<div class="no-break"> |
<div class="graphique"> |
<span class="titre">caractéristiques climatiques</span> |
<br/> |
<!-- laisser attribut alt au cas où svg ne marche pas --> |
<object class="svg_clim" type="image/svg+xml" data="<?=$ecologie['baseflor']['climat_url']?>" alt="<?=$ecologie['baseflor']['climat_url_png']?>"> |
</object> |
</div> |
</div> |
<? endif; ?> |
<? if($ecologie['baseflor']['sol_url']) : ?> |
<div class="no-break"> |
<div class="graphique"> |
<span class="titre centrer">caractéristiques du sol</span> |
<br/> |
<!-- laisser attribut alt au cas où svg ne marche pas --> |
<object type="image/svg+xml" data="<?=$ecologie['baseflor']['sol_url']?>" class="svg_sol" alt="<?=$ecologie['baseflor']['sol_url_png']?>"> |
</object> |
</div> |
<br/> |
<img src="<?=$ecologie['baseflor']['legende_eco']?>" class="legende_formes"/> |
</div> |
</div> |
<? endif; ?> |
</div> |
<? endif; ?> |
<!-- PHYTOSOCIOLOGIE --> |
<div class="no-break"> |
<? if (isset($ecologie['baseveg']['baseflor']['catminat'])) : ?> |
<h2>Phytosociologie</h2> |
<span class="citation"><?=$ecologie['baseveg']['meta']['citation']?></span> |
<? if (isset($ecologie['baseveg']['syntaxons-sup']) || isset($ecologie['baseveg']['syntaxons-sup'])) : ?> |
<br/> |
Le code catminat de ce taxon est <span class="gras"> <?=$ecologie['baseveg']['baseflor']['catminat'] ?></span> </br> |
Il est caractéristique du syntaxon de niveau <span class="gras"><?=$ecologie['baseveg']['syntaxon-courant'][0]['niveau.libelle']?></span> présenté |
dans le tableau ci-dessous avec ses niveaux supérieurs. |
<table> |
<?php foreach ($ecologie['baseveg']['syntaxons-sup'] as $cle => $valeurs ) : ?> |
<tr> |
<td> |
<span class="gras"> |
<?=$valeurs['code_catminat']?> |
</span></br> |
<?=$valeurs['niveau.libelle']?> |
</td> |
<td> |
<span class="gras"> |
<?=$valeurs['syntaxon']?> |
</span> </br> |
<span > |
<?=$valeurs['physio_biotype']?> |
</span> </br> |
<?= !empty($valeurs['repartition_france']) ? 'répartition : '.$valeurs['repartition_france'] : '' ?> |
</br> |
Réf. <?=$valeurs['ref_der_biblio']?> |
</td> |
</tr> |
<? endforeach; ?> |
<tr class="surlignage"> |
<td> |
<span class="gras"> |
<?=$ecologie['baseveg']['syntaxon-courant'][0]['code_catminat']?> |
</span></br> |
<?=$ecologie['baseveg']['syntaxon-courant'][0]['niveau.libelle']?> |
</td> |
<td> |
<span class="gras"> |
<?=$ecologie['baseveg']['syntaxon-courant'][0]['syntaxon']?> |
</span> </br> |
<span > |
<?=$ecologie['baseveg']['syntaxon-courant'][0]['physio_biotype']?> |
</span> </br> |
<?= !empty($ecologie['baseveg']['syntaxon-courant'][0]['repartition_france']) ? 'rép.'.$ecologie['baseveg']['syntaxon-courant'][0]['repartition_france'] : ''?> |
</br> |
Réf. <?=$ecologie['baseveg']['syntaxon-courant'][0]['ref_der_biblio']?> |
</td> |
</tr> |
</table> |
<?endif;?> |
<?endif;?> |
</div> |
<!-- VIDE DE DONNEES --> |
<? if (isset($ecologie['baseflor']['aucune'])) : ?> |
Aucune donnée. |
<? endif; ?> |
</div> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/footer.html |
---|
New file |
0,0 → 1,36 |
<!-- ne pas renommer en .tpl.html SINON il ne sera pas ajouté au pied de page pdf--> |
<html> |
<head> |
<script> |
function subst() { |
var vars={}; |
var x=document.location.search.substring(1).split('&'); |
for (var i in x) {var z=x[i].split('=',2);vars[z[0]] = unescape(z[1]);} |
var x=['frompage','topage','page','webpage','section','subsection','subsubsection', 'nom']; |
for (var i in x) { |
var y = document.getElementsByClassName(x[i]); |
for (var j=0; j<y.length; ++j) y[j].textContent = vars[x[i]]; |
} |
} |
</script> |
</head> |
<body style="border: 0; margin: 0;" onload="subst()"> |
<table style="width: 100%; font-size: 10px;"> |
<!-- les valeurs de page, section, subsection,...(passées en paramètres) peuvent être affichées |
grâce aux class, on peut aussi en créer de nouvelles (ex: date) et leur affecter une valeur |
grâce à --replace : --> |
<tr> |
<td style=" border:none; text-align: left; width: 30%;"> |
www.tela-botanica.org |
</td> |
<td style="border:none; text-align: center; width: 50%; "> |
fiche eFlore de <span style="font-style:italic;" class="nom"></span> |
</td> |
<td style="border:none; text-align: right; width: 20%; " > |
<span class="page"></span>/<span class="topage"></span> |
</td> |
</tr> |
</table> |
</body> |
</html> |
Property changes: |
Added: svn:executable |
+* |
\ No newline at end of property |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_statuts.tpl.html |
---|
New file |
0,0 → 1,49 |
<!-- STATUTS de protection --> |
<div class="bloc <? if ($premier == 'statuts') : echo 'allow-break'; else : echo 'no-break'; endif; ?>"> |
<h2 class= "categorie">Statuts de protection</h2> |
<!-- STATUTS --> |
<?php if(!empty($statuts['statuts'])) : ?> |
<table class="liste_statuts_protection no-break"> |
<tr> |
<th>Zone géographique</th><th>Règle appliquée</th><th>Texte</th> |
</tr> |
<?php foreach ($statuts['statuts'] as $statut) : ?> |
<tr> |
<td> |
<?= $statut['zone_application']; ?> |
</td> |
<td> |
<?= $statut['regle']; ?> |
</td> |
<td> |
<?= $statut['texte']; ?> |
(<?= $statut['statut']; ?>) |
</td> |
</tr> |
<?php endforeach; ?> |
</table> |
<?php endif; ?> |
<!-- WIKI --> |
<? if(!empty($statuts['wikini']['statuts_de_protection'])) : ?> |
<div class="no-break"> |
<h2>Vos compléments sur les statuts de protection :</h2> |
<span>Données collaboratives sur les statuts de protection. </span> |
<div class="allow-break wiki" title="statuts de protection"> |
<?=$statuts['wikini']['statuts_de_protection']?> |
</div> |
</div> |
<? endif;?> |
<!-- VIDE DE DONNEES --> |
<? if (empty($statuts['wikini']['statuts_de_protection']) && empty($statuts['statuts']) ): ?> |
Pas de protection connue. |
<? endif;?> |
</div> |
<br/> |
<br/> |
/branches/v5.6-bureau/modules/pdf_export/squelettes/pdf_header.tpl.html |
---|
New file |
0,0 → 1,26 |
<!doctype html> |
<html> |
<!-- ici est le style et l'en-tête de la première page. |
pour un en-tête sur chaque page avec wkhtmltopdf utiliser --header.* --> |
<head> |
<link href="<?=$donnees_pdf['chemin_css'] ?>" rel="stylesheet" type="text/css" /> |
</head> |
<body> |
<!-- EN TETE de la première page --> |
<table style="width: 100%; background-color:#9AC343;"> |
<tr> |
<td style="border:none; text-align: left; width: 20%; height:20mm; margin-left:10mm; margin-right:10mm; "> |
<img style="height:15mm;" src="http://www.tela-botanica.org/sites/botanique/generique/images/graphisme/logo_tela_fond_vert.png" alt="Tela Botanica"/> |
</td> |
<td style=" border:none; text-align: center; vertical-align: bottom ; padding-bottom:5px;" > |
<span style="font-size:20px; color:white;"> |
<?=$donnees_pdf['nom']?> |
</span> <br/><br/> |
eFlore, la flore électronique de Tela Botanica. |
<span class="version"><?=$donnees_pdf['version']?></span> |
</td> |
</tr> |
</table> |
<br/> |
<br/> |