Subversion Repositories eFlore/Applications.eflore-consultation

Rev

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

Rev 116 Rev 130
Line 19... Line 19...
19
	public function initialiser() {
19
	public function initialiser() {
20
		$this->capturerParametres();
20
		$this->capturerParametres();
21
	}
21
	}
Line 22... Line 22...
22
 
22
 
23
	private function capturerParametres() {
-
 
24
		Debug::printr($_GET);
23
	private function capturerParametres() {
25
		if (isset($_GET['resultat'])) {
24
		if (isset($_GET['resultat'])) {
26
			$this->resultatType = $_GET['resultat'];
25
			$this->resultatType = $_GET['resultat'];
27
		}
26
		}
Line 31... Line 30...
31
		$this->executerResultat();
30
		$this->executerResultat();
32
	}
31
	}
Line 33... Line 32...
33
 
32
 
34
	public function executerResultat() {
33
	public function executerResultat() {
35
		$resultats = Registre::get('resultats');
-
 
36
		Debug::printr(Registre);
34
		$resultats = Registre::get('resultats');
37
		$donnees = array();
35
		$donnees = array();
38
		$donnees['typeResultat'] = $this->resultatType;
36
		$donnees['typeResultat'] = $this->resultatType;
39
		$donnees['urlResAlphab'] = $this->obtenirUrlResultatAlphab();
37
		$donnees['urlResAlphab'] = $this->obtenirUrlResultatAlphab();
40
		$donnees['urlResRetenu'] = $this->obtenirUrlResultatRetenu();
38
		$donnees['urlResRetenu'] = $this->obtenirUrlResultatRetenu();
Line 58... Line 56...
58
		$donnees['noms'] = $this->trierParNoms($resultats);
56
		$donnees['noms'] = $this->trierParNoms($resultats);
59
		return $this->getVue('resultat_liste_noms', $donnees);
57
		return $this->getVue('resultat_liste_noms', $donnees);
60
	}
58
	}
Line 61... Line 59...
61
 
59
 
62
	private function trierParNoms($noms) {
60
	private function trierParNoms($noms) {
63
		$noms = Tableau::trierTableauMd($noms, array('nom_sci' => SORT_ASC));
61
		$noms = Tableau::trierMD($noms, array('nom_sci' => SORT_ASC));
64
		return $noms;
62
		return $noms;
Line 65... Line 63...
65
	}
63
	}
66
 
64
 
Line 86... Line 84...
86
		return $noms;
84
		return $noms;
87
	}
85
	}
Line 88... Line 86...
88
 
86
 
89
	private function genererListeDetermination($resultats) {
87
	private function genererListeDetermination($resultats) {
-
 
88
		$donnees = array();
90
		$donnees = array();
89
		$donnees['imagesUrls'] = $this->obtenirUrlsImages($resultats);
91
		$donnees['noms'] = $this->trierSynonymes($resultats);
90
		$donnees['noms'] = $this->trierSynonymes($resultats);
92
		return $this->getVue('resultat_determination_noms', $donnees);
91
		return $this->getVue('resultat_determination_noms', $donnees);
Line -... Line 92...
-
 
92
	}
-
 
93
 
-
 
94
	private function obtenirUrlsImages($noms) {
-
 
95
		$ids = array();
-
 
96
		foreach ($noms as $id => $nom) {
-
 
97
			$ids[] = $id;
-
 
98
		}
-
 
99
		$reftax = Registre::get('parametres.referentiel');
-
 
100
		$projetImg = Config::get("$reftax.referentielImages");
-
 
101
		$Images = new Images($projetImg);
-
 
102
		$urls = $Images->getUrlsImagesParIdsNoms($ids);
-
 
103
		$urlsReftaxCourant = array();
-
 
104
		foreach ($urls as $id => $url) {
-
 
105
			$id = str_replace("$reftax.", '', $id);
-
 
106
			$urlsReftaxCourant[$id] = $url;
-
 
107
		}
-
 
108
		return $urlsReftaxCourant;
93
	}
109
	}
-
 
110
 
94
 
111
	private function trierSynonymes($noms) {
95
	private function trierSynonymes($noms) {
-
 
96
		$nomsRetenus = array();
112
		$nomsSansCorrespondance = array();
97
 
113
		$nomsRetenus = array();
98
		foreach ($noms as $idNomCourant => $nom) {
114
		foreach ($noms as $idNomCourant => $nom) {
99
			if ($nom['retenu'] == 'true') {
115
			if ($nom['retenu'] == 'true') {
100
				$nomRetenu = array();
116
				$nomRetenu = array();
101
				$nomRetenu['nom_sci_retenu'] = $nom['nom_sci'];
117
				$nomRetenu['nom_sci_retenu'] = $nom['nom_sci'];
102
				$nomRetenu['url'] = $this->obtenirUrlFiche($idNomCourant);
118
				$nomRetenu['url'] = $this->obtenirUrlFiche($idNomCourant);
-
 
119
				$nomsRetenus[$idNomCourant] = $nomRetenu;
-
 
120
			} else {
-
 
121
				if ($nom['nom_retenu'] == null) {
103
				$nomsRetenus[$idNomCourant] = $nomRetenu;
122
					$nomsSansCorrespondance[] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);
104
			} else {
123
				} else {
105
				$idNomRetenu = $nom['nom_retenu.id'];
124
					$idNomRetenu = $nom['nom_retenu.id'];
106
				if (array_key_exists($nom['nom_retenu.id'], $nomsRetenus) == false) {
125
					if (array_key_exists($nom['nom_retenu.id'], $nomsRetenus) == false) {
107
					$nomRetenu = array();
126
						$nomRetenu = array();
108
					$nomRetenu['nom_sci_retenu'] = $nom['nom_retenu'];
127
						$nomRetenu['nom_sci_retenu'] = $nom['nom_retenu'];
-
 
128
						$nomRetenu['url'] = $this->obtenirUrlFiche($idNomRetenu);
-
 
129
						$nomsRetenus[$idNomRetenu] = $nomRetenu;
109
					$nomRetenu['url'] = $this->obtenirUrlFiche($idNomRetenu);
130
					}
110
					$nomsRetenus[$idNomRetenu] = $nomRetenu;
-
 
-
 
131
					$nomsRetenus[$idNomRetenu]['synonymes'][] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);
111
				}
132
				}
112
				$nomsRetenus[$idNomRetenu]['synonymes'][] = array('nn' => $idNomCourant, 'nom_sci' => $nom['nom_sci']);
133
 
113
			}
134
			}
-
 
135
		}
114
		}
136
		$nomsRetenus = Tableau::trierMD($nomsRetenus, array('nom_sci_retenu' => SORT_ASC));
115
		$nomsRetenus = Tableau::trierMD($nomsRetenus, array('nom_sci_retenu' => SORT_ASC));
137
		$nomsRetenus['nsc']['liste'] = $nomsSansCorrespondance;
Line 116... Line 138...
116
		return $nomsRetenus;
138
		return $nomsRetenus;
117
	}
139
	}