break; case 'hide_funding_methods': $key = 'disable_funding'; $value = array_values(array_intersect(array_map('strtolower', is_array($option_value) ? $option_value : array()), array('card', 'sepa', 'bancontact', 'blik', 'eps', 'giropay', 'ideal', 'mercadopago', 'mybank', 'p24', 'sofort', 'venmo', 'trustly'))); break; case 'cart_checkout_enabled': $key = 'button_cart_enabled'; $value = wc_string_to_bool($option_value); break; case 'mark_enabled': $key = 'button_enabled'; $value = wc_string_to_bool($option_value); break; case 'checkout_on_single_product_enabled': $key = 'button_product_enabled'; $value = wc_string_to_bool($option_value); break; default: break; } if (!$key || is_null($value)) { continue; } $result[$key] = $value; } // Mini-cart enabled is tied to cart in PPEC. $result['button_mini-cart_enabled'] = isset($result['button_cart_enabled']) ? $result['button_cart_enabled'] : \false; // PayPal Credit enabled? if (isset($this->ppec_settings['credit_enabled']) && 'no' === $this->ppec_settings['credit_enabled']) { $result['disable_funding'] = array_merge(isset($result['disable_funding']) ? $result['disable_funding'] : array(), array('credit')); } foreach ($context_translations as $old_context => $new_context) { $old_prefix = $old_context ? $old_context . '_' : ''; $new_prefix = $new_context ? $new_context . '_' : ''; $use_cart_settings = $old_context && (!isset($this->ppec_settings[$old_context . '_settings_toggle']) || 'yes' !== $this->ppec_settings[$old_context . '_settings_toggle']); // If context not enabled, skip the rest of the settings. if (isset($result['button_' . $new_prefix . 'enabled']) && !$result['button_' . $new_prefix . 'enabled']) { continue; } foreach (array('layout', 'label', 'shape', 'color') as $button_prop) { $old_key = ($use_cart_settings || 'color' === $button_prop ? '' : $old_prefix) . 'button_' . $button_prop; $new_key = 'button_' . $new_prefix . $button_prop; if (isset($this->ppec_settings[$old_key])) { $result[$new_key] = $this->ppec_settings[$old_key]; } } // Handle Pay Later settings. if ('mini_cart' === $old_context) { continue; } $skip_messaging = $use_cart_settings && isset($this->ppec_settings['credit_message_enabled']) && 'yes' !== $this->ppec_settings['credit_message_enabled']; $skip_messaging = $skip_messaging || !$use_cart_settings && isset($this->ppec_settings[$old_prefix . 'credit_message_enabled']) && 'yes' !== $this->ppec_settings[$old_prefix . 'credit_message_enabled']; $result['message_' . $new_prefix . 'enabled'] = !$skip_messaging; if ($skip_messaging) { continue; } foreach ($credit_messaging_translations as $old_message_key => $new_message_key) { $old_key = ($use_cart_settings ? '' : $old_prefix) . $old_message_key; $new_key = 'message_' . $new_prefix . $new_message_key; if (isset($this->ppec_settings[$old_key])) { $result[$new_key] = $this->ppec_settings[$old_key]; } } } return $result; } }