From 009592614c839ae3e156f9e59abae1e533a80492 Mon Sep 17 00:00:00 2001 From: David Remer Date: Tue, 18 Aug 2020 13:04:51 +0300 Subject: [PATCH] check for section before storing the enabled values in settings --- .../src/Settings/SettingsListener.php | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/modules.local/ppcp-wc-gateway/src/Settings/SettingsListener.php b/modules.local/ppcp-wc-gateway/src/Settings/SettingsListener.php index 9f8cf0b3b..1ff7a49b1 100644 --- a/modules.local/ppcp-wc-gateway/src/Settings/SettingsListener.php +++ b/modules.local/ppcp-wc-gateway/src/Settings/SettingsListener.php @@ -6,6 +6,8 @@ namespace Inpsyde\PayPalCommerce\WcGateway\Settings; use Inpsyde\PayPalCommerce\ApiClient\Authentication\PayPalBearer; use Inpsyde\PayPalCommerce\Onboarding\State; +use Inpsyde\PayPalCommerce\WcGateway\Gateway\CreditCardGateway; +use Inpsyde\PayPalCommerce\WcGateway\Gateway\PayPalGateway; use Inpsyde\PayPalCommerce\Webhooks\WebhookRegistrar; use Psr\SimpleCache\CacheInterface; @@ -60,10 +62,14 @@ class SettingsListener */ $rawData = (isset($_POST['ppcp'])) ? (array) wp_unslash($_POST['ppcp']) : []; $settings = $this->retrieveSettingsFromRawData($rawData); - $settings['enabled'] = isset($_POST['woocommerce_ppcp-gateway_enabled']) + if ($_GET['section'] === PayPalGateway::ID) { + $settings['enabled'] = isset($_POST['woocommerce_ppcp-gateway_enabled']) && absint($_POST['woocommerce_ppcp-gateway_enabled']) === 1; - $settings['dcc_gateway_enabled'] = isset($_POST['woocommerce_ppcp-credit-card-gateway_enabled']) - && absint($_POST['woocommerce_ppcp-credit-card-gateway_enabled']) === 1; + } + if ($_GET['section'] === CreditCardGateway::ID) { + $settings['dcc_gateway_enabled'] = isset($_POST['woocommerce_ppcp-credit-card-gateway_enabled']) + && absint($_POST['woocommerce_ppcp-credit-card-gateway_enabled']) === 1; + } foreach ($settings as $id => $value) { $this->settings->set($id, $value); }