class-controller.php
105 lines
| 1 | <?php |
| 2 | /** |
| 3 | * Controller for Recipient activation emails. |
| 4 | * |
| 5 | * @link https://wordpress.org/plugins/broken-link-checker/ |
| 6 | * @since 2.0.0 |
| 7 | * |
| 8 | * @author WPMUDEV (https://wpmudev.com) |
| 9 | * @package WPMUDEV_BLC\App\Emails\Recipient_Activation |
| 10 | * |
| 11 | * @copyright (c) 2022, Incsub (http://incsub.com) |
| 12 | */ |
| 13 | |
| 14 | namespace WPMUDEV_BLC\App\Emails\Recipient_Activation; |
| 15 | |
| 16 | // Abort if called directly. |
| 17 | defined( 'WPINC' ) || die; |
| 18 | |
| 19 | use WPMUDEV_BLC\Core\Controllers\Mailer; |
| 20 | |
| 21 | /** |
| 22 | * Class Controller |
| 23 | * |
| 24 | * @package WPMUDEV_BLC\App\Emails\Recipient_Activation |
| 25 | */ |
| 26 | class Controller extends Mailer { |
| 27 | /** |
| 28 | * Module name. It might be useful in hooks. |
| 29 | * |
| 30 | * @var string |
| 31 | */ |
| 32 | public $email_module_name = 'recipient_activation'; |
| 33 | |
| 34 | /** |
| 35 | * WP Cron interval. |
| 36 | * |
| 37 | * @var boolean |
| 38 | */ |
| 39 | protected $cron_generate_interval = true; |
| 40 | |
| 41 | /** |
| 42 | * Sets required vars. In parent class it is an abstract method. |
| 43 | * |
| 44 | * @return void |
| 45 | */ |
| 46 | protected function prepare_vars() { |
| 47 | $site_name = get_bloginfo( 'name' ); |
| 48 | $site_email = get_bloginfo( 'admin_email' ); |
| 49 | $this->email_headers = array( |
| 50 | 'Content-Type: text/html; charset=UTF-8', |
| 51 | "From: {$site_name} <{$site_email}> \r\n", |
| 52 | ); |
| 53 | |
| 54 | $this->use_cron = false; |
| 55 | $this->email_subject = esc_html__( 'Broken links reports activation', 'broken-link-checker' ); |
| 56 | } |
| 57 | |
| 58 | /** |
| 59 | * Sets up body variables to be mapped in email body. |
| 60 | * |
| 61 | * @param array $email_args |
| 62 | * |
| 63 | * @return void |
| 64 | */ |
| 65 | public function set_mail_variables( array $email_args = array() ) { |
| 66 | $activation_link = $email_args['activation_link'] ?? ''; |
| 67 | $cancellation_link = $email_args['cancellation_link'] ?? ''; |
| 68 | $name = $email_args['name'] ?? ''; |
| 69 | $email = $email_args['email'] ?? ''; |
| 70 | $site_name = get_bloginfo( 'name' ); |
| 71 | |
| 72 | $this->body_variables = |
| 73 | apply_filters( |
| 74 | 'wpmudev_blc_scan_report_email_vars', |
| 75 | array( |
| 76 | //HEADER |
| 77 | '{{HEADER_LOGO_SOURCE}}' => esc_html( Model::header_logo() ), |
| 78 | '{{TITLE}}' => esc_html( Model::header_title() ), |
| 79 | '{{SITENAME}}' => $site_name, |
| 80 | //BODY |
| 81 | '{{GREETING}}' => esc_html__( 'Hi {{USERNAME}}', 'broken-link-checker' ), |
| 82 | '{{USERNAME}}' => $name, |
| 83 | '{{EMAIL_ADDRESS}}' => $email, |
| 84 | '{{SITE_URL}}' => site_url(), |
| 85 | '{{CONFIRM_BTN_LABEL}}' => esc_html__( 'Confirm Subscription', 'broken-link-checker' ), |
| 86 | '{{ACTIVATION_LINK}}' => $activation_link, |
| 87 | // FOOTER PART |
| 88 | '{{FOOTER_TITLE}}' => esc_html__( 'Broken Link Checker', 'broken-link-checker' ), |
| 89 | '{{FOOTER_COMPANY}}' => 'WPMU DEV', //$site_name, |
| 90 | '{{FOOTER_CONTENT}}' => '',//View::instance()->get_footer_content(), |
| 91 | '{{FOOTER_LOGO_SOURCE}}' => Model::footer_logo(), |
| 92 | '{{LINK_TO_WPMUDEV_HOME}}' => esc_html__( 'Link to WPMU DEV Home page', 'broken-link-checker' ), |
| 93 | '{{FOOTER_SLOGAN}}' => esc_html__( 'Build A Better WordPress Business', 'broken-link-checker' ), |
| 94 | '{{COMPANY_ADDRESS}}' => esc_html__( 'INCSUB PO BOX 163, ALBERT PARK, VICTORIA.3206 AUSTRALIA', 'broken-link-checker' ), |
| 95 | '{{COMPANY_TITLE}}' => $site_name, |
| 96 | '{{UNSUBSCRIBE}}' => esc_html__( 'Unsubscribe', 'broken-link-checker' ), |
| 97 | '{{UNSUBSCRIBE_LINK}}' => $cancellation_link, |
| 98 | '{{SOCIAL_LINKS}}' => Model::get_social_links(), |
| 99 | ), |
| 100 | $this |
| 101 | ); |
| 102 | } |
| 103 | |
| 104 | } |
| 105 |