Files
medicalalert-web-reloaded/wp/wp-content/plugins/woocommerce-smart-coupons/includes/emails/class-wc-sc-email.php
2024-06-17 16:29:48 -04:00

150 lines
4.1 KiB
PHP

<?php
/**
* Main class for Smart Coupons Email
*
* @author StoreApps
* @since 4.4.1
* @version 1.2.1
*
* @package woocommerce-smart-coupons/includes/emails/
*/
if ( ! defined( 'ABSPATH' ) ) {
exit; // Exit if accessed directly.
}
if ( ! class_exists( 'WC_SC_Email' ) ) {
/**
* The Smart Coupons Email class
*
* @extends \WC_Email
*/
class WC_SC_Email extends WC_Email {
/**
* Email args defaults
*
* @var array
*/
public $email_args = array(
'email' => '',
'coupon' => array(),
'discount_type' => 'smart_coupon',
'smart_coupon_type' => '',
'receiver_name' => '',
'message_from_sender' => '',
'gift_certificate_sender_name' => '',
'gift_certificate_sender_email' => '',
'from' => '',
'sender' => '',
'is_gift' => false,
);
/**
* Get shop page url
*
* @return string $url Shop page url
*/
public function get_url() {
global $woocommerce_smart_coupon;
if ( $woocommerce_smart_coupon->is_wc_gte_30() ) {
$page_id = wc_get_page_id( 'shop' );
} else {
$page_id = woocommerce_get_page_id( 'shop' );
}
$url = ( get_option( 'permalink_structure' ) ) ? get_permalink( $page_id ) : get_post_type_archive_link( 'product' );
return $url;
}
/**
* Function to get sender name.
*
* @return string $sender_name Sender name.
*/
public function get_sender_name() {
if ( isset( $this->email_args['gift_certificate_sender_name'] ) && ! empty( $this->email_args['gift_certificate_sender_name'] ) ) {
$sender_name = $this->email_args['gift_certificate_sender_name'];
} else {
$sender_name = is_callable( array( $this, 'get_blogname' ) ) ? $this->get_blogname() : '';
}
return $sender_name;
}
/**
* Function to get sender email.
*
* @return string $sender_email Sender email.
*/
public function get_sender_email() {
$sender_email = isset( $this->email_args['gift_certificate_sender_email'] ) ? $this->email_args['gift_certificate_sender_email'] : '';
return $sender_email;
}
/**
* Initialize Settings Form Fields
*/
public function init_form_fields() {
/* translators: %s: list of placeholders */
$placeholder_text = sprintf( __( 'Available placeholders: %s', 'woocommerce-smart-coupons' ), '<code>' . implode( '</code>, <code>', array_keys( $this->placeholders ) ) . '</code>' );
$this->form_fields = array(
'enabled' => array(
'title' => __( 'Enable/Disable', 'woocommerce-smart-coupons' ),
'type' => 'checkbox',
'label' => __( 'Enable this email notification', 'woocommerce-smart-coupons' ),
'default' => 'yes',
),
'email_type' => array(
'title' => __( 'Email type', 'woocommerce-smart-coupons' ),
'type' => 'select',
'description' => __( 'Choose which format of email to send.', 'woocommerce-smart-coupons' ),
'default' => 'html',
'class' => 'email_type wc-enhanced-select',
'options' => $this->get_email_type_options(),
'desc_tip' => true,
),
'subject' => array(
'title' => __( 'Subject', 'woocommerce-smart-coupons' ),
'type' => 'text',
'desc_tip' => true,
'description' => $placeholder_text,
'placeholder' => $this->get_default_subject(),
'default' => '',
),
'heading' => array(
'title' => __( 'Email heading', 'woocommerce-smart-coupons' ),
'type' => 'text',
'desc_tip' => true,
'description' => $placeholder_text,
'placeholder' => $this->get_default_heading(),
'default' => '',
),
);
}
/**
* Function to update SC admin email settings when WC email settings get updated
*/
public function process_admin_options() {
// Save regular options.
parent::process_admin_options();
$is_email_enabled = $this->get_field_value( 'enabled', $this->form_fields['enabled'] );
if ( ! empty( $is_email_enabled ) ) {
update_option( 'smart_coupons_is_send_email', $is_email_enabled, 'no' );
}
}
}
}