diff --git a/gamuform_fonctions.php b/gamuform_fonctions.php index 4fb6d10..d6b8fad 100644 --- a/gamuform_fonctions.php +++ b/gamuform_fonctions.php @@ -13,6 +13,33 @@ if (!defined('_ECRIRE_INC_VERSION')) { return; } +/** + * filtre generale qui appelle un filtre spécifique, déclaré dans l'array saisies avec la cle : filtrer + * + * @param String $objet + * @param String $champ + * @param String $valeur + * + * @return String valeur modifiée ou pas par le filtre + */ +function gamufiltre($objet, $champ, $valeur) { + if (gamuform_objet_autoriser($objet)) { + $T = gamuform_recup_saisies($objet); + if (!empty($T)) { + foreach ($T as $s) { + if ( + $s['options']['nom'] === $champ + and !empty($s['options']['filtrer']) + ) { + $filtre = $s['options']['filtrer']; + return $filtre($valeur) ?? ''; + } + } + } + } + return $valeur; +} + /** * recuperation du tableau des saisies d'un objet * dans : gamuform/mon_objet.php diff --git a/json_gamuform.json.html b/json_gamuform.json.html index 92632e0..2546f62 100644 --- a/json_gamuform.json.html +++ b/json_gamuform.json.html @@ -1,5 +1,6 @@ #HTTP_HEADER{Content-Type: application/json; charset=#CHARSET} + #SET{header,#ENV{objet}|gamuform_recup_champ} [{ "header":{ @@ -42,7 +43,7 @@ "id": #GET{ligne/id}, "edit": [(#GET{edit}|json_encode)], - [(#CLE|json_encode)] : [(#GET{ligne/#CLE}|json_encode)], + [(#CLE|json_encode)] : [(#ENV{objet}|gamufiltre{#CLE,#GET{ligne/#CLE}}|json_encode)], "sup": [(#GET{sup}|json_encode)] }, diff --git a/paquet.xml b/paquet.xml index f0519b6..f3c377d 100644 --- a/paquet.xml +++ b/paquet.xml @@ -1,7 +1,7 @@