/** * Displays the email preview * * @since 2.1 * @return void */ function edd_display_email_template_preview() { if (empty($_GET['edd_action'])) { return; } if ('preview_email' !== $_GET['edd_action']) { return; } if (!current_user_can('manage_shop_settings')) { return; } EDD()->emails->heading = __('Purchase Receipt', 'edd'); echo EDD()->emails->build_email(edd_email_preview_template_tags(edd_get_email_body_content(0, array()))); exit; }
/** * Email the product update test email to the admin account * * @global $edd_options Array of all the EDD Options * @return void */ function edd_pup_test_email($email_id, $to = null) { $email = get_post($email_id); $emailmeta = get_post_custom($email_id); $from_name = isset($emailmeta['_edd_pup_from_name'][0]) ? $emailmeta['_edd_pup_from_name'][0] : get_bloginfo('name'); $from_email = isset($emailmeta['_edd_pup_from_email'][0]) ? $emailmeta['_edd_pup_from_email'][0] : get_option('admin_email'); $subject = apply_filters('edd_pup_test_subject', isset($email->post_excerpt) ? trim($email->post_excerpt) : __('(no subject)', 'edd-pup'), 0); $subject = strip_tags(edd_email_preview_template_tags($subject)); $headers = "From: " . stripslashes_deep(html_entity_decode($from_name, ENT_COMPAT, 'UTF-8')) . " <{$from_email}>\r\n"; $headers .= "Reply-To: " . $from_email . "\r\n"; $headers .= "Content-Type: text/html; charset=utf-8\r\n"; $headers = apply_filters('edd_pup_test_headers', $headers); add_filter('edd_email_template', 'edd_pup_template'); if (version_compare(get_option('edd_version'), '2.1') >= 0) { $edd_emails = new EDD_emails(); $message = edd_email_preview_template_tags($email->post_content); $edd_emails->__set('from_name', $from_name); $edd_emails->__set('from_address', $from_email); // Send the email foreach ($to as $recipient) { $edd_emails->send($recipient, $subject, $message); } //$edd_emails = new EDD_Emails; //$message = $edd_emails->build_email( edd_email_preview_template_tags( $email->post_content ) ); } else { $message = edd_get_email_body_header(); $message .= apply_filters('edd_pup_test_message', edd_apply_email_template($email->post_content, null, null), $email_id); $message .= edd_get_email_body_footer(); foreach ($to as $recipient) { wp_mail($recipient, $subject, $message, $headers); } } return $to; }
/** * Applies the Chosen Email Template * * @since 1.0.8.2 * @deprecated 2.0 * @param string $body The contents of the receipt email * @param int $payment_id The ID of the payment we are sending a receipt for * @param array $payment_data An array of meta information for the payment * @return string $email Formatted email with the template applied */ function edd_apply_email_template($body, $payment_id, $payment_data = array()) { global $edd_options; $backtrace = debug_backtrace(); _edd_deprecated_function(__FUNCTION__, '2.0', '', $backtrace); $template_name = isset($edd_options['email_template']) ? $edd_options['email_template'] : 'default'; $template_name = apply_filters('edd_email_template', $template_name, $payment_id); if ($template_name == 'none') { if (is_admin()) { $body = edd_email_preview_template_tags($body); } return $body; // Return the plain email with no template } ob_start(); do_action('edd_email_template_' . $template_name); $template = ob_get_clean(); if (is_admin()) { $body = edd_email_preview_template_tags($body); } $body = apply_filters('edd_purchase_receipt_' . $template_name, $body); $email = str_replace('{email}', $body, $template); return $email; }
/** * Send test email * * @todo remove edd_email_preview_templage_tags() function check when EDD supports it * @since 1.0 */ function edd_ppe_test_purchase_receipt($receipt_id = 0) { global $pagenow, $typenow; $receipt = edd_ppe_get_receipt($receipt_id); // default email subject $default_email_subject = __("Thanks for purchasing {download_name}", "edd-ppe"); // default email body $default_email_body = __("Dear", "edd-ppe") . " {name},\n\n"; $default_email_body .= __("Thank you for purchasing {download_name}. Please click on the link(s) below to download your files.", "edd-ppe") . "\n\n"; $default_email_body .= "{download_list}\n\n"; $default_email_body .= "{sitename}"; // use new EDD 2.1 Email class if (class_exists('EDD_Emails')) { // we're on the main screen of edd receipts, get relevant subject and body for test email if (isset($_GET['page']) && 'edd-receipts' == $_GET['page'] && 'download' == $typenow && in_array($pagenow, array('edit.php'))) { $subject = $receipt->post_excerpt ? $receipt->post_excerpt : $default_email_subject; $body = $receipt->post_content ? $receipt->post_content : $default_email_body; } // run subject through email_preview_subject_template_tags() function $subject = apply_filters('edd_ppe_purchase_receipt_subject', edd_ppe_email_preview_subject_template_tags($subject, $receipt_id), 0, array()); // run subject through the standard EDD email tag function $subject = edd_do_email_tags($subject, 0); // message $message = apply_filters('edd_ppe_purchase_body', $receipt->post_content ? $receipt->post_content : $default_email_body); $message = edd_email_preview_template_tags($body, 0); // add download name as email heading. Off by default // will introduce a checkbox in admin to turn all headings on rather than turn them on now which may mess up emails if (apply_filters('edd_ppe_email_heading', false)) { EDD()->emails->__set('heading', get_the_title($product_id)); } EDD()->emails->send(edd_get_admin_notice_emails(), $subject, $message); } else { // we're on the main screen of edd receipts, get relevant subject and body for test email if (isset($_GET['page']) && 'edd-receipts' == $_GET['page'] && 'download' == $typenow && in_array($pagenow, array('edit.php'))) { $subject = $receipt->post_excerpt ? $receipt->post_excerpt : $default_email_subject; $body = $receipt->post_content ? $receipt->post_content : $default_email_body; } // run subject through email_preview_subject_template_tags() function $subject = apply_filters('edd_ppe_purchase_receipt_subject', edd_ppe_email_preview_subject_template_tags($subject, $receipt_id), 0, array()); $message = edd_get_email_body_header(); // will remove the edd_email_preview_templage_tags() function when new EDD version is released $message .= apply_filters('edd_purchase_receipt', function_exists('edd_email_preview_template_tags') ? edd_email_preview_template_tags($body) : edd_email_preview_templage_tags($body), null, null); $message .= edd_get_email_body_footer(); $from_name = isset($edd_options['from_name']) ? $edd_options['from_name'] : get_bloginfo('name'); $from_email = isset($edd_options['from_email']) ? $edd_options['from_email'] : get_option('admin_email'); $headers = "From: " . stripslashes_deep(html_entity_decode($from_name, ENT_COMPAT, 'UTF-8')) . " <{$from_email}>\r\n"; $headers .= "Reply-To: " . $from_email . "\r\n"; $headers .= "MIME-Version: 1.0\r\n"; $headers .= "Content-Type: text/html; charset=utf-8\r\n"; $headers = apply_filters('edd_test_purchase_headers', $headers); wp_mail(edd_get_admin_notice_emails(), $subject, $message, $headers); } }