Subversion Repositories eFlore/Applications.del

Rev

Rev 1591 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1591 Rev 1594
Line 164... Line 164...
164
				'max_range' => _LISTE_OBS_MAX_ID_OBS)));
164
				'max_range' => _LISTE_OBS_MAX_ID_OBS)));
165
		if (isset($params['masque.departement'])) {
165
		if (isset($params['masque.departement'])) {
166
			// STRING: 0 -> 95, 971 -> 976, 2A + 2B (./services/configurations/config_departements_bruts.ini)
166
			// STRING: 0 -> 95, 971 -> 976, 2A + 2B (./services/configurations/config_departements_bruts.ini)
167
			// accept leading 0 ?
167
			// accept leading 0 ?
168
			// TODO; filter patterns like 555.
168
			// TODO; filter patterns like 555.
169
			if (preg_match(';^(\d{2}|\d{3}|2a|2b)$;i', $params['masque.departement'])) {
169
			if (preg_match(';^(\d{2}|\d{3}|2a|2b)$;i', $params['masque.departement']) != 0) {
-
 
170
				if(is_numeric($params['masque.departement'])) {
-
 
171
					$p['masque.departement'] = str_pad($params['masque.departement'], 5, '_');
-
 
172
				} else {
170
				$p['masque.departement'] = $params['masque.departement'];
173
					$p['masque.departement'] = $params['masque.departement'];
-
 
174
				}
-
 
175
			} else {
171
			} elseif( !is_null($c) && ( $x = $c->getParametre(strtolower(str_replace(' ','-',iconv("UTF-8", "ASCII//TRANSLIT", $params['masque.departement'])))))) {// cf configurations/config_departements_bruts.ini
176
				$dpt_chaine = strtolower(str_replace(' ','-',iconv("UTF-8", "ASCII//TRANSLIT", $params['masque.departement'])));	
-
 
177
				$c->chargerConfiguration('config_departements_bruts.ini');
172
				$p['masque.departement'] = sprintf("INSEE-C:%02d___", $x);
178
				$p['masque.departement'] = str_pad($c->getParametre($dpt_chaine), 5, '_');
173
			}
179
			}
174
		}
180
		}
Line 175... Line 181...
175
 
181
 
176
		if (isset($params['masque.date'])) {
182
		if (isset($params['masque.date'])) {
Line 363... Line 369...
363
			// id du poster de l'image... NON, c'est le même que le posteur de l'obs
369
			// id du poster de l'image... NON, c'est le même que le posteur de l'obs
364
			// Cette jointure de table est ignoré ci-dessous pour les recherches d'auteurs
370
			// Cette jointure de table est ignoré ci-dessous pour les recherches d'auteurs
365
			// $req['join'][] = 'LEFT JOIN del_utilisateur AS dui ON dui.id_utilisateur = vdi.i_ce_utilisateur';
371
			// $req['join'][] = 'LEFT JOIN del_utilisateur AS dui ON dui.id_utilisateur = vdi.i_ce_utilisateur';
Line 366... Line 372...
366
 
372
 
367
			if (is_numeric($p['masque.auteur'])) {
373
			if (is_numeric($p['masque.auteur'])) {
368
				$req['where'][] = sprintf('(du.id_utilisateur = %1$d OR vdi.id_utilisateur = %1$d)', $p['masque.auteur']);
374
				$req['where'][] = sprintf('(du.id_utilisateur = %1$d OR vdi.ce_utilisateur = %1$d)', $p['masque.auteur']);
369
			} elseif(preg_match(';^.{5,}@[a-z0-9-.]{5,}$;i', $p['masque.auteur'])) {
375
			} elseif(preg_match(';^.{5,}@[a-z0-9-.]{5,}$;i', $p['masque.auteur'])) {
370
				$req['where'][] = sprintf('(du.courriel LIKE %1$s OR vdi.courriel LIKE %1$s )',
376
				$req['where'][] = sprintf('(du.courriel LIKE %1$s OR vdi.courriel LIKE %1$s )',
371
					$db->proteger($p['masque.auteur'] . '%'));
377
					$db->proteger($p['masque.auteur'] . '%'));
372
			} else {
378
			} else {
Line 383... Line 389...
383
			}
389
			}
384
		}
390
		}
Line 385... Line 391...
385
 
391
 
386
		// TODO: avoir des champs d'entrée distinct
392
		// TODO: avoir des champs d'entrée distinct
387
		if (!empty($p['masque.departement'])) {
393
		if (!empty($p['masque.departement'])) {
388
			$req['where'][] = sprintf("vdi.ce_zone_geo = %s", $db->proteger('INSEE-C:'.$p['masque.departement']));
394
			$req['where'][] = sprintf("vdi.ce_zone_geo LIKE %s", $db->proteger('INSEE-C:'.$p['masque.departement']));
389
		}
395
		}
390
		if (!empty($p['masque.id_zone_geo'])) {
396
		if (!empty($p['masque.id_zone_geo'])) {
391
			$req['where'][] = sprintf("vdi.ce_zone_geo = %s", $db->proteger($p['masque.id_zone_geo']));
397
			$req['where'][] = sprintf("vdi.ce_zone_geo = %s", $db->proteger($p['masque.id_zone_geo']));
392
		}
398
		}