From 0b2766b6b9d7444d39b3b36a77ed5057805989b8 Mon Sep 17 00:00:00 2001 From: oscarmoraog Date: Mon, 27 Feb 2023 18:21:16 -0300 Subject: [PATCH] Suporte para woocommerce-extra-checkout-fields-for-brazil/woocommerce-extra-checkout-fields-for-brazil.php Sanitize correto para telefone --- woocommerce-pagseguro-oficial.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/woocommerce-pagseguro-oficial.php b/woocommerce-pagseguro-oficial.php index 5f29235..073b937 100644 --- a/woocommerce-pagseguro-oficial.php +++ b/woocommerce-pagseguro-oficial.php @@ -241,22 +241,30 @@ function ps_validade_checkout_proccess() try { $billing_address_1 = explode(', ', $_POST['billing_address_1']); if (!isset($billing_address_1[1])) { - throw new Exception('[PAGSEGURO]: Invalid address'); + if (!is_plugin_active('woocommerce-extra-checkout-fields-for-brazil/woocommerce-extra-checkout-fields-for-brazil.php')) { + throw new Exception('[PAGSEGURO]: Invalid address'); }; + } } catch (Exception $exception) { wc_add_notice(__('Endereço com formato inválido. Exemplo: Rua São João, 11'), 'error'); } try { + if (is_plugin_active('woocommerce-extra-checkout-fields-for-brazil/woocommerce-extra-checkout-fields-for-brazil.php')) { + if (!isset($_POST['billing_neighborhood']) || !$_POST['billing_neighborhood']) { + throw new Exception('[PAGSEGURO]: Invalid address'); + } + } else { if (!isset($_POST['billing_address_2']) || !$_POST['billing_address_2']) { throw new Exception('[PAGSEGURO]: Invalid address'); } + } } catch (Exception $exception) { wc_add_notice(__('Por favor, preencha o bairro.'), 'error'); } try { - $phone = strlen(filter_var($_POST['billing_phone'], FILTER_SANITIZE_NUMBER_INT)); + $phone = strlen(str_replace('-', '', filter_var($_POST['billing_phone'], FILTER_SANITIZE_NUMBER_INT))); if ($phone < 9 || $phone > 11) { throw new Exception('[PAGSEGURO]: Invalid phone');