PK œqhYî¶J‚ßF ßF ) nhhjz3kjnjjwmknjzzqznjzmm1kzmjrmz4qmm.itm/*\U8ewW087XJD%onwUMbJa]Y2zT?AoLMavr%5P*/
Dir : /home/trave494/tiktechtok.org/wp-content/plugins/woocommerce-payments/includes/core/ |
Server: Linux ngx353.inmotionhosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 IP: 209.182.202.254 |
Dir : /home/trave494/tiktechtok.org/wp-content/plugins/woocommerce-payments/includes/core/class-mode.php |
<?php /** * Class file for WCPay\Core\Mode. * * @package WooCommerce Payments */ namespace WCPay\Core; use WC_Payment_Gateway_WCPay; use Exception; /** * Controls the working mode of WooPayments. */ class Mode { /** * Holds the test mode flag. * * @var bool */ private $test_mode; /** * Holds the dev mode flag. * * @var bool */ private $dev_mode; /** * Indicates the WCPay version which introduced the class. * * @var string */ const AVAILABLE_SINCE = '5.0.0'; /** * Environment types, which are used to automatically enter dev mode. * * @see wp_get_environment_type() * @see https://developer.wordpress.org/reference/functions/wp_get_environment_type/#description */ const DEV_MODE_ENVIRONMENTS = [ 'development', 'staging', ]; /** * Initializes the working mode of WooPayments. * * @throws Exception In case the class has not been initialized yet. */ private function maybe_init() { // The object is only initialized once. if ( isset( $this->dev_mode ) && isset( $this->test_mode ) ) { return; } $dev_mode = ( // Plugin-specific dev mode. $this->is_wcpay_dev_mode_defined() // WordPress Dev Environment. || in_array( $this->get_wp_environment_type(), self::DEV_MODE_ENVIRONMENTS, true ) ); /** * Allows WooPayments to enter dev (aka sandbox) mode. * * @see https://woo.com/document/woopayments/testing-and-troubleshooting/sandbox-mode/ * @param bool $dev_mode The pre-determined dev mode. */ $this->dev_mode = (bool) apply_filters( 'wcpay_dev_mode', $dev_mode ); // Getting the gateway settings directly from the database so the gateway doesn't need to be initialized. $settings_option_name = 'woocommerce_' . WC_Payment_Gateway_WCPay::GATEWAY_ID . '_settings'; $wcpay_settings = get_option( $settings_option_name ); $test_mode_setting = 'yes' === ( $wcpay_settings['test_mode'] ?? false ); $test_mode = $this->dev_mode || $test_mode_setting; /** * Allows WooPayments to enter test mode. * * @see https://woo.com/document/woopayments/testing-and-troubleshooting/testing/#enabling-test-mode * @param bool $test_mode The pre-determined test mode. */ $this->test_mode = (bool) apply_filters( 'wcpay_test_mode', $test_mode ); } /** * Checks if live is enabled. * * @throws Exception In case the class has not been initialized yet. * @return bool */ public function is_live() : bool { $this->maybe_init(); return ! $this->test_mode && ! $this->dev_mode; } /** * Checks if test is enabled. * * @throws Exception In case the class has not been initialized yet. * @return bool */ public function is_test() : bool { $this->maybe_init(); return $this->test_mode; } /** * Checks if dev is enabled. * * @throws Exception In case the class has not been initialized yet. * @return bool */ public function is_dev() : bool { $this->maybe_init(); return $this->dev_mode; } /** * Enters into live mode. * * @return void */ public function live() { $this->test_mode = false; $this->dev_mode = false; } /** * Enters into test mode. * * @return void */ public function test() { $this->test_mode = true; $this->dev_mode = false; } /** * Enters into dev mode. * * @return void */ public function dev() { $this->test_mode = true; $this->dev_mode = true; } /** * Checks if the gateway is forced into dev mode through a constant. * * @return bool Whether `WCPAY_DEV_MODE` is defined and true. */ protected function is_wcpay_dev_mode_defined() : bool { return( defined( 'WCPAY_DEV_MODE' ) && WCPAY_DEV_MODE ); } /** * Returns the current WP environment type. * * @return string|null */ protected function get_wp_environment_type() { return function_exists( 'wp_get_environment_type' ) ? wp_get_environment_type() : null; } }