Set vault enabled based on subscription mode

This commit is contained in:
Emili Castells Guasch 2023-09-15 11:41:38 +02:00
parent d3a02e79c5
commit f9a2b7aa07

View file

@ -340,7 +340,20 @@ class SettingsListener {
* phpcs:disable WordPress.Security.NonceVerification.Missing
* phpcs:disable WordPress.Security.NonceVerification.Recommended
*/
if ( ! isset( $_POST['ppcp']['vault_enabled'] ) ) {
$vault_enabled = wc_clean( wp_unslash( $_POST['ppcp']['vault_enabled'] ?? '' ) );
$subscription_mode = wc_clean( wp_unslash( $_POST['ppcp']['subscriptions_mode'] ?? '' ) );
if ( $subscription_mode === 'vaulting_api' && $vault_enabled !== '1' ) {
$this->settings->set( 'vault_enabled', true );
$this->settings->persist();
}
if ( $subscription_mode === 'disable_paypal_subscriptions' && $vault_enabled === '1' ) {
$this->settings->set( 'vault_enabled', false );
$this->settings->persist();
}
if ( $vault_enabled !== '1' ) {
return;
}