165,6 → 165,9 |
|
// filtrage de l'INPUT |
$params = self::requestFilterParams($parametres, self::$parametres_autorises, $this->conteneur); |
// ... et paramètres par défaut |
$params = array_merge(self::$default_params, $params); |
|
// création des contraintes (masques) |
self::sqlAddConstraint($params, $db, $req, $this->conteneur); |
self::sqlAddMasqueConstraint($params, $db, $req, $this->conteneur); |
578,8 → 581,10 |
|
/* filtre et valide les paramètres reconnus. |
Effectue *toute* la sanitization *sauf* l'escape-string */ |
static function requestFilterParams(Array $params, $parametres_autorises, Conteneur $c = NULL /* pour la récup des départements */ ) { |
$params = array_intersect_key($params, array_flip($parametres_autorises)); |
static function requestFilterParams(Array $params, $parametres_autorises = NULL, Conteneur $c = NULL /* pour la récup des départements */ ) { |
if($parametres_autorises) { // filtrage de toute clef inconnue |
$params = array_intersect_key($params, array_flip($parametres_autorises)); |
} |
|
$p['tri'] = self::unsetIfInvalid($params, 'tri', array('date_observation')); |
$p['ordre'] = self::unsetIfInvalid($params, 'ordre', array('asc','desc')); |
695,10 → 700,7 |
|
// on filtre les NULL, FALSE et '', mais pas les 0, d'où le callback() |
// TODO: PHP-5.3 |
$p = array_filter($p, create_function('$a','return !in_array($a, array("",false,null),true);')); |
$p = array_merge(self::$default_params, $p); |
|
return $p; |
return array_filter($p, create_function('$a','return !in_array($a, array("",false,null),true);')); |
} |
|
static function makeJSONHeader($total, $params, $url_service) { |