Subversion Repositories eFlore/Applications.coel

Rev

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

Rev 1700 Rev 1702
Line 48... Line 48...
48
	public function getElementParDefaut($param) {
48
	public function getElementParDefaut($param) {
49
		// Initialisation des variables
49
		// Initialisation des variables
50
		$info = array();
50
		$info = array();
Line 51... Line 51...
51
				
51
				
52
		// Pré traitement des paramêtres
52
		// Pré traitement des paramêtres
Line 53... Line 53...
53
		$p = $this->pretraiterParametresUrl($param);
53
		$p = $this->pretraiterParametresUrl($param, $_GET);
54
 
54
 
Line 55... Line 55...
55
		$fromClause = $whereClause = $joinClause = array();
55
		$fromClause = $whereClause = $joinClause = array();
Line 97... Line 97...
97
	public function getElementNombre($param) {
97
	public function getElementNombre($param) {
98
		// Initialisation des variables
98
		// Initialisation des variables
99
		$info = array();
99
		$info = array();
Line 100... Line 100...
100
				
100
				
101
		// Pré traitement des paramêtres
101
		// Pré traitement des paramêtres
Line 102... Line 102...
102
		$p = $this->pretraiterParametresUrl($param);
102
		$p = $this->pretraiterParametresUrl($param, $_GET);
103
 
103
 
Line 104... Line 104...
104
		$fromClause = $whereClause = $joinClause = array();
104
		$fromClause = $whereClause = $joinClause = array();
Line 135... Line 135...
135
		}
135
		}
Line 136... Line 136...
136
 
136
 
137
		return $info;
137
		return $info;
Line 138... Line 138...
138
	}
138
	}
139
	
139
	
140
	private function pretraiterParametresUrl($param) {
140
	private function pretraiterParametresUrl($param, $qs /* query-string */) {
141
		// Tableau des paramêtres qui peuvent être passés dans l'url
141
		// Tableau des paramêtres qui peuvent être passés dans l'url
142
		$params_passes = array(
142
		$params_passes = array(
143
			'mots' => 'str', 
143
			'mots' => 'str', 
Line 199... Line 199...
199
				}
199
				}
Line 200... Line 200...
200
 
200
 
201
				$p[$param_passe] = $valeur;
201
				$p[$param_passe] = $valeur;
202
			}
202
			}
203
		}
203
		}
-
 
204
 
-
 
205
        if(isset($qs['pays'])) {
-
 
206
            $p['pays'] = array_filter(explode(',', $qs['pays']), create_function('$val', 'return preg_match("/^[A-Z][A-Z]$/", $val);'));
-
 
207
            if(!$p['pays']) unset($p['pays']);
-
 
208
        }
204
		
209
 
205
		return $p;
210
		return $p;
Line 206... Line 211...
206
	}
211
	}
207
	
212
	
Line 257... Line 262...
257
			$where[] = "cp_fmt_nom_complet LIKE {$p['p']}";
262
			$where[] = "cp_fmt_nom_complet LIKE {$p['p']}";
258
		}
263
		}
259
		if (isset($p['pr'])) {
264
		if (isset($p['pr'])) {
260
			$where[] = "ccap_id_role IN ({$p['pr']})";
265
			$where[] = "ccap_id_role IN ({$p['pr']})";
261
		}
266
		}
-
 
267
 
-
 
268
        // par défaut, spécifier un département restreint à la France
262
		if (isset($p['str-d'])) {
269
		if (isset($p['str-d'])) {
-
 
270
            $join[] = 'LEFT JOIN coel_meta_liste_valeur cv ON cv.cmlv_id_valeur = cs_ce_truk_pays';
263
			$where[] = 'cs_ce_truk_pays = 2654';
271
			$where[] = 'cv.cmlv_abreviation = "FR"';
264
			$where[] = sprintf("cs_code_postal REGEXP '^(%s).*'", implode('|', $p['str-d']));
272
			$where[] = sprintf("cs_code_postal REGEXP '^(%s).*'", implode('|', $p['str-d']));
265
		}
273
		}
Line -... Line 274...
-
 
274
 
-
 
275
		if (isset($p['pays'])) {
-
 
276
            $join[] = 'LEFT JOIN coel_meta_liste_valeur cv ON cv.cmlv_id_valeur = cs_ce_truk_pays';
-
 
277
			$where[] = sprintf('cv.cmlv_abreviation IN ("%s")', implode('","', $p['pays']));
-
 
278
		}
266
 
279
 
267
		if (isset($p['veg'])) {
280
		if (isset($p['veg'])) {
268
			$veg = explode(',', $p['veg']);
281
			$veg = explode(',', $p['veg']);
Line 269... Line 282...
269
			$veg_nbre = count($veg);
282
			$veg_nbre = count($veg);
Line 295... Line 308...
295
			$join[] = 'LEFT JOIN coel_collection_a_personne ON (cc_id_collection = ccap_id_collection)';
308
			$join[] = 'LEFT JOIN coel_collection_a_personne ON (cc_id_collection = ccap_id_collection)';
296
		}
309
		}
297
		if (isset($p['p'])) {
310
		if (isset($p['p'])) {
298
			$join[] = 'LEFT JOIN coel_personne ON (ccap_id_personne = cp_id_personne)';
311
			$join[] = 'LEFT JOIN coel_personne ON (ccap_id_personne = cp_id_personne)';
299
		}
312
		}
-
 
313
 
-
 
314
 
-
 
315
        $join = array_unique($join);
-
 
316
 
300
	}
317
	}
301
}
318
}