PluginProbe
VikBooking Hotel Booking Engine & PMS / 1.8.15
VikBooking Hotel Booking Engine & PMS v1.8.15
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 / joomla / mailer.php

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

99 lines 2.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 Joomla platform.
16 *
17 * @since 1.15
18 */
19 class VBOPlatformOrgJoomlaMailer 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 // init table content
55 $content = JTable::getInstance('content');
56 $content->text = VBOMailParser::checkWrapperSymbols($mail->getContent());
57
58 // parse conditional text rules (properties should be set by who calls this method)
59 $mail_content = $content->text;
60 VikBooking::getConditionalRulesInstance()->parseTokens($mail_content);
61 $content->text = $mail_content;
62
63 // init params array
64 $params = [];
65
66 // import content plugins
67 JPluginHelper::importPlugin('content');
68
69 $app = JFactory::getApplication();
70
71 /**
72 * This is the first stage in preparing content for output and is the
73 * most common point for content orientated plugins to do their work.
74 * Since the article and related parameters are passed by reference,
75 * event handlers can modify them prior to display.
76 *
77 * @param string $context The context of the content being
78 * passed to the plugin.
79 * @param JTable &$article A reference to the article that is
80 * being rendered by the view.
81 * @param mixed &$params A reference to an associative array
82 * of relevant parameters.
83 * @param integer $page An integer that determines the "page"
84 * of the content that is to be generated.
85 *
86 * @return void
87 *
88 * @since 1.5
89 */
90 $app->triggerEvent('onContentPrepare', array('com_vikbooking', &$content, &$params, 0));
91
92 // update e-mail contents
93 $mail->setContent($content->text);
94
95 // return the prepared email content
96 return $content->text;
97 }
98 }
99