From 8ebc9719805f4961cf7e5c812ed71aa03058fd00 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Mon, 7 Oct 2024 11:37:05 +0200 Subject: [PATCH] validating only bruxelles postcode --- includes/forms.php | 33 +------ .../form-commande-publications-papiers.php | 89 +++++++++++++++++++ 2 files changed, 90 insertions(+), 32 deletions(-) create mode 100644 includes/forms/form-commande-publications-papiers.php diff --git a/includes/forms.php b/includes/forms.php index d2dbc0c..789a734 100644 --- a/includes/forms.php +++ b/includes/forms.php @@ -15,40 +15,9 @@ require_once(__DIR__ . '/forms/export-paper-publication-entries.php'); // ## Form hooks require_once(__DIR__ . '/forms/form-satisfaction.php'); +require_once(__DIR__ . '/forms/form-commande-publications-papiers.php'); -// Limit countries for the paper publication order form - -add_filter('gform_pre_render_18', 'homegrade_paper_publications_form_limit_countries'); -add_filter('gform_pre_validation_18', 'homegrade_paper_publications_form_limit_countries'); -add_filter('gform_pre_submission_filter_18', 'homegrade_paper_publications_form_limit_countries'); -add_filter('gform_admin_pre_render_18', 'homegrade_paper_publications_form_limit_countries'); -function homegrade_paper_publications_form_limit_countries($form) -{ - add_filter('gform_countries', function ($countries) { - return array("Belgique" => __("Belgique", "homegrade_theme--texte-fonctionnel")); - }); - - return $form; -} - - -add_action('gform_after_submission', 'add_user_language_to_submission', 10, 2); -function add_user_language_to_submission($entry, $form) -{ - // Obtenir la langue actuelle via WPML - $current_language = apply_filters('wpml_current_language', NULL); - - // Ajouter la langue à l'entrée de formulaire - GFAPI::update_entry_field($entry['id'], 'language', 'lol ' . $current_language); -} - - -add_filter('gform_field_value_user_language', 'fill_user_language'); -function fill_user_language($value) -{ - return apply_filters('wpml_current_language', NULL); -} diff --git a/includes/forms/form-commande-publications-papiers.php b/includes/forms/form-commande-publications-papiers.php new file mode 100644 index 0000000..ff7fdc4 --- /dev/null +++ b/includes/forms/form-commande-publications-papiers.php @@ -0,0 +1,89 @@ +id == 9) { + + $user_postal_code = sanitize_text_field($value['9.5']); + $numeric_user_postal_code = intval($user_postal_code); + + $isBrusselsZipCode = in_array($numeric_user_postal_code, $allowed_postal_codes) ?? false; + + if (!$isBrusselsZipCode) { + $result['is_valid'] = false; + $result['message'] = __("Veuillez entrer un code postal valide pour la région de Bruxelles-Capitale.", "homegrade-theme__texte-fonctionnel"); + } + } + + return $result; +} + + +// Limit countries for the paper publication order form + +add_filter('gform_pre_render_18', 'homegrade_paper_publications_form_limit_countries'); +add_filter('gform_pre_validation_18', 'homegrade_paper_publications_form_limit_countries'); +add_filter('gform_pre_submission_filter_18', 'homegrade_paper_publications_form_limit_countries'); +add_filter('gform_admin_pre_render_18', 'homegrade_paper_publications_form_limit_countries'); + + +function homegrade_paper_publications_form_limit_countries($form) +{ + + add_filter('gform_countries', function ($countries) { + return array("Belgique" => __("Belgique", "homegrade_theme--texte-fonctionnel")); + }); + + + + return $form; +} + + +add_action('gform_after_submission', 'add_user_language_to_submission', 10, 2); +function add_user_language_to_submission($entry, $form) +{ + // Obtenir la langue actuelle via WPML + $current_language = apply_filters('wpml_current_language', NULL); + + // Ajouter la langue à l'entrée de formulaire + GFAPI::update_entry_field($entry['id'], 'language', 'lol ' . $current_language); +} + + +add_filter('gform_field_value_user_language', 'fill_user_language'); +function fill_user_language($value) +{ + return apply_filters('wpml_current_language', NULL); +}