Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 1273 Rev 1277
Line 98... Line 98...
98
 
98
 
99
		$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
99
		$this->setSortie('tags', $this->nom_retenu->get('nom_sci').",".$verna.
Line 100... Line 100...
100
			",botanique,plante,description,ecologie,reconnaitre,fiche espece");
100
			",botanique,plante,description,ecologie,reconnaitre,fiche espece");
101
 
101
 
-
 
102
		// titre de la fiche
102
		// titre de la fiche
103
		$nom_html_fmt = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
103
		$donnees['nom_retenu_html'] = $this->nom_retenu->get('nom_sci_html').' '.$this->nom_retenu->get('auteur');
104
		$donnees['nom_retenu_html'] = $this->formaterLiensNomsHtml($nom_html_fmt);
104
		$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
105
		$donnees['nom_retenu'] = $this->nom_retenu->get('nom_sci');
-
 
106
		$donnees['nom_appele_html'] = $this->nom_appele_html;
-
 
107
		$famille = $this->nom_retenu->getTaxonSupRang('180');
-
 
108
		$donnees['lien_recherche_famille'] = html_entity_decode($this->url->obtenirUrlRechercheAvancee(array("fam" => $famille)));
105
		$donnees['nom_appele_html'] = $this->nom_appele_html;
109
		$donnees['famille'] = $famille;
Line 106... Line 110...
106
		$donnees['famille'] = $this->nom_retenu->getTaxonSupRang('180');
110
		
107
		$donnees['nom_vernaculaire'] = $verna;
111
		$donnees['nom_vernaculaire'] = $verna;
Line 126... Line 130...
126
		$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
130
		$donnees['contenu_onglet'] = $this->getVue($squelette, $donnees);
Line 127... Line 131...
127
		
131
		
128
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
132
		$this->setSortie(self::RENDU_CORPS, $this->getVue('fiche_accueil_niveau'.$niveau, $donnees), true);
129
		$this->ajouterPiedDePage();
133
		$this->ajouterPiedDePage();
-
 
134
	}
-
 
135
	
-
 
136
	private function formaterLiensNomsHtml($nom_sci_html) {
-
 
137
		
-
 
138
		$app_urls = new AppUrls();
-
 
139
		$params = array();
-
 
140
		$classes_recherche = array("fam" => "fam", "gen" => "gen", "sp" => "sp", "infra-sp" => "ssp");
-
 
141
		
-
 
142
		$doc = new DOMDocument();
-
 
143
		$doc->loadHTML($nom_sci_html);
-
 
144
		$spans = $doc->getElementsByTagName('span');
-
 
145
		$abbr = $doc->getElementsByTagName('abbr');
-
 
146
		
-
 
147
		$params_subsp = array();
-
 
148
		
-
 
149
		$i18n =  I18n::get('Fiche');
-
 
150
		
-
 
151
		if ($spans->length > 0) {
-
 
152
			foreach($spans as $span) {
-
 
153
				$classe = $span->getAttribute('class');
-
 
154
				if(in_array($classe, array_keys($classes_recherche))) {
-
 
155
					
-
 
156
					$params[$classes_recherche[$classe]] = $span->nodeValue;	
-
 
157
					if($classe == "sp") {
-
 
158
						$params_subsp = $params;
-
 
159
					}				
-
 
160
					$lien_tpl = html_entity_decode($this->url->obtenirUrlRechercheAvancee($params));
-
 
161
					$texte_lien = $span->nodeValue;	
-
 
162
					
-
 
163
					$span->nodeValue = "";
-
 
164
					$text = $doc->createElement('a', $texte_lien);
-
 
165
					$text->setAttribute('href', $lien_tpl);
-
 
166
					$text->setAttribute('title', $i18n["lien-recherche-hier-".$classe]);
-
 
167
					$text->setAttribute('class', 'lien_recherche_hier');
-
 
168
					$span->appendChild($text);
-
 
169
				}
-
 
170
			}
-
 
171
		}
-
 
172
		
-
 
173
		// TODO: gérer le cas du type d'épithète infra-spécifique (qui est une abbréviation
-
 
174
		// et donc la valeur ne correspond pas à ce qu'attend l'url de recherche)
-
 
175
		
-
 
176
		return $doc->SaveXml();
Line 130... Line 177...
130
	}
177
	}
131
 
178
 
132
	public function ajouterLienModuleExport() {
179
	public function ajouterLienModuleExport() {
133
		$donnees['lien'] = $this->url->obtenirUrlPdfExport($this->parametres['num_nom']);
180
		$donnees['lien'] = $this->url->obtenirUrlPdfExport($this->parametres['num_nom']);