HEX
Server: Apache/2.4.59 (Debian)
System: Linux keymana 4.19.0-21-cloud-amd64 #1 SMP Debian 4.19.249-2 (2022-06-30) x86_64
User: lijunjie (1003)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wp-content/plugins/erp/includes/class-emailer.php
<?php

namespace WeDevs\ERP;

use Email;

/**
 * Emailer Class
 */
class Emailer {

    /**
     * All email classes
     *
     * @var array
     */
    public $emails;

    /**
     * Initializes the WeDevs_ERP() class
     *
     * Checks for an existing WeDevs_ERP() instance
     * and if it doesn't find one, creates it.
     */
    public static function init() {
        static $instance = false;

        if ( ! $instance ) {
            $instance = new self();
        }

        return $instance;
    }

    public function __construct() {

        // Email Header, Footer and content hooks
        add_action( 'erp_email_header', [ $this, 'email_header' ] );
        add_action( 'erp_email_footer', [ $this, 'email_footer' ] );

        // Let 3rd parties unhook the above via this hook
        do_action( 'erp_email', $this );
    }

    public function init_emails() {
        $this->emails = apply_filters( 'erp_email_classes', $this->emails );
    }

    /**
     * Return the email classes - used in admin to load settings.
     *
     * @return array
     */
    public function get_emails() {
        return $this->emails;
    }

    /**
     * Get an registered email instance
     *
     * @param string $class_name
     *
     * @return Email|false
     */
    public function get_email( $class_name ) {
        if ( $this->emails && array_key_exists( $class_name, $this->emails ) ) {
            return apply_filters( 'creating_email_instance', $this->emails[ $class_name ] );
        }

        return false;
    }

    /**
     * Get the email header.
     *
     * @param mixed $email_heading heading for the email
     */
    public function email_header( $email_heading ) {
        include WPERP_INCLUDES . '/email/email-header.php';
    }

    /**
     * Get the email footer.
     */
    public function email_footer() {
        include WPERP_INCLUDES . '/email/email-footer.php';
    }
}