Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1721 Rev 1723
Line 39... Line 39...
39
			$p['abreviation'] = "'%'";
39
			$p['abreviation'] = "'%'";
40
		}
40
		}
Line 41... Line 41...
41
		
41
		
42
		$p['type'] = trim($p['type'], "'");
42
		$p['type'] = trim($p['type'], "'");
43
		switch ($p['type']) {
43
		switch ($p['type']) {
44
			case 'identifiant' :
44
        case 'identifiant' :
45
				// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste
45
            // Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste
46
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
46
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
47
							'FROM coel_meta_liste_valeur '.
47
                'FROM coel_meta_liste_valeur '.
48
							"WHERE cmlv_id_valeur = {$p['idValeur']} ".
48
                "WHERE cmlv_id_valeur = {$p['idValeur']} ".
49
							'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
49
                'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
50
				$requete_compte = $requete;
50
            $requete_compte = $requete;
51
			break;
51
			break;
52
			case 'id' :
52
        case 'id' :
53
				// Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste
53
            // Nous avons un identifiant de liste, nous récupérons seulement les valeurs de cette liste
54
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
54
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
55
							'FROM coel_meta_liste_valeur '.
55
                'FROM coel_meta_liste_valeur '.
56
							"WHERE cmlv_ce_parent = {$p['ceParent']} ".
56
                "WHERE cmlv_ce_parent = {$p['ceParent']} ".
57
							"AND cmlv_id_valeur LIKE {$p['idValeur']} ".
57
                "AND cmlv_id_valeur LIKE {$p['idValeur']} ".
58
							'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
58
                'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
59
				$requete_compte = $requete;
59
            $requete_compte = $requete;
60
				$requete .= "LIMIT $this->start,$this->limit ";
60
            $requete .= "LIMIT $this->start,$this->limit ";
61
			break;
61
			break;
62
			case 'idv' :
62
        case 'idv' :
63
				// Nous avons un ou plusieurs identifiants de valeurs, nous les récupérons
63
            // Nous avons un ou plusieurs identifiants de valeurs, nous les récupérons
Line 64... Line 64...
64
				$p = $this->traiterParametresUrl(array('type', 'idValeur'), $param);
64
            $p = $this->traiterParametresUrl(array('type', 'idValeur'), $param);
65
				
65
				
66
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
66
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
67
							'FROM coel_meta_liste_valeur '.
67
                'FROM coel_meta_liste_valeur '.
68
							'WHERE cmlv_id_valeur IN ('.$this->traiterBddClauseIn($p['idValeur']).') '.
68
                'WHERE cmlv_id_valeur IN ('.$this->traiterBddClauseIn($p['idValeur']).') '.
69
							'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' '.
69
                'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' '.
70
							"LIMIT $this->start,$this->limit ";
70
                "LIMIT $this->start,$this->limit ";
71
			break;
71
			break;
72
			case 'ab' :
72
        case 'ab' :
73
				// Nous avons une abréviation de liste, nous récupérons seulement les valeurs de cette liste
73
            // Nous avons une abréviation de liste, nous récupérons seulement les valeurs de cette liste
74
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' v.* '.
74
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' v.* '.
75
							'FROM coel_meta_liste_valeur AS l LEFT JOIN coel_meta_liste_valeur AS v ON (l.cmlv_id_valeur = v.cmlv_ce_parent) '.
75
                'FROM coel_meta_liste_valeur AS l LEFT JOIN coel_meta_liste_valeur AS v ON (l.cmlv_id_valeur = v.cmlv_ce_parent) '.
76
							'WHERE l.cmlv_ce_parent = 0 '.
76
                'WHERE l.cmlv_ce_parent = 0 '.
77
							"AND l.cmlv_abreviation LIKE {$p['abreviation']} ".
77
                "AND l.cmlv_abreviation LIKE {$p['abreviation']} ".
78
							'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'v.cmlv_id_valeur ASC').' ';
78
                'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'v.cmlv_id_valeur ASC').' ';
79
				$requete_compte = $requete;
79
            $requete_compte = $requete;
80
				$requete .= "LIMIT $this->start,$this->limit ";
80
            $requete .= "LIMIT $this->start,$this->limit ";
81
			break;
81
			break;
82
			case 'abv' :
82
        case 'abv' :
83
				// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes
83
            // Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes
-
 
84
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
-
 
85
                'FROM coel_meta_liste_valeur '.
-
 
86
                "WHERE ";
-
 
87
 
-
 
88
            // spécial outre-mer française
-
 
89
            if($p['abreviation'] == "'FR%'" && $p['ceParent'] == "'1078'") {
84
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
90
                $requete .= "cmlv_abreviation REGEXP '^(FR|RE|YT|GP|MQ|GF|NC)...$' ";
-
 
91
            } else {
-
 
92
                $requete .= "cmlv_abreviation LIKE {$p['abreviation']} ";
85
							'FROM coel_meta_liste_valeur '.
93
            }
86
							"WHERE cmlv_abreviation LIKE {$p['abreviation']} ".
94
 
87
							(isset($p['ceParent']) ? "	AND cmlv_ce_parent = {$p['ceParent']} " : '').
95
            $requete .= isset($p['ceParent']) ? " AND cmlv_ce_parent = {$p['ceParent']} " : ''.
88
							" AND cmlv_id_valeur LIKE {$p['idValeur']}".
96
                " AND cmlv_id_valeur LIKE {$p['idValeur']}".
89
							' ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
97
                ' ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
90
				$requete_compte = $requete;
98
            $requete_compte = $requete;
91
				$requete .= "LIMIT $this->start,$this->limit ";
99
            $requete .= "LIMIT $this->start,$this->limit ";
92
			break;
100
			break;
93
			case 'nom' :
101
        case 'nom' :
94
				// Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes
102
            // Nous avons une abréviation de valeur, nous récupérons toutes les valeurs correspondantes
95
				$requete = 	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
103
            $requete =	(($this->distinct) ? 'SELECT DISTINCT' : 'SELECT').' * '.
96
							'FROM coel_meta_liste_valeur '.
104
                'FROM coel_meta_liste_valeur '.
97
							'WHERE ';
105
                'WHERE ';
98
				if (isset($p['nom']) && $p['nom'] != "") $requete .= "cmlv_nom LIKE {$p['nom']} AND ";
106
            if (isset($p['nom']) && $p['nom'] != "") $requete .= "cmlv_nom LIKE {$p['nom']} AND ";
99
				if (isset($p['ceParent'])) $requete .= " cmlv_ce_parent = {$p['ceParent']} AND ";
107
            if (isset($p['ceParent'])) $requete .= " cmlv_ce_parent = {$p['ceParent']} AND ";
100
				$requete .= " cmlv_id_valeur LIKE {$p['idValeur']} ".
108
            $requete .= " cmlv_id_valeur LIKE {$p['idValeur']} ".
101
				'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
109
				'ORDER BY '.((!is_null($this->orderby)) ? $this->orderby  : 'cmlv_id_valeur ASC').' ';
102
				$requete_compte = $requete;
110
            $requete_compte = $requete;
103
				$requete .= "LIMIT $this->start,$this->limit ";
111
            $requete .= "LIMIT $this->start,$this->limit ";
104
			break;
112
			break;
105
			default :
113
        default :
Line 106... Line 114...
106
				$this->messages[] = sprintf("Valeur '%s' pour le paramêtre 'type' inconnue (valeurs disponibles : id, ab, abv)!", $p['type']);
114
            $this->messages[] = sprintf("Valeur '%s' pour le paramêtre 'type' inconnue (valeurs disponibles : id, ab, abv)!", $p['type']);
107
		}
115
		}
108
 
116