From 6a5b838289df22516e3d15207a95fd3afe147b0d Mon Sep 17 00:00:00 2001 From: tofulm Date: Fri, 29 Apr 2022 17:18:06 +0200 Subject: [PATCH] on est plus souple sur le nom de la fonction, - si notre fonction commence par _array_maSuperFonction, on teste en premier si la fonction maSuperFonction() exist sinon on teste si _array_maSuperFonction() existe sinon return vide comme cela, on ne casse plus la compat --- gamuform_fonctions.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/gamuform_fonctions.php b/gamuform_fonctions.php index 70c2688..165cb38 100644 --- a/gamuform_fonctions.php +++ b/gamuform_fonctions.php @@ -29,6 +29,7 @@ function gamufiltre($objet, $champ, $ligne) { $valeur = $ligne[$champ] ?? ''; if (gamuform_objet_autoriser($objet)) { $T = gamuform_recup_tableau_objet($objet); + if (!empty($T)) { foreach ($T as $s) { if ( @@ -38,8 +39,15 @@ function gamufiltre($objet, $champ, $ligne) { and !empty($s['gamutable']['fonction']) ) { $filtre = $s['gamutable']['fonction']; - if (strpos($filtre, '_array_')) { - return $filtre($ligne) ?? ''; + if (strpos($filtre, '_array_') !== false) { + $f = substr($filtre, 7); + if (function_exists($f)) { + return $f($ligne) ?? ''; + } else if(function_exists($filtre)) { + return $filtre($ligne) ?? ''; + } else { + return ''; + } } else { return $filtre($valeur) ?? ''; }