Subversion Repositories eFlore/Applications.coel-consultation

Rev

Rev 213 | Rev 264 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 213 Rev 246
Line 7... Line 7...
7
 * @category	Php5
7
 * @category	Php5
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
8
 * @author		Jean-Pascal MILCENT <jpm@tela-botanica.org>
9
 * @copyright	2010 Tela-Botanica
9
 * @copyright	2010 Tela-Botanica
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
10
 * @license		http://www.cecill.info/licences/Licence_CeCILL_V2-fr.txt Licence CECILL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
11
 * @license		http://www.gnu.org/licenses/gpl.html Licence GNU-GPL
12
 * @version		SVN: $Id: Recherche.php 213 2014-04-25 13:12:08Z aurelien $
12
 * @version		SVN: $Id: Recherche.php 246 2015-03-03 09:13:36Z mathias $
13
 */
13
 */
14
class Recherche extends aControleur {
14
class Recherche extends aControleur {
Line 15... Line 15...
15
	
15
	
16
	//private $chaine_recherche = null;
16
	//protected $chaine_recherche = null;
17
	private $masque = null;
17
	protected $masque = null;
Line 18... Line 18...
18
	private static $url_exemple = null;
18
	protected static $url_exemple = null;
19
	
19
	
20
	//+----------------------------------------------------------------------------------------------------------------+
20
	//+----------------------------------------------------------------------------------------------------------------+
21
	// Méthodes
21
	// Méthodes
Line 50... Line 50...
50
		
50
		
51
		// Gestion du squelette et de la sortie
51
		// Gestion du squelette et de la sortie
52
		$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees));
52
		$this->setSortie(self::RENDU_TETE, $this->getVue('moteur', $donnees));
Line 53... Line 53...
53
	}
53
	}
54
 
54
 
55
	private function obtenirMasqueRecherche() {
55
	protected function obtenirMasqueRecherche() {
56
		$masque = array();
56
		$masque = array();
57
		if (!is_null($this->masque)) {
57
		if (!is_null($this->masque)) {
58
			$masque = $this->masque;
58
			$masque = $this->masque;
Line 94... Line 94...
94
 
94
 
95
		$this->remplacerAbreviationParId($parametres);
95
		$this->remplacerAbreviationParId($parametres);
Line 96... Line 96...
96
		//echo "PARAM 2: <pre>" . print_r($parametres, true) . "</pre><br/>";
96
		//echo "PARAM 2: <pre>" . print_r($parametres, true) . "</pre><br/>";
-
 
97
		
-
 
98
		// Gestion du nombre de résultats
97
		
99
		$donnees_total = null;
98
		// Gestion du nombre de résultats
100
		if (isset($masque['cible'])) {
99
		switch ($masque['cible']) {
101
			switch ($masque['cible']) {
100
			case 'collections':
102
				case 'collections':
101
				$donnees_total = $rechercheDao->chercherCollectionsNbre($parametres);
103
					$donnees_total = $rechercheDao->chercherCollectionsNbre($parametres);
102
				break;
104
					break;
103
			case 'personnes':
105
				case 'personnes':
104
				$donnees_total = $rechercheDao->chercherPersonnesNbre($parametres);
106
					$donnees_total = $rechercheDao->chercherPersonnesNbre($parametres);
105
				break;
107
					break;
106
			default:
108
				default:
-
 
109
					// @TODO qu'est-ce qui se passe ?
Line 107... Line 110...
107
				// @TODO qu'est-ce qui se passe ?
110
			}
108
		}
111
		}
109
 
112
 
110
		// Gestion du fragmenteur
113
		// Gestion du fragmenteur
Line 122... Line 125...
122
		// Gestion de l'accès aux données
125
		// Gestion de l'accès aux données
123
		$rechercheDao->setLimitation(($de - 1), $fragmenteur->getDonneesParPage());
126
		$rechercheDao->setLimitation(($de - 1), $fragmenteur->getDonneesParPage());
124
		$rechercheDao->setDistinction(1);
127
		$rechercheDao->setDistinction(1);
Line 125... Line 128...
125
		
128
		
-
 
129
		// Récupération des résultats
126
		// Récupération des résultats
130
		if (isset($masque['cible'])) {
127
		switch ($masque['cible']) {
131
			switch ($masque['cible']) {
128
			case 'collections':
132
				case 'collections':
129
				$resultats = $rechercheDao->chercherCollections($parametres);
133
					$resultats = $rechercheDao->chercherCollections($parametres);
130
				break;
134
					break;
131
			case 'personnes':
135
				case 'personnes':
132
				$resultats = $rechercheDao->chercherPersonnes($parametres);
136
					$resultats = $rechercheDao->chercherPersonnes($parametres);
133
				break;
137
					break;
134
			default:
138
				default:
-
 
139
			}
Line 135... Line 140...
135
		}
140
		}
-
 
141
 
136
 
142
		// Affichage de la liste de résultats
137
		// Affichage de la liste de résultats
143
		if (isset($masque['cible'])) {
138
		switch ($masque['cible']) {
144
			switch ($masque['cible']) {
139
			case 'collections':
145
				case 'collections':
140
				foreach ($resultats as $resultat) {
146
					foreach ($resultats as $resultat) {
Line 175... Line 181...
175
				}
181
					}
176
			break;
182
				break;
Line 177... Line 183...
177
 
183
	
178
			default:
184
				default:
-
 
185
			}
Line 179... Line 186...
179
		}
186
		}
180
 
187
 
Line 181... Line 188...
181
		// Post-traitement des résultats pour l'affichage
188
		// Post-traitement des résultats pour l'affichage
Line 186... Line 193...
186
		$resultat = $this->getVue('resultat', $donnees);
193
		$resultat = $this->getVue('resultat', $donnees);
187
		$this->setSortie(self::RENDU_CORPS, $resultat);
194
		$this->setSortie(self::RENDU_CORPS, $resultat);
188
		$this->chargerPiedDePage();
195
		$this->chargerPiedDePage();
189
	}
196
	}
Line 190... Line 197...
190
	
197
	
191
	private function initialiserMasquesVides($masque) {
198
	protected function initialiserMasquesVides($masque) {
192
		$masques_possibles = array('lieu-stockage',
199
		$masques_possibles = array('lieu-stockage',
193
		'veg','zg','bot','p','pr','nom-famille','date-vivant','date-deces','adresse');
200
		'veg','zg','bot','p','pr','nom-famille','date-vivant','date-deces','adresse');
194
		foreach($masques_possibles as $masque_possible) {
201
		foreach($masques_possibles as $masque_possible) {
195
			if(!isset($masque[$masque_possible])) {
202
			if(!isset($masque[$masque_possible])) {
196
				$masque[$masque_possible] = '';
203
				$masque[$masque_possible] = '';
197
			}
204
			}
198
		}
205
		}
199
		return $masque;
206
		return $masque;
Line 200... Line 207...
200
	}
207
	}
201
 
208
 
202
	private function remplacerAbreviationParId(&$parametres) {
209
	protected function remplacerAbreviationParId(&$parametres) {
203
		// liste 27 : Liste des relations entre une collection et une personne (id:1030)
210
		// liste 27 : Liste des relations entre une collection et une personne (id:1030)
204
		// liste 80 : Liste des types de collection botanique (id:1083)
211
		// liste 80 : Liste des types de collection botanique (id:1083)
205
		$params_a_remplacer = array('veg' => 1043, 'bot' => 1083, 'pr' => 1030);
212
		$params_a_remplacer = array('veg' => 1043, 'bot' => 1083, 'pr' => 1030);