2021-09-08 16:41:00 +00:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* Class WCPaymentGatewayPreInstallWCPayPromotion
|
|
|
|
*
|
|
|
|
* @package WooCommerce\Admin
|
|
|
|
*/
|
|
|
|
|
|
|
|
namespace Automattic\WooCommerce\Admin\Features\WcPayPromotion;
|
|
|
|
|
|
|
|
if ( ! defined( 'ABSPATH' ) ) {
|
|
|
|
exit;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A Psuedo WCPay gateway class.
|
|
|
|
*
|
|
|
|
* @extends WC_Payment_Gateway
|
|
|
|
*/
|
|
|
|
class WCPaymentGatewayPreInstallWCPayPromotion extends \WC_Payment_Gateway {
|
|
|
|
|
|
|
|
const GATEWAY_ID = 'pre_install_woocommerce_payments_promotion';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Constructor
|
|
|
|
*/
|
|
|
|
public function __construct() {
|
2021-12-27 08:29:51 +00:00
|
|
|
$wc_pay_spec = Init::get_wc_pay_promotion_spec();
|
|
|
|
if ( ! $wc_pay_spec ) {
|
|
|
|
return;
|
|
|
|
}
|
2021-09-09 12:25:13 +00:00
|
|
|
$this->id = static::GATEWAY_ID;
|
|
|
|
$this->method_title = $wc_pay_spec->title;
|
|
|
|
if ( property_exists( $wc_pay_spec, 'sub_title' ) ) {
|
|
|
|
$this->title = sprintf( '<span class="gateway-subtitle" >%s</span>', $wc_pay_spec->sub_title );
|
|
|
|
}
|
|
|
|
$this->method_description = $wc_pay_spec->content;
|
2021-09-08 16:41:00 +00:00
|
|
|
$this->has_fields = false;
|
|
|
|
|
|
|
|
// Get setting values.
|
|
|
|
$this->enabled = false;
|
2021-11-30 18:02:54 +00:00
|
|
|
|
|
|
|
// Load the settings.
|
|
|
|
$this->init_form_fields();
|
|
|
|
$this->init_settings();
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Initialise Gateway Settings Form Fields.
|
|
|
|
*/
|
|
|
|
public function init_form_fields() {
|
|
|
|
$this->form_fields = array(
|
|
|
|
'is_dismissed' => array(
|
|
|
|
'title' => __( 'Dismiss', 'woocommerce-admin' ),
|
|
|
|
'type' => 'checkbox',
|
|
|
|
'label' => __( 'Dismiss the gateway', 'woocommerce-admin' ),
|
|
|
|
'default' => 'no',
|
|
|
|
),
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Check if the promotional gateaway has been dismissed.
|
|
|
|
*
|
|
|
|
* @return bool
|
|
|
|
*/
|
|
|
|
public static function is_dismissed() {
|
|
|
|
$settings = get_option( 'woocommerce_' . self::GATEWAY_ID . '_settings', array() );
|
|
|
|
return isset( $settings['is_dismissed'] ) && 'yes' === $settings['is_dismissed'];
|
2021-09-08 16:41:00 +00:00
|
|
|
}
|
|
|
|
}
|