PluginProbe
VikBooking Hotel Booking Engine & PMS / trunk
VikBooking Hotel Booking Engine & PMS vtrunk
1.8.15 1.8.14 1.8.13 1.8.12 1.8.11 1.8.10 1.8.9 1.8.6 1.8.7 1.8.8 trunk 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 All 36 releases
vikbooking / admin / helpers / src / platform / org / wordpress / mailer.php

mailer.php in VikBooking Hotel Booking Engine & PMS trunk, at admin/helpers/src/platform/org/wordpress/mailer.php

70 lines 1.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 /**
3 * @package VikBooking
4 * @subpackage core
5 * @author E4J s.r.l.
6 * @copyright Copyright (C) 2021 E4J s.r.l. All Rights Reserved.
7 * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
8 * @link https://vikwp.com
9 */
10
11 // No direct access
12 defined('ABSPATH') or die('No script kiddies please!');
13
14 /**
15 * Implements the mailer interface for the Wordpress platform.
16 *
17 * @since 1.5
18 */
19 class VBOPlatformOrgWordpressMailer implements VBOPlatformMailerInterface
20 {
21 /**
22 * Sends an e-mail through the pre-installed mailing system.
23 *
24 * @param VBOMailWrapper $mail The e-mail encapsulation.
25 *
26 * @return boolean True on success, false otherwise.
27 */
28 public function send(VBOMailWrapper $mail)
29 {
30 // sends through PHP mailer
31 $service = new VBOMailServicePhpmailer();
32
33 // prepare email content
34 $this->prepare($mail);
35
36 // send the e-mail
37 return $service->send($mail);
38 }
39
40 /**
41 * Prepares the email content for the current platform.
42 *
43 * @since 1.15.2 (J) - 1.5.5 (WP)
44 */
45 public function prepare(VBOMailWrapper $mail)
46 {
47 /**
48 * Trigger event to allow third party plugins to overwrite any property of the mail message.
49 *
50 * @since 1.18.2 (J) - 1.8.2 (WP)
51 */
52 VBOFactory::getPlatform()->getDispatcher()->trigger('onBeforeSendMail', [$mail]);
53
54 // get mail full content and replace wrapper symbols
55 $mail_content = VBOMailParser::checkWrapperSymbols($mail->getContent());
56
57 // parse conditional text rules (properties should be set by who calls this method)
58 VikBooking::getConditionalRulesInstance()->parseTokens($mail_content);
59
60 // interpretes shortcodes contained within the full text
61 $mail_content = do_shortcode($mail_content);
62
63 // set manipulated content
64 $mail->setContent($mail_content);
65
66 // return the prepared email content
67 return $mail_content;
68 }
69 }
70