Subversion Repositories eFlore/Projets.eflore-projets

Rev

Rev 493 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 493 Rev 494
Line 67... Line 67...
67
	public function fusionnerIndex() {
67
	public function fusionnerIndex() {
68
		$this->chargerIndexSp();
68
		$this->chargerIndexSp();
69
		$this->chargerIndexSupraSp();
69
		$this->chargerIndexSupraSp();
70
		$this->initialiserTableauLigneIndexFinal();
70
		$this->initialiserTableauLigneIndexFinal();
71
		$this->creerIndexFinal();
71
		$this->creerIndexFinal();
-
 
72
		$this->insererCorrections();
72
		$this->ajouterChampsDansIndexFinal();
73
		$this->ajouterChampsDansIndexFinal();
73
		$this->ajouteurAuteurImage();
74
		$this->ajouteurAuteurImage();
74
		$this->decomposerNomSci();
75
		$this->decomposerNomSci();
75
		$this->ajouteurNomSciHtml();
76
		$this->ajouteurNomSciHtml();
76
		$this->ajouterCorrections();
-
 
77
		$this->creerFichierCsvIndexFinal();
77
		$this->creerFichierCsvIndexFinal();
78
	}
78
	}
Line 79... Line 79...
79
 
79
 
80
	private function chargerIndexSp() {
80
	private function chargerIndexSp() {
Line 143... Line 143...
143
					$infos['num_tax_sup'] = $nomSuperieur['num_nom'];
143
					$infos['num_tax_sup'] = $nomSuperieur['num_nom'];
144
				}
144
				}
145
				$nomRetenu = $infos;
145
				$nomRetenu = $infos;
146
			} else {
146
			} else {
147
				$nomRetenu = $this->indexFinal[$infos['num_nom_retenu_coste']];
147
				$nomRetenu = $this->indexFinal[$infos['num_nom_retenu_coste']];
148
				$infos['num_nom_retenu'] = $nomRetenu['num_nom'];
148
				$infos['num_nom_retenu'] = $nomRetenu['num_nom'];
-
 
149
				$infos['page'] = $nomRetenu['page'];
-
 
150
				$infos['tome'] = $nomRetenu['tome'];
149
			}
151
			}
150
			$infos['image'] = $this->obtenirNomFichierImg($nomRetenu);
152
			$infos['image'] = $this->obtenirNomFichierImg($nomRetenu);
151
			$infos['nbre_taxons'] = $this->obtenirNbreTaxon($infos);
153
			$infos['nbre_taxons'] = $this->obtenirNbreTaxon($infos);
152
			$nomRetenu['nbre_taxons'] = $infos['nbre_taxons'];
154
			$nomRetenu['nbre_taxons'] = $infos['nbre_taxons'];
153
			$infos['page_wiki_dsc'] = $this->genererPageWikiDsc($nomRetenu);
155
			$infos['page_wiki_dsc'] = $this->genererPageWikiDsc($nomRetenu);
Line 199... Line 201...
199
		return $pageWiki;
201
		return $pageWiki;
200
	}
202
	}
Line 201... Line 203...
201
 
203
 
202
	private function genererPrefixePage($infos) {
204
	private function genererPrefixePage($infos) {
203
		$prefixe = '';
205
		$prefixe = '';
204
		$num = preg_replace('/^[a-z]*([0-9.]+)$/i', '$1', $infos['num_nom_coste']);
206
		$num = preg_replace('/^[a-z]*([0-9]+)(?:[.][0-9a-z]|)$/i', '$1', $infos['num_nom_coste']);
205
		if (preg_match('/^([0-9]+)[.][0-9]+$/i', $infos['num_nom_coste'], $match)) {
207
		if (preg_match('/^([0-9]+)[.][0-9a-z]$/i', $infos['num_nom_coste'], $match)) {
206
			$num = sprintf('%04s', $match[1]);
208
			$num = sprintf('%04s', $match[1]);
207
		} else if ($infos['rang'] == 20 ) {
209
		} else if ($infos['rang'] == 20 ) {
208
			$num = '';
210
			$num = '';
209
		} else if ($infos['rang'] < 80 ) {
211
		} else if ($infos['rang'] < 80 ) {
Line 228... Line 230...
228
		return $nbre;
230
		return $nbre;
229
	}
231
	}
Line 230... Line 232...
230
 
232
 
231
	private function obtenirNomFichierImg($infos) {
233
	private function obtenirNomFichierImg($infos) {
-
 
234
		$img = '';
232
		$img = '';
235
		if ($infos['rang'] == '290') {
233
		if ($infos['rang'] == '290' && ($infos['num_nom'] == $infos['num_nom_retenu'])) {
236
			$prefixe = preg_replace('/[.][a-z]$/', '', $infos['num_nom_retenu']);
234
			$img = $infos['num_nom_coste'].'.png';
237
			$img = $prefixe.'.png';
235
		}
238
		}
236
		return $img;
239
		return $img;
Line 237... Line 240...
237
	}
240
	}
Line 294... Line 297...
294
			$this->messages->afficherAvancement("Création des noms scientifiques HTML en cours");
297
			$this->messages->afficherAvancement("Création des noms scientifiques HTML en cours");
295
		}
298
		}
296
		echo "\n";
299
		echo "\n";
297
	}
300
	}
Line 298... Line 301...
298
 
301
 
299
	private function ajouterCorrections() {
302
	private function insererCorrections() {
300
		$correctionsFichier = $this->dossierBase.self::DOSSIER_V2.'coste_v2_00_corrections.tsv';
303
		$correctionsFichier = $this->dossierBase.self::DOSSIER_V2.'coste_v2_00_corrections.tsv';
301
		$corrections = $this->outils->transformerTxtTsvEnTableau($correctionsFichier);
304
		$corrections = $this->outils->transformerTxtTsvEnTableau($correctionsFichier);
302
		foreach ($corrections as $infos) {
305
		foreach ($corrections as $infos) {
303
			$nnc = $infos['num_nom_coste'];
306
			$nnc = $infos['num_nom_coste'];
304
			$infosACorriger = $this->indexFinal[$nnc];
307
			$infosACorriger = isset($this->indexFinal[$nnc]) ? $this->indexFinal[$nnc] : array();
305
			foreach ($corrections as $champ => $valeur) {
308
			foreach ($corrections as $champ => $valeur) {
306
				$infosACorriger[$champ] = $valeur;
309
				$infosACorriger[$champ] = $valeur;
307
			}
310
			}
308
			$this->indexFinal[$nnc] = $infosACorriger;
311
			$this->indexFinal[$nnc] = $infosACorriger;