on ajoute la possibilité de filtrer les valeurs dans le gamutable. Pour

cela il faut declarer dans l'array Saisies le nom de la fonction dans
l'a clé : "filtrer"
This commit is contained in:
Christophe 2022-04-11 14:41:16 +02:00
parent 4f138ad342
commit 9532ff2547
3 changed files with 30 additions and 2 deletions

View file

@ -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

View file

@ -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)],
<BOUCLE_headerB(DATA){source table,#GET{header}}>
[(#CLE|json_encode)] : [(#GET{ligne/#CLE}|json_encode)],
[(#CLE|json_encode)] : [(#ENV{objet}|gamufiltre{#CLE,#GET{ligne/#CLE}}|json_encode)],
</BOUCLE_headerB>
"sup": [(#GET{sup}|json_encode)]
},

View file

@ -1,7 +1,7 @@
<paquet
prefix="gamuform"
categorie="outil"
version="1.0.0"
version="1.0.1"
etat="dev"
compatibilite="[4.0.0;4.0.*]"
logo="prive/themes/spip/images/gamuform-xx.svg"