| 71 | 
           delphine | 
           1 | 
           <?php
  | 
        
        
            | 
            | 
           2 | 
           // declare(encoding='UTF-8');
  | 
        
        
            | 
            | 
           3 | 
           /**
  | 
        
        
            | 
            | 
           4 | 
            * Classe mère du module Liste.
  | 
        
        
            | 
            | 
           5 | 
            *
  | 
        
        
            | 
            | 
           6 | 
            * @category	PHP 5.2
  | 
        
        
            | 
            | 
           7 | 
            * @package		eflore-consultation
  | 
        
        
            | 
            | 
           8 | 
            * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
  | 
        
        
            | 
            | 
           9 | 
            * @author		Delphine CAUQUIL <delphine@tela-botanica.org>
  | 
        
        
            | 
            | 
           10 | 
            * @copyright	2011 Tela-Botanica
  | 
        
        
            | 
            | 
           11 | 
            * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL-v3
  | 
        
        
            | 
            | 
           12 | 
            * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL-v2
  | 
        
        
            | 
            | 
           13 | 
            * @version		$Id$
  | 
        
        
            | 
            | 
           14 | 
            */
  | 
        
        
            | 
            | 
           15 | 
           class Fiche extends aControleur {
  | 
        
        
           | 291 | 
           jpm | 
           16 | 
              | 
        
        
           | 230 | 
           delphine | 
           17 | 
           	private $onglet = 'synthese';
  | 
        
        
           | 291 | 
           jpm | 
           18 | 
           	private $parametres = array();
  | 
        
        
            | 
            | 
           19 | 
           	private $conteneur = null;
  | 
        
        
           | 238 | 
           delphine | 
           20 | 
           	private $num_nom = 0;
  | 
        
        
           | 376 | 
           delphine | 
           21 | 
           	private $nom_retenu = '';
  | 
        
        
           | 1164 | 
           mathias | 
           22 | 
           	private $nom_selectionne = null;
  | 
        
        
            | 
            | 
           23 | 
           	private $nom_appele_html = null; // le nom et l'auteur par lesquels on est arrivés sur la fiche, en cas de synonymie
  | 
        
        
           | 651 | 
           mathilde | 
           24 | 
           	private $url;
  | 
        
        
           | 291 | 
           jpm | 
           25 | 
              | 
        
        
            | 
            | 
           26 | 
              | 
        
        
           | 216 | 
           delphine | 
           27 | 
           	public function initialiser() {
  | 
        
        
            | 
            | 
           28 | 
           		$this->capturerParametres();
  | 
        
        
           | 500 | 
           jpm | 
           29 | 
           		$this->conteneur = new Conteneur($this->parametres);
  | 
        
        
           | 1164 | 
           mathias | 
           30 | 
           		$nom_courant = $this->conteneur->getNomCourant();
  | 
        
        
            | 
            | 
           31 | 
           		$this->nom_selectionne = $nom_courant->getNomSelectionne();
  | 
        
        
           | 651 | 
           mathilde | 
           32 | 
           		$this->url = $this->conteneur->getAppUrls();
  | 
        
        
           | 1164 | 
           mathias | 
           33 | 
           		$this->nom_retenu = $nom_courant->getNomRetenu();
  | 
        
        
            | 
            | 
           34 | 
           		if ($this->nom_retenu->get('id') != $this->nom_selectionne->get('id')) {
  | 
        
        
            | 
            | 
           35 | 
           			$this->nom_appele_html = $this->nom_selectionne->get('nom_sci_html').' '.$this->nom_selectionne->get('auteur');
  | 
        
        
            | 
            | 
           36 | 
           		}
  | 
        
        
           | 238 | 
           delphine | 
           37 | 
           		spl_autoload_register(array($this, 'chargerClassesOnglets'));
  | 
        
        
           | 216 | 
           delphine | 
           38 | 
           	}
  | 
        
        
           | 291 | 
           jpm | 
           39 | 
              | 
        
        
            | 
            | 
           40 | 
           	private function capturerParametres() {
  | 
        
        
            | 
            | 
           41 | 
           		if (isset($_GET['num_nom'])) {
  | 
        
        
            | 
            | 
           42 | 
           			$this->parametres['num_nom'] = $_GET['num_nom'];
  | 
        
        
            | 
            | 
           43 | 
           		}
  | 
        
        
            | 
            | 
           44 | 
           		if (isset($_GET['nom'])) {
  | 
        
        
            | 
            | 
           45 | 
           			$this->parametres['nom'] = $_GET['nom'];
  | 
        
        
            | 
            | 
           46 | 
           		}
  | 
        
        
            | 
            | 
           47 | 
           		if (isset($_GET['type_nom'])) {
  | 
        
        
            | 
            | 
           48 | 
           			$this->parametres['type_nom'] = $_GET['type_nom'];
  | 
        
        
            | 
            | 
           49 | 
           		}
  | 
        
        
           | 395 | 
           aurelien | 
           50 | 
           		if (isset($_GET['referentiel'])) {
  | 
        
        
            | 
            | 
           51 | 
           			$this->parametres['referentiel'] = $_GET['referentiel'];
  | 
        
        
           | 939 | 
           aurelien | 
           52 | 
           			Registre::set('parametres.referentiel', $_GET['referentiel']);
  | 
        
        
           | 395 | 
           aurelien | 
           53 | 
           		}
  | 
        
        
           | 291 | 
           jpm | 
           54 | 
           		if (isset($_GET['niveau'])) {
  | 
        
        
            | 
            | 
           55 | 
           			Registre::set('parametres.niveau', $_GET['niveau']);
  | 
        
        
            | 
            | 
           56 | 
           		}
  | 
        
        
            | 
            | 
           57 | 
           		if (isset($_GET['onglet'])) {
  | 
        
        
            | 
            | 
           58 | 
           			$this->onglet = $_GET['onglet'];
  | 
        
        
            | 
            | 
           59 | 
           		}
  | 
        
        
            | 
            | 
           60 | 
           	}
  | 
        
        
            | 
            | 
           61 | 
              | 
        
        
           | 238 | 
           delphine | 
           62 | 
           	private function chargerClassesOnglets($classe) {
  | 
        
        
            | 
            | 
           63 | 
           		$base = dirname(__FILE__).DS;
  | 
        
        
            | 
            | 
           64 | 
           		$cheminFormateurs = $base.'formateurs'.DS;
  | 
        
        
            | 
            | 
           65 | 
           		$dossiers = array($base, $cheminFormateurs);
  | 
        
        
            | 
            | 
           66 | 
           		foreach ($dossiers as $chemin) {
  | 
        
        
            | 
            | 
           67 | 
           			$fichierATester = $chemin.$classe.'.php';
  | 
        
        
            | 
            | 
           68 | 
           			if (file_exists($fichierATester)) {
  | 
        
        
            | 
            | 
           69 | 
           				include_once $fichierATester;
  | 
        
        
            | 
            | 
           70 | 
           				return null;
  | 
        
        
            | 
            | 
           71 | 
           			}
  | 
        
        
            | 
            | 
           72 | 
           		}
  | 
        
        
            | 
            | 
           73 | 
           	}
  | 
        
        
           | 291 | 
           jpm | 
           74 | 
              | 
        
        
           | 71 | 
           delphine | 
           75 | 
           	public function executerActionParDefaut() {
  | 
        
        
            | 
            | 
           76 | 
           		$this->executerFiche();
  | 
        
        
            | 
            | 
           77 | 
           	}
  | 
        
        
           | 291 | 
           jpm | 
           78 | 
              | 
        
        
           | 141 | 
           delphine | 
           79 | 
           	public function executerFiche(){
  | 
        
        
           | 1105 | 
           jpm | 
           80 | 
              | 
        
        
           | 525 | 
           gduche | 
           81 | 
           		$squelette = 'fiche_'.$this->onglet;
  | 
        
        
           | 1105 | 
           jpm | 
           82 | 
              | 
        
        
           | 525 | 
           gduche | 
           83 | 
           		//Gestion du niveau
  | 
        
        
           | 545 | 
           gduche | 
           84 | 
           		$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : 2;
  | 
        
        
           | 525 | 
           gduche | 
           85 | 
           		if ($this->onglet == 'synthese' && $niveau != null) {
  | 
        
        
            | 
            | 
           86 | 
           			$squelette .= '_niveau'.$niveau;
  | 
        
        
            | 
            | 
           87 | 
           		}
  | 
        
        
           | 1105 | 
           jpm | 
           88 | 
              | 
        
        
           | 979 | 
           delphine | 
           89 | 
           		// Récupération parametres et données
  | 
        
        
           | 1144 | 
           raphael | 
           90 | 
           		$donnees = array_merge($this->obtenirDonnees(), $this->parametres);
  | 
        
        
           | 979 | 
           delphine | 
           91 | 
           		$donnees['i18n'] = I18n::get('Fiche');
  | 
        
        
           | 1144 | 
           raphael | 
           92 | 
           		$verna = isset($donnees['ethnobotanique']['nomsVerna']) && count($donnees['ethnobotanique']['nomsVerna']) ? $donnees['ethnobotanique']['nomsVerna'][0]['nom_vernaculaire'] : "";
  | 
        
        
           | 1105 | 
           jpm | 
           93 | 
              | 
        
        
           | 979 | 
           delphine | 
           94 | 
           		// titre, description et tag de la page
  | 
        
        
            | 
            | 
           95 | 
           		$this->setSortie('titre', $this->nom_retenu->get('nom_sci'));
  | 
        
        
           | 1144 | 
           raphael | 
           96 | 
                   // ( <meta name="description" ...> )
  | 
        
        
           | 1504 | 
           mathias | 
           97 | 
           		$this->setSortie('description', sprintf("Fiche descriptive de %s %s (%s)", $this->nom_retenu->get('nom_sci'), $verna ? ('/ ' . $verna) : '', isset($donnees['description']['titre']) ? $donnees['description']['titre'] : ''));
  | 
        
        
           | 1144 | 
           raphael | 
           98 | 
              | 
        
        
           | 979 | 
           delphine | 
           99 | 
           		$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
  | 
        
        
            | 
            | 
           100 | 
           			",botanique,plante,description,ecologie,reconnaitre,fiche espece");
  | 
        
        
           | 1105 | 
           jpm | 
           101 | 
              | 
        
        
           | 1282 | 
           aurelien | 
           102 | 
           		$nom_sci_html = $this->nom_retenu->get('nom_sci_html');
  | 
        
        
           | 1477 | 
           mathias | 
           103 | 
           		// la recherche avancée à partir du clic sur le nom ne fonctionne pas sur les hybrides
  | 
        
        
            | 
            | 
           104 | 
           		$nom_sci_html = strpos($nom_sci_html, 'class="hyb"') === false ?
  | 
        
        
           | 1282 | 
           aurelien | 
           105 | 
           							$this->formaterLiensNomsHtml($nom_sci_html) : $nom_sci_html;
  | 
        
        
            | 
            | 
           106 | 
              | 
        
        
           | 979 | 
           delphine | 
           107 | 
           		// titre de la fiche
  | 
        
        
           | 1282 | 
           aurelien | 
           108 | 
           		$donnees['nom_retenu_html'] = $nom_sci_html.' '.$this->nom_retenu->get('auteur');
  | 
        
        
           | 1280 | 
           aurelien | 
           109 | 
              | 
        
        
           | 982 | 
           delphine | 
           110 | 
           		$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
  | 
        
        
           | 1375 | 
           mathias | 
           111 | 
           		$donnees['num_tax'] = $this->nom_selectionne->get('num_taxonomique');
  | 
        
        
           | 1164 | 
           mathias | 
           112 | 
           		$donnees['nom_appele_html'] = $this->nom_appele_html;
  | 
        
        
           | 1277 | 
           aurelien | 
           113 | 
           		$famille = $this->nom_retenu->getTaxonSupRang('180');
  | 
        
        
           | 1514 | 
           delphine | 
           114 | 
           		$donnees['lien_recherche_famille'] = html_entity_decode($this->url->obtenirUrlRechercheAvancee(array("s" => $famille)));
  | 
        
        
           | 1277 | 
           aurelien | 
           115 | 
           		$donnees['famille'] = $famille;
  | 
        
        
           | 1482 | 
           delphine | 
           116 | 
           		$donnees['lien_recherche_referentiel'] = html_entity_decode($this->url->obtenirUrlBase());
  | 
        
        
            | 
            | 
           117 | 
           		$donnees['referentiel'] = $this->parametres['referentiel'];
  | 
        
        
           | 1606 | 
           delphine | 
           118 | 
           		$donnees['nom_fr_norm'] = $this->nom_selectionne->get('nom_fr_norm');
  | 
        
        
           | 979 | 
           delphine | 
           119 | 
           		$donnees['nom_vernaculaire'] = $verna;
  | 
        
        
           | 1105 | 
           jpm | 
           120 | 
              | 
        
        
           | 979 | 
           delphine | 
           121 | 
           		// moteur de recherche
  | 
        
        
           | 1514 | 
           delphine | 
           122 | 
           		//$this->executerAction('Recherche', 'executerAccueil', $this->parametres);
  | 
        
        
           | 1105 | 
           jpm | 
           123 | 
              | 
        
        
           | 979 | 
           delphine | 
           124 | 
           		// page synthese
  | 
        
        
           | 291 | 
           jpm | 
           125 | 
           		$blocs_niveaux = $this->conteneur->getParametreTableau('blocs_fiche_defaut');
  | 
        
        
           | 219 | 
           delphine | 
           126 | 
           		$donnees['blocs'] = '"'.str_replace('|', '","', $blocs_niveaux[Registre::get('parametres.niveau')]).'"';
  | 
        
        
           | 291 | 
           jpm | 
           127 | 
              | 
        
        
           | 979 | 
           delphine | 
           128 | 
           		// onglet
  | 
        
        
           | 238 | 
           delphine | 
           129 | 
           		$donnees['onglet'] = $this->onglet;
  | 
        
        
           | 1477 | 
           mathias | 
           130 | 
           		$donnees['niveau'] = $niveau;
  | 
        
        
           | 1273 | 
           aurelien | 
           131 | 
           		$donnees['base_url_onglets'] = Config::get('base_url_application_onglets');
  | 
        
        
           | 1480 | 
           mathias | 
           132 | 
              | 
        
        
            | 
            | 
           133 | 
           		$app_urls = $this->conteneur->getAppUrls();
  | 
        
        
            | 
            | 
           134 | 
           		$donnees['urlBase'] = $app_urls->obtenirUrlBase();
  | 
        
        
            | 
            | 
           135 | 
              | 
        
        
           | 1243 | 
           aurelien | 
           136 | 
           		$taxons = new Taxons();
  | 
        
        
            | 
            | 
           137 | 
           		$referentiel = $this->conteneur->getParametre('referentiel');
  | 
        
        
           | 1452 | 
           mathias | 
           138 | 
              | 
        
        
            | 
            | 
           139 | 
           		$donnees['prod'] = Config::get('info.prod');
  | 
        
        
            | 
            | 
           140 | 
              | 
        
        
           | 1243 | 
           aurelien | 
           141 | 
           		$donnees['permalien_num_nom'] = $taxons->getUrlPermalienNumNom($referentiel, 1, $this->conteneur->getNomCourant()->getNns());
  | 
        
        
            | 
            | 
           142 | 
           		$donnees['entete'] = $this->getVue('fiche_entete', $donnees);
  | 
        
        
           | 525 | 
           gduche | 
           143 | 
           		$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
  | 
        
        
           | 1452 | 
           mathias | 
           144 | 
              | 
        
        
           | 545 | 
           gduche | 
           145 | 
           		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
  | 
        
        
           | 709 | 
           aurelien | 
           146 | 
           		$this->ajouterPiedDePage();
  | 
        
        
           | 71 | 
           delphine | 
           147 | 
           	}
  | 
        
        
           | 1277 | 
           aurelien | 
           148 | 
              | 
        
        
           | 1381 | 
           aurelien | 
           149 | 
           	public function executerTemplateAjax() {
  | 
        
        
           | 1477 | 
           mathias | 
           150 | 
           		$classe = ucfirst($this->onglet);
  | 
        
        
           | 1381 | 
           aurelien | 
           151 | 
           		$onglet = new $classe($this->conteneur);
  | 
        
        
            | 
            | 
           152 | 
           		$action = 'obtenir'.ucfirst($_GET['sous_action']);
  | 
        
        
            | 
            | 
           153 | 
           		$html_ajax = $onglet->$action();
  | 
        
        
           | 1514 | 
           delphine | 
           154 | 
           		header('Content-type: text/html; charset=utf-8');
  | 
        
        
           | 1477 | 
           mathias | 
           155 | 
           		echo $html_ajax;
  | 
        
        
           | 1381 | 
           aurelien | 
           156 | 
           		exit;
  | 
        
        
            | 
            | 
           157 | 
           	}
  | 
        
        
            | 
            | 
           158 | 
              | 
        
        
           | 1280 | 
           aurelien | 
           159 | 
           	private function formaterLiensNomsHtml($nom_sci_html) {
  | 
        
        
           | 1277 | 
           aurelien | 
           160 | 
           		$params = array();
  | 
        
        
           | 1514 | 
           delphine | 
           161 | 
           		$classes_recherche = array("fam" => "s", "gen" => "s", "sp" => "s", "infra-sp" => "s");
  | 
        
        
           | 1277 | 
           aurelien | 
           162 | 
              | 
        
        
           | 1477 | 
           mathias | 
           163 | 
           		$doc = new DOMDocument();
  | 
        
        
           | 1514 | 
           delphine | 
           164 | 
           		// le deuxième argument permet de ne pas charger de balise supplementaire
  | 
        
        
            | 
            | 
           165 | 
           		$doc->loadHTML($nom_sci_html, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  | 
        
        
           | 1277 | 
           aurelien | 
           166 | 
           		$spans = $doc->getElementsByTagName('span');
  | 
        
        
           | 1280 | 
           aurelien | 
           167 | 
           		$abbrs = $doc->getElementsByTagName('abbr');
  | 
        
        
           | 1277 | 
           aurelien | 
           168 | 
              | 
        
        
            | 
            | 
           169 | 
           		$params_subsp = array();
  | 
        
        
            | 
            | 
           170 | 
              | 
        
        
            | 
            | 
           171 | 
           		$i18n =  I18n::get('Fiche');
  | 
        
        
           | 1280 | 
           aurelien | 
           172 | 
              | 
        
        
           | 1477 | 
           mathias | 
           173 | 
           		//TODO: c'est un peu moche, la fonction est surement factorisable
  | 
        
        
            | 
            | 
           174 | 
           		if ($spans->length > 0) {
  | 
        
        
           | 1277 | 
           aurelien | 
           175 | 
           			foreach($spans as $span) {
  | 
        
        
            | 
            | 
           176 | 
           				$classe = $span->getAttribute('class');
  | 
        
        
            | 
            | 
           177 | 
           				if(in_array($classe, array_keys($classes_recherche))) {
  | 
        
        
            | 
            | 
           178 | 
              | 
        
        
            | 
            | 
           179 | 
           					$params[$classes_recherche[$classe]] = $span->nodeValue;
  | 
        
        
           | 1477 | 
           mathias | 
           180 | 
           					if($classe == "sp") {
  | 
        
        
            | 
            | 
           181 | 
           						$params_subsp = $params;
  | 
        
        
           | 1277 | 
           aurelien | 
           182 | 
           					}
  | 
        
        
            | 
            | 
           183 | 
           					$lien_tpl = html_entity_decode($this->url->obtenirUrlRechercheAvancee($params));
  | 
        
        
            | 
            | 
           184 | 
           					$texte_lien = $span->nodeValue;
  | 
        
        
            | 
            | 
           185 | 
              | 
        
        
            | 
            | 
           186 | 
           					$span->nodeValue = "";
  | 
        
        
            | 
            | 
           187 | 
           					$text = $doc->createElement('a', $texte_lien);
  | 
        
        
            | 
            | 
           188 | 
           					$text->setAttribute('href', $lien_tpl);
  | 
        
        
            | 
            | 
           189 | 
           					$text->setAttribute('title', $i18n["lien-recherche-hier-".$classe]);
  | 
        
        
           | 1477 | 
           mathias | 
           190 | 
           					$text->setAttribute('class', 'lien_recherche_hier');
  | 
        
        
           | 1277 | 
           aurelien | 
           191 | 
           					$span->appendChild($text);
  | 
        
        
            | 
            | 
           192 | 
           				}
  | 
        
        
           | 1477 | 
           mathias | 
           193 | 
           			}
  | 
        
        
           | 1277 | 
           aurelien | 
           194 | 
           		}
  | 
        
        
           | 1280 | 
           aurelien | 
           195 | 
              | 
        
        
            | 
            | 
           196 | 
           		if ($abbrs->length > 0) {
  | 
        
        
            | 
            | 
           197 | 
           			foreach($abbrs as $abbr) {
  | 
        
        
            | 
            | 
           198 | 
           				$classe = $abbr->getAttribute('class');
  | 
        
        
            | 
            | 
           199 | 
           				$params_subsp["type"] = $abbr->nodeValue;
  | 
        
        
           | 1477 | 
           mathias | 
           200 | 
           				$lien_tpl = html_entity_decode($this->url->obtenirUrlRechercheAvancee($params_subsp));
  | 
        
        
            | 
            | 
           201 | 
           				$texte_lien = $abbr->nodeValue;
  | 
        
        
            | 
            | 
           202 | 
              | 
        
        
            | 
            | 
           203 | 
           				$abbr->nodeValue = "";
  | 
        
        
            | 
            | 
           204 | 
           				$text = $doc->createElement('a', $texte_lien);
  | 
        
        
            | 
            | 
           205 | 
           				$text->setAttribute('href', $lien_tpl);
  | 
        
        
            | 
            | 
           206 | 
           				$text->setAttribute('title', $i18n["lien-recherche-hier-ssp"]);
  | 
        
        
            | 
            | 
           207 | 
           				$text->setAttribute('class', 'lien_recherche_hier');
  | 
        
        
           | 1280 | 
           aurelien | 
           208 | 
           				$abbr->appendChild($text);
  | 
        
        
            | 
            | 
           209 | 
           			}
  | 
        
        
            | 
            | 
           210 | 
           		}
  | 
        
        
           | 1277 | 
           aurelien | 
           211 | 
              | 
        
        
           | 1514 | 
           delphine | 
           212 | 
           		return $doc->SaveHtml();
  | 
        
        
           | 1277 | 
           aurelien | 
           213 | 
           	}
  | 
        
        
           | 1280 | 
           aurelien | 
           214 | 
              | 
        
        
            | 
            | 
           215 | 
           	private function formaterLienRechercheSurPartieNomSci(&$noeud, &$params) {
  | 
        
        
            | 
            | 
           216 | 
              | 
        
        
            | 
            | 
           217 | 
           	}
  | 
        
        
           | 291 | 
           jpm | 
           218 | 
              | 
        
        
           | 651 | 
           mathilde | 
           219 | 
           	public function ajouterLienModuleExport() {
  | 
        
        
           | 677 | 
           mathilde | 
           220 | 
           		$donnees['lien'] = $this->url->obtenirUrlPdfExport($this->parametres['num_nom']);
  | 
        
        
           | 709 | 
           aurelien | 
           221 | 
           		$export = $this->getVue('fiche_pdf_lien', $donnees);
  | 
        
        
            | 
            | 
           222 | 
           		return $export;
  | 
        
        
           | 651 | 
           mathilde | 
           223 | 
           	}
  | 
        
        
           | 1105 | 
           jpm | 
           224 | 
              | 
        
        
           | 709 | 
           aurelien | 
           225 | 
           	public function ajouterPiedDePage() {
  | 
        
        
            | 
            | 
           226 | 
           		$description = new Description($this->conteneur);
  | 
        
        
           | 1145 | 
           raphael | 
           227 | 
           		$taxons = new Taxons();
  | 
        
        
           | 709 | 
           aurelien | 
           228 | 
           		$referentiel = $this->conteneur->getParametre('referentiel');
  | 
        
        
           | 1105 | 
           jpm | 
           229 | 
           		$urlMobile = $this->url->obtenirUrlMobile($this->parametres['num_nom']);
  | 
        
        
           | 983 | 
           aurelien | 
           230 | 
           		$donnees = array('wikipedia' => $description->getUrlWikipedia(),
  | 
        
        
           | 990 | 
           isa | 
           231 | 
           			'export_pdf' => $this->ajouterLienModuleExport(),
  | 
        
        
            | 
            | 
           232 | 
           			'permalien_num_nom' => $taxons->getUrlPermalienNumNom($referentiel, 1, $this->conteneur->getNomCourant()->getNns()),
  | 
        
        
            | 
            | 
           233 | 
           			'permalien_taxon' => $taxons->getUrlPermalienTaxon($referentiel, 1, $this->conteneur->getNomCourant()->getNt()),
  | 
        
        
            | 
            | 
           234 | 
           			'nn' => $this->conteneur->getNomCourant()->getNns(),
  | 
        
        
            | 
            | 
           235 | 
           			'nt' => $this->conteneur->getNomCourant()->getNt(),
  | 
        
        
           | 1224 | 
           delphine | 
           236 | 
           			'nnr' => $this->conteneur->getNomCourant()->getNnr(),
  | 
        
        
            | 
            | 
           237 | 
           			'inpn' => $this->conteneur->getNomCourant()->getInpn(),
  | 
        
        
           | 990 | 
           isa | 
           238 | 
           			'wiki' => $description->getLienWikini(),
  | 
        
        
            | 
            | 
           239 | 
           			'nom_retenu' => $this->nom_retenu->get('nom_sci'),
  | 
        
        
            | 
            | 
           240 | 
           			'mobile' => $urlMobile,
  | 
        
        
           | 1477 | 
           mathias | 
           241 | 
           			'baseUrlIco' => Registre::get('eFlore.urlBaseDossier')->getUrl() . '/',
  | 
        
        
           | 990 | 
           isa | 
           242 | 
           			'qr_code_png' => $this->obtenirUrlQrCode($urlMobile)
  | 
        
        
            | 
            | 
           243 | 
           		);
  | 
        
        
           | 709 | 
           aurelien | 
           244 | 
           		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_pied_page', $donnees), true);
  | 
        
        
            | 
            | 
           245 | 
           	}
  | 
        
        
           | 1105 | 
           jpm | 
           246 | 
              | 
        
        
           | 990 | 
           isa | 
           247 | 
           	private function obtenirUrlQrCode($urlMobile) {
  | 
        
        
            | 
            | 
           248 | 
           		$qr = $this->conteneur->getQrCode();
  | 
        
        
            | 
            | 
           249 | 
           		$qr->setUrl(htmlspecialchars_decode($urlMobile));
  | 
        
        
           | 1299 | 
           mathias | 
           250 | 
           		$idQrCode = $this->conteneur->getParametre('referentiel') . '-' .$this->conteneur->getNomCourant()->getNns();
  | 
        
        
           | 990 | 
           isa | 
           251 | 
           		$urlQrCode = $qr->dessiner($idQrCode);
  | 
        
        
            | 
            | 
           252 | 
           		return $urlQrCode;
  | 
        
        
            | 
            | 
           253 | 
           	}
  | 
        
        
           | 1105 | 
           jpm | 
           254 | 
              | 
        
        
           | 230 | 
           delphine | 
           255 | 
           	public function executerOnglet(){
  | 
        
        
           | 913 | 
           aurelien | 
           256 | 
           		$this->viderSorties();
  | 
        
        
           | 238 | 
           delphine | 
           257 | 
           		$donnees = $this->obtenirDonnees();
  | 
        
        
           | 1243 | 
           aurelien | 
           258 | 
           		$squelette_onglet = $this->onglet;
  | 
        
        
            | 
            | 
           259 | 
           		// onglet
  | 
        
        
           | 1255 | 
           aurelien | 
           260 | 
           		$donnees['i18n'] = I18n::get('Fiche');
  | 
        
        
           | 1243 | 
           aurelien | 
           261 | 
           		$donnees['onglet'] = $this->onglet;
  | 
        
        
            | 
            | 
           262 | 
           		$taxons = new Taxons();
  | 
        
        
            | 
            | 
           263 | 
           		$referentiel = $this->conteneur->getParametre('referentiel');
  | 
        
        
            | 
            | 
           264 | 
           		$donnees['permalien_num_nom'] = $taxons->getUrlPermalienNumNom($referentiel, 1, $this->conteneur->getNomCourant()->getNns());
  | 
        
        
           | 1452 | 
           mathias | 
           265 | 
           		$donnees['prod'] = Config::get('info.prod');
  | 
        
        
            | 
            | 
           266 | 
              | 
        
        
           | 1243 | 
           aurelien | 
           267 | 
           		// cas particulier de l'onglet synthese qui possède 3 niveaux
  | 
        
        
            | 
            | 
           268 | 
           		// et dont le nom n'est donc pas directement celui de son squelette
  | 
        
        
            | 
            | 
           269 | 
           		if($this->onglet == "synthese") {
  | 
        
        
            | 
            | 
           270 | 
           			$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : 2;
  | 
        
        
            | 
            | 
           271 | 
           			$squelette_onglet .= '_niveau'.$niveau;
  | 
        
        
            | 
            | 
           272 | 
           			$entete = $this->getVue('fiche_entete', $donnees);
  | 
        
        
            | 
            | 
           273 | 
           			$vue = $entete.$this->getVue('fiche_'.$squelette_onglet, $donnees);
  | 
        
        
            | 
            | 
           274 | 
           		} else {
  | 
        
        
            | 
            | 
           275 | 
           			$vue = $this->getVue('fiche_'.$squelette_onglet, $donnees);
  | 
        
        
            | 
            | 
           276 | 
           		}
  | 
        
        
            | 
            | 
           277 | 
              | 
        
        
           | 291 | 
           jpm | 
           278 | 
           		header('Content-type: text/html');
  | 
        
        
           | 1243 | 
           aurelien | 
           279 | 
           		$this->setSortie(self::RENDU_CORPS, $vue);
  | 
        
        
           | 230 | 
           delphine | 
           280 | 
           	}
  | 
        
        
           | 291 | 
           jpm | 
           281 | 
              | 
        
        
            | 
            | 
           282 | 
           	private function obtenirDonnees() {
  | 
        
        
            | 
            | 
           283 | 
           		$classe = ucfirst($this->onglet);
  | 
        
        
           | 1058 | 
           raphael | 
           284 | 
           		$onglet = new $classe($this->conteneur); // grep-friendly: new Synthese()
  | 
        
        
           | 1144 | 
           raphael | 
           285 | 
           		return $onglet->obtenirDonnees();
  | 
        
        
           | 238 | 
           delphine | 
           286 | 
           	}
  | 
        
        
           | 71 | 
           delphine | 
           287 | 
           }
  | 
        
        
            | 
            | 
           288 | 
           ?>
  |