Subversion Repositories eFlore/Applications.cel

Rev

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

Rev 2385 Rev 2458
Line 1... Line 1...
1
<?php
1
<?php
-
 
2
// declare(encoding='UTF-8');
-
 
3
/**
2
// ATTENTION ! Classe compatible uniquement avec nouveau format de bdd du cel //
4
 * Fournit une liste d'auto-complétions (=référentiel) relative à l'utilisateur sur l'un des champs demandés.
3
 
5
 *
-
 
6
 * @internal   Mininum PHP version : 5.2
4
// in utf8
7
 * @category   CEL
-
 
8
 * @package    Services
-
 
9
 * @subpackage Auto-complétions
5
// out utf8
10
 * @version    0.1
-
 
11
 * @author     Mathias CHOUET <mathias@tela-botanica.org>
-
 
12
 * @author     Jean-Pascal MILCENT <jpm@tela-botanica.org>
-
 
13
 * @author     Aurelien PERONNET <aurelien@tela-botanica.org>
-
 
14
 * @license    GPL v3 <http://www.gnu.org/licenses/gpl.txt>
-
 
15
 * @license    CECILL v2 <http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt>
-
 
16
 * @copyright  1999-2014 Tela Botanica <accueil@tela-botanica.org>
6
 
17
 */
7
// Fournit un référentiel relatif à l'utilisateur sur l'un des champs demandes
-
 
8
class SelfRefList extends Cel {
18
class SelfRefList extends Cel {
Line 9... Line 19...
9
 
19
 
Line 10... Line 20...
10
	private $referentiels = array('station', 'lieudit', 'milieu');
20
	private $referentiels = array('station', 'lieudit', 'milieu');
Line 29... Line 39...
29
		if ($_GET['recherche'] == '*') {
39
		if ($_GET['recherche'] == '*') {
30
			$_GET['recherche'] = '%';
40
			$_GET['recherche'] = '%';
31
		}
41
		}
Line 32... Line 42...
32
 
42
 
33
		$referentiel_demande = $uid[1];
43
		$referentiel_demande = $uid[1];
Line 34... Line -...
34
		$idUtilisateur = Cel::db()->proteger($uid[0]);
-
 
35
 
44
		$idUtilisateurP = Cel::db()->proteger($uid[0]);
36
		$requete = "SELECT DISTINCT $referentiel_demande " .
-
 
37
			'FROM cel_obs '.
45
 
-
 
46
		$filtreSql = '';
38
			"WHERE ce_utilisateur = '$idUtilisateur' ";
47
		if ($this->filtreRechercheEstDemande()) {
39
		if ($this->filtreRechercheEstDemande()) {
48
			$rechercheP = Cel::db()->proteger($_GET['recherche'].'%');
-
 
49
			$filtreRecherche = "AND $referentiel_demande LIKE $rechercheP ";
-
 
50
		}
40
			$requete .= " AND $referentiel_demande LIKE '".$_GET["recherche"]."%'";
51
 
-
 
52
		$limiteSql = '';
-
 
53
		if ($this->limiteEstDemandee()) {
41
		}
54
			$start = intval($_GET['start']);
42
		if ($this->limiteEstDemandee()) {
55
			$limit = intval($_GET['limit']);
-
 
56
			$limite = "LIMIT $start,$limit ";
-
 
57
		}
-
 
58
 
-
 
59
		$requete = "SELECT DISTINCT $referentiel_demande " .
-
 
60
			'FROM cel_obs '.
-
 
61
			"WHERE ce_utilisateur = $idUtilisateurP ".
-
 
62
			$filtreSql.
-
 
63
			"ORDER BY $referentiel_demande ".
43
			$requete .= " ORDER BY $referentiel_demande LIMIT ".$_GET['start'].','.$_GET['limit'];
64
			$limiteSql.
Line 44... Line 65...
44
		}
65
			' -- '.__FILE__.':'.__LINE__;
45
		$resultat = Cel::db()->requeter($requete);
66
		$resultat = Cel::db()->requeter($requete);
46
 
67
 
47
		$referentiel = array();
68
		$referentiel = array();
48
		if (is_array($resultat)) {
69
		if (is_array($resultat)) {
49
			foreach ($resultat as $cle => $valeur) {
70
			foreach ($resultat as $cle => $valeur) {
50
				if ($this->estUneValeurValide($valeur[$referentiel_demande])) {
-
 
51
					$referentiel[] = $valeur[$referentiel_demande];
71
				if ($this->estUneValeurValide($valeur[$referentiel_demande])) {
52
				}
72
					$referentiel[] = $valeur[$referentiel_demande];
53
 
73
				}
54
			}
74
			}
55
		}
75
		}