Subversion Repositories eFlore/Applications.coel-consultation

Rev

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

Rev 195 Rev 213
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 195 2014-01-22 13:29:20Z aurelien $
12
 * @version		SVN: $Id: Recherche.php 213 2014-04-25 13:12:08Z aurelien $
13
 */
13
 */
14
class Recherche extends aControleur {
14
class Recherche extends aControleur {
Line 15... Line 15...
15
	
15
	
16
	//private $chaine_recherche = null;
16
	//private $chaine_recherche = null;
Line 64... Line 64...
64
		}
64
		}
65
		$this->masque = $masque;
65
		$this->masque = $masque;
66
		return $masque;
66
		return $masque;
67
	}
67
	}
Line 68... Line -...
68
 
-
 
69
	/*private function obtenirChaineRecherche() {
-
 
70
		$chaine = '';
-
 
71
		if (!is_null($this->chaine_recherche)) {
-
 
72
			$chaine = $this->chaine_recherche;
-
 
73
		} else if (isset($_GET['recherche'])) {
-
 
74
			// Pré-traitement de la chaine de recherche
-
 
75
			$chaine = $_GET['recherche'];
-
 
76
			// Suppression des slash ajouté automatiquement par PHP devant les guillemets
-
 
77
			$chaine = stripslashes($chaine);
-
 
78
			// Mémorisation de la chaine
-
 
79
			$this->memoriserChaineRecherche($chaine);
-
 
80
			// Stockage dans la classe pour éviter d'effectuer à nouveau le traitement ci-dessus
-
 
81
			$this->chaine_recherche = $chaine;
-
 
82
		} else if (isset($_SESSION['col']['recherche'])) {
-
 
83
			$chaine = $_SESSION['col']['recherche'];
-
 
84
		}
-
 
85
		return $chaine;
-
 
86
	}*/
-
 
87
 
-
 
88
	/*private function memoriserChaineRecherche($chaine) {
-
 
89
		$_SESSION['col']['recherche'] = $chaine;
-
 
90
	}*/
-
 
91
 
68
 
92
	public static function getUrlExemple($chaine) {
69
	public static function getUrlExemple($chaine) {
93
		$url = '';
70
		$url = '';
94
		if (!is_null(self::$url_exemple)) {
71
		if (!is_null(self::$url_exemple)) {
95
			// L'utilisation d'urlencode nécessiate de pré-encodé la chaine dans le format de sortie si nécessaire
72
			// L'utilisation d'urlencode nécessiate de pré-encodé la chaine dans le format de sortie si nécessaire
Line 109... Line 86...
109
 
86
 
110
		$donnees = array();
87
		$donnees = array();
111
		$donnees['masque'] = $masque;
88
		$donnees['masque'] = $masque;
112
		$rechercheDao =  new RechercheDao();
89
		$rechercheDao =  new RechercheDao();
113
		$parametres = array('mots' => '*');
-
 
114
		
-
 
115
		// Récupération des paramêtres de l'url
-
 
116
		/*$chaine_de_recherche = $this->obtenirChaineRecherche();
-
 
117
		echo "CH RECH: $chaine_de_recherche<br/>"; 
-
 
118
		if (!empty($chaine_de_recherche)) {
-
 
119
			$this->url->setVariableRequete('recherche', $chaine_de_recherche);
-
 
120
		}
-
 
Line 121... Line 90...
121
		$parametres = $this->parserChaineDeRecherche($chaine_de_recherche);*/
90
		$parametres = array('mots' => '*');
122
 
91
 
Line 123... Line 92...
123
		// Récupération des paramètres depuis le masque
92
		// Récupération des paramètres depuis le masque
Line 227... Line 196...
227
				$masque[$masque_possible] = '';
196
				$masque[$masque_possible] = '';
228
			}
197
			}
229
		}
198
		}
230
		return $masque;
199
		return $masque;
231
	}
200
	}
232
	
-
 
233
	/*private function parserChaineDeRecherche($chaine) {		
-
 
234
		$mots = preg_split('/ /i', $chaine, -1, PREG_SPLIT_NO_EMPTY);
-
 
235
		$parametres = array('mots' => '');
-
 
236
		$cle_precedente = null;
-
 
237
		foreach ($mots as $mot) {
-
 
238
			if (preg_match('/^(sci|veg|bot|zg|p|pr|str-d):(.*)$/', $mot, $match)) {
-
 
239
				$cle = $match[1];
-
 
240
				$cle_precedente = $cle;
-
 
241
				$valeur = $match[2];
-
 
242
				$parametres[$cle] = $valeur;
-
 
243
			} else if (!is_null($cle_precedente)) {
-
 
244
				$parametres[$cle_precedente] .= ' '.$mot;
-
 
245
			} else if (is_null($cle_precedente)) {
-
 
246
				if (empty($parametres['mots'])) {
-
 
247
					$parametres['mots'] = $mot;
-
 
248
				} else {
-
 
249
					$parametres['mots'] .= ' '.$mot;
-
 
250
				}
-
 
251
			}
-
 
252
		}
-
 
253
		$this->remplacerAbreviationParId($parametres);
-
 
254
		
-
 
255
		return $parametres;
-
 
256
	}*/
-
 
Line 257... Line 201...
257
 
201
 
258
	private function remplacerAbreviationParId(&$parametres) {
202
	private function remplacerAbreviationParId(&$parametres) {
259
		// liste 27 : Liste des relations entre une collection et une personne (id:1030)
203
		// liste 27 : Liste des relations entre une collection et une personne (id:1030)
260
		// liste 80 : Liste des types de collection botanique (id:1083)
204
		// liste 80 : Liste des types de collection botanique (id:1083)