Overview
  • Package
  • Class
  • Tree
  • Deprecated
  • Todo
  • Hook Reference
  • Docs Home

Packages

  • None
  • Product-Delivery-Date-Pro-for-WooCommerce
    • Addon
    • Admin
      • Settings
        • Field-Labels
        • General
        • Google-Sync
      • View-Deliveries
    • Calendar
    • Common-Functions
    • Configuration
    • Delivery-Charges
    • Edit-Deliveries
    • Emails
    • Frontend
      • Cart
      • Checkout
    • Google-Calendar
    • Languages
    • License
    • Reschedule-Deliveries
    • View-Deliveries

Classes

  • EDD_PRDD_Plugin_Updater
  • prdd_addon_compatibility_class
  • prdd_admin_deliveries
  • prdd_adminevent_jsons
  • prdd_box_class
  • prdd_cart
  • prdd_checkout
  • prdd_common
  • prdd_delivery_labels_settings
  • prdd_delivery_settings
  • prdd_edit_deliveries_class
  • PRDD_Email_Delivery_Rescheduled
  • PRDD_Email_Delivery_Rescheduled_Admin
  • PRDD_Email_Manager
  • prdd_estimate_delivery
  • prdd_global_menu
  • prdd_ics
  • prdd_license
  • prdd_process
  • prdd_rescheduled_order_class
  • prdd_special_delivery_price
  • prdd_timeslot_price
  • prdd_validation
  • PRDD_View_Deliveries_Table
  • ts_google_calendar_sync
  • ts_google_calendar_sync_settings
  • TsGcal
  • view_deliveries
  • woocommerce_prdd

Functions

  • is_prdd_active
  • prdd_get_dateToCal
  • prdd_get_delivery_arrays
  • prdd_get_delivery_t
  • prdd_get_escapeString
  • prdd_woocommerce_delete
  • ts_get_option
 1  2  3  4  5  6  7  8  9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 
<?php 
/**
 * Product Delivery Date Pro for WooCommerce
 *
 * Handles email sending once delivery date will be rescheduled.
 *
 * @author      Tyche Softwares
 * @package     Product-Delivery-Date-Pro-for-WooCommerce/Emails
 * @since       2.4
 */

/**
 * Class for managing the emails sent from Product delivery date plugin.
 *
 * @since 2.4
 */
class PRDD_Email_Manager {

    /**
     * Constructor sets up actions
     *
     *  @since 2.4
     */
    public function __construct() {
        add_filter( 'woocommerce_email_classes', array( &$this, 'prdd_init_emails' ) );
        
        // Email Actions
        $email_actions = array(
            // Rescheduled Event
            'prdd_delivery_rescheduled',

            'prdd_delivery_rescheduled_admin'
         );

        foreach ( $email_actions as $action ) {
            add_action( $action, array( 'WC_Emails', 'send_transactional_email' ), 10, 10 );
        }
        
        add_filter( 'woocommerce_template_directory', array( $this, 'prdd_template_directory' ), 10, 2 );
    }
    /**
     * Initialize the Rescheduled Delivery Date Emails
     * 
     * @hook woocommerce_email_classes
     *
     * @param array $emails Emails Array containing all the email types 
     * @return array $emails Array with the files included against each type 
     * @since 2.4
     */
    public function prdd_init_emails( $emails ) {
        
        if ( ! isset( $emails[ 'PRDD_Email_Delivery_Rescheduled' ] ) ) {
            $emails[ 'PRDD_Email_Delivery_Rescheduled' ] = include_once( 'emails/class-prdd-email-delivery-rescheduled.php' );
        }

        if ( ! isset( $emails[ 'PRDD_Email_Delivery_Rescheduled_Admin' ] ) ) {
            $emails[ 'PRDD_Email_Delivery_Rescheduled_Admin' ] = include_once( 'emails/class-prdd-email-delivery-rescheduled-admin.php' );
        }
        return $emails;
    }

    /**
     * Get the Email Templates Directory
     *
     * @hook woocommerce_template_directory
     * 
     * @param string $directory Current Directory Set
     * @param string $template Current Template
     * @return string $directory Template folder
     * @since 2.4
     * 
     */
    public function prdd_template_directory( $directory, $template ) {
        if ( false !== strpos( $template, 'product-delivery' ) ) {
            return 'product-delivery-date';
        }
    
        return $directory;
    }
    
}// end of class
new PRDD_Email_Manager();
?>
API documentation generated by ApiGen