From d21d8497c457c09930e0c712f4aed085b710bc86 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ma=C3=AFeul=20Rouquette?= Date: Tue, 22 Feb 2022 23:12:32 +0100 Subject: [PATCH] Une verification verifier_valeur_acceptable --- inc/saisies_verifier.php | 20 ++++---------- lang/saisies_fr.php | 4 +-- verifier/valeurs_acceptables.php | 46 +++++++++++++++++++++++++++++++ verifier/valeurs_acceptables.yaml | 2 ++ 4 files changed, 55 insertions(+), 17 deletions(-) create mode 100644 verifier/valeurs_acceptables.php create mode 100644 verifier/valeurs_acceptables.yaml diff --git a/inc/saisies_verifier.php b/inc/saisies_verifier.php index a4676305..cbe1d45b 100644 --- a/inc/saisies_verifier.php +++ b/inc/saisies_verifier.php @@ -162,30 +162,20 @@ function saisies_verifier($formulaire, $saisies_masquees_empty_string = true, $e * @return array table des erreurs modifiés **/ function saisies_verifier_valeurs_acceptables($saisies, $erreurs) { + $verifier = charger_fonction('valeurs_acceptables', 'verifier'); foreach ($saisies as $saisie => $description) { - $type = $description['saisie']; - // Pas la peine de vérifier si par ailleurs il y a déjà une erreur if (isset($erreurs[$saisie])) { continue; } + $valeur = saisies_request($saisie); + //Il n'y a rien à vérifier sur une description / fieldset if (in_array($description['saisie'], array('explication','fieldset'))) { continue; } - if (include_spip("saisies/$type")) { - $f = $type.'_valeurs_acceptables'; - if (function_exists($f)) { - $valeur = saisies_request($saisie); - if (!$f($valeur, $description)) { - $erreurs[$saisie] = _T("saisies:erreur_valeur_inacceptable"); - spip_log("Tentative de poste de valeur innaceptable pour $saisie de type $type. Valeur postée : ".print_r(_request($saisie), true), "saisies"._LOG_AVERTISSEMENT); - } - } else { - spip_log("Pas de fonction de vérification pour la saisie $saisie de type $type", "saisies"._LOG_INFO); - } - } else { - spip_log("Pas de fonction de vérification pour la saisie $saisie de type $type", "saisies"._LOG_INFO); + if ($erreur = $verifier($valeur, ['_saisie' => $description])) { + $erreurs[$saisie] = $erreur; } } return $erreurs; diff --git a/lang/saisies_fr.php b/lang/saisies_fr.php index 90fd23cd..174b21b4 100644 --- a/lang/saisies_fr.php +++ b/lang/saisies_fr.php @@ -283,8 +283,8 @@ Vous trouverez la ' +description: '<:saisies:verifier_valeurs_acceptables_explication:>'