Subversion Repositories eFlore/Applications.eflore-consultation

Rev

Rev 1058 | Rev 1144 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1058 Rev 1105
Line 68... Line 68...
68
	public function executerActionParDefaut() {
68
	public function executerActionParDefaut() {
69
		$this->executerFiche();
69
		$this->executerFiche();
70
	}
70
	}
Line 71... Line 71...
71
 
71
 
72
	public function executerFiche(){
72
	public function executerFiche(){
73
		
73
 
74
		$squelette = 'fiche_'.$this->onglet;
74
		$squelette = 'fiche_'.$this->onglet;
75
		
75
 
76
		//Gestion du niveau
76
		//Gestion du niveau
77
		$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : 2;
77
		$niveau = isset($_GET['niveau']) ? $_GET['niveau'] : 2;
78
		if ($this->onglet == 'synthese' && $niveau != null) {
78
		if ($this->onglet == 'synthese' && $niveau != null) {
79
			$squelette .= '_niveau'.$niveau;
79
			$squelette .= '_niveau'.$niveau;
80
		}
80
		}
81
		
81
 
82
		// Récupération parametres et données
82
		// Récupération parametres et données
83
		$donnees = $this->parametres;
83
		$donnees = $this->parametres;
84
		$donnees = array_merge($this->obtenirDonnees(), $donnees);
84
		$donnees = array_merge($this->obtenirDonnees(), $donnees);
85
		$donnees['i18n'] = I18n::get('Fiche');
85
		$donnees['i18n'] = I18n::get('Fiche');
86
		$verna = (isset($donnees['ethnobotanique']['nomsVerna'])) ? $donnees['ethnobotanique']['nomsVerna'][0]['nom_vernaculaire'] : "";
86
		$verna = (isset($donnees['ethnobotanique']['nomsVerna'])) ? $donnees['ethnobotanique']['nomsVerna'][0]['nom_vernaculaire'] : "";
87
		
87
 
88
		// titre, description et tag de la page
88
		// titre, description et tag de la page
89
		$this->setSortie('titre', $this->nom_retenu->get('nom_sci'));
89
		$this->setSortie('titre', $this->nom_retenu->get('nom_sci'));
90
		$this->setSortie('description', "Fiche descriptive de ".$this->nom_retenu->get('nom_sci')." ".
90
		$this->setSortie('description', "Fiche descriptive de ".$this->nom_retenu->get('nom_sci')." ".
91
		$verna." ".$donnees['description']['titre']." ".implode(" ", $donnees['description']['description']));
91
		$verna." ".$donnees['description']['titre']." ".implode(" ", $donnees['description']['description']));
92
		$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
92
		$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
93
			",botanique,plante,description,ecologie,reconnaitre,fiche espece");
93
			",botanique,plante,description,ecologie,reconnaitre,fiche espece");
94
		
94
 
95
		// titre de la fiche
95
		// titre de la fiche
96
		$donnees['nom_retenu_html'] = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
96
		$donnees['nom_retenu_html'] = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
97
		$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
97
		$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
98
		$donnees['famille'] = $this->nom_retenu->getTaxonSupRang('180');
98
		$donnees['famille'] = $this->nom_retenu->getTaxonSupRang('180');
99
		$donnees['nom_vernaculaire'] = $verna;
99
		$donnees['nom_vernaculaire'] = $verna;
100
		
100
 
101
		// moteur de recherche
101
		// moteur de recherche
102
		$this->executerAction('Recherche', 'executerAccueil', $this->parametres);
102
		$this->executerAction('Recherche', 'executerAccueil', $this->parametres);
103
		
103
 
104
		// page synthese
104
		// page synthese
105
		$blocs_niveaux = $this->conteneur->getParametreTableau('blocs_fiche_defaut');
105
		$blocs_niveaux = $this->conteneur->getParametreTableau('blocs_fiche_defaut');
Line 106... Line 106...
106
		$donnees['blocs'] = '"'.str_replace('|', '","', $blocs_niveaux[Registre::get('parametres.niveau')]).'"';
106
		$donnees['blocs'] = '"'.str_replace('|', '","', $blocs_niveaux[Registre::get('parametres.niveau')]).'"';
107
 
107
 
108
		// onglet
108
		// onglet
109
		$donnees['onglet'] = $this->onglet;
109
		$donnees['onglet'] = $this->onglet;
110
		$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
110
		$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
111
		$donnees['base_url_onglets'] = Config::get('base_url_application_onglets');
111
		$donnees['base_url_onglets'] = Config::get('base_url_application_onglets');
112
		
112
 
113
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
113
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
Line 114... Line 114...
114
		$this->ajouterPiedDePage();
114
		$this->ajouterPiedDePage();
115
	}
115
	}
116
 
116
 
117
	public function ajouterLienModuleExport() {
117
	public function ajouterLienModuleExport() {
118
		$donnees['lien'] = $this->url->obtenirUrlPdfExport($this->parametres['num_nom']);
118
		$donnees['lien'] = $this->url->obtenirUrlPdfExport($this->parametres['num_nom']);
119
		$export = $this->getVue('fiche_pdf_lien', $donnees);
119
		$export = $this->getVue('fiche_pdf_lien', $donnees);
120
		return $export;
120
		return $export;
121
	}
121
	}
122
	
122
 
123
	public function ajouterPiedDePage() {
123
	public function ajouterPiedDePage() {
124
		$description = new Description($this->conteneur);
124
		$description = new Description($this->conteneur);
125
		$taxons = new Taxons($this->conteneur);
125
		$taxons = new Taxons($this->conteneur);
126
		$referentiel = $this->conteneur->getParametre('referentiel');
126
		$referentiel = $this->conteneur->getParametre('referentiel');
127
		$urlMobile = $this->url->obtenirUrlMobile($this->parametres['num_nom'], $this->parametres['type_nom'], $this->parametres['nom']);
127
		$urlMobile = $this->url->obtenirUrlMobile($this->parametres['num_nom']);
128
		$donnees = array('wikipedia' => $description->getUrlWikipedia(),
128
		$donnees = array('wikipedia' => $description->getUrlWikipedia(),
129
			'export_pdf' => $this->ajouterLienModuleExport(),
129
			'export_pdf' => $this->ajouterLienModuleExport(),
Line 136... Line 136...
136
			'mobile' => $urlMobile,
136
			'mobile' => $urlMobile,
137
			'qr_code_png' => $this->obtenirUrlQrCode($urlMobile)
137
			'qr_code_png' => $this->obtenirUrlQrCode($urlMobile)
138
		);
138
		);
139
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_pied_page', $donnees), true);
139
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_pied_page', $donnees), true);
140
	}
140
	}
141
	
141
 
142
	private function obtenirUrlQrCode($urlMobile) {
142
	private function obtenirUrlQrCode($urlMobile) {
143
		$qr = $this->conteneur->getQrCode();
143
		$qr = $this->conteneur->getQrCode();
144
		$qr->setUrl(htmlspecialchars_decode($urlMobile));
144
		$qr->setUrl(htmlspecialchars_decode($urlMobile));
145
		$idQrCode = $this->conteneur->getNomCourant()->getNns();
145
		$idQrCode = $this->conteneur->getNomCourant()->getNns();
146
		$urlQrCode = $qr->dessiner($idQrCode);
146
		$urlQrCode = $qr->dessiner($idQrCode);
147
		return $urlQrCode;
147
		return $urlQrCode;
148
	}
148
	}
149
	
149
 
150
	public function executerOnglet(){
150
	public function executerOnglet(){
151
		$this->viderSorties();
151
		$this->viderSorties();
152
		$donnees = $this->obtenirDonnees();
152
		$donnees = $this->obtenirDonnees();
153
		header('Content-type: text/html');
153
		header('Content-type: text/html');
154
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_'.$this->onglet, $donnees));
154
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_'.$this->onglet, $donnees));