PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.33
OttoKit: All-in-One Automation Platform v1.1.33
1.1.33 1.1.32 1.1.31 1.1.30 1.1.29 1.1.28 1.1.27 1.1.9 trunk 1.0.10 1.0.11 1.0.12 1.0.13 1.0.14 1.0.15 1.0.16 1.0.17 1.0.18 1.0.19 1.0.20 1.0.21 1.0.22 1.0.23 1.0.24 1.0.25 1.0.26 1.0.27 1.0.28 1.0.29 1.0.30 1.0.31 1.0.32 1.0.33 1.0.34 1.0.35 1.0.36 1.0.37 1.0.38 1.0.39 1.0.40 1.0.41 1.0.42 1.0.43 1.0.44 1.0.45 1.0.46 1.0.47 1.0.48 1.0.49 1.0.50 1.0.51 1.0.52 1.0.53 1.0.54 1.0.55 1.0.56 1.0.57 1.0.58 1.0.59 1.0.60 1.0.61 1.0.62 1.0.63 1.0.64 1.0.65 1.0.66 1.0.67 1.0.68 1.0.69 1.0.7 1.0.70 1.0.71 1.0.72 1.0.73 1.0.74 1.0.75 1.0.76 1.0.77 1.0.78 1.0.79 1.0.8 1.0.80 1.0.81 1.0.82 1.0.83 1.0.84 1.0.85 1.0.86 1.0.87 1.0.88 1.0.89 1.0.9 1.0.90 1.1.0 1.1.1 1.1.10 1.1.11 1.1.12 1.1.13 1.1.14 1.1.15 1.1.16 1.1.17 1.1.18 1.1.19 1.1.2 1.1.20 1.1.21 1.1.22 1.1.23 1.1.24 1.1.25 1.1.26 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.1.8
suretriggers / src / Integrations / Mailster / triggers / mailster-campaign-opened.php
suretriggers / src / Integrations / Mailster / triggers Last commit date
mailster-campaign-link-clicked.php 1 week ago mailster-campaign-opened.php 1 week ago mailster-new-subscriber-added.php 1 week ago mailster-subscriber-added-to-list.php 1 week ago mailster-subscriber-bounced.php 1 week ago mailster-subscriber-confirmed.php 1 week ago mailster-subscriber-deleted.php 1 week ago mailster-subscriber-removed-from-list.php 1 week ago mailster-subscriber-status-changed.php 1 week ago mailster-subscriber-unsubscribed.php 1 week ago mailster-tag-added-to-subscriber.php 1 week ago mailster-tag-removed-from-subscriber.php 1 week ago
mailster-campaign-opened.php
110 lines
1 <?php
2 /**
3 * MailsterCampaignOpened trigger.
4 * php version 5.6
5 *
6 * @category MailsterCampaignOpened
7 * @package SureTriggers
8 * @author BSF <username@example.com>
9 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
10 * @link https://www.brainstormforce.com/
11 * @since 1.0.0
12 */
13
14 namespace SureTriggers\Integrations\Mailster\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18
19 /**
20 * MailsterCampaignOpened
21 *
22 * @category MailsterCampaignOpened
23 * @package SureTriggers
24 * @author BSF <username@example.com>
25 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
26 * @link https://www.brainstormforce.com/
27 * @since 1.0.0
28 */
29 class MailsterCampaignOpened {
30
31 /**
32 * Integration type.
33 *
34 * @var string
35 */
36 public $integration = 'Mailster';
37
38 /**
39 * Trigger name.
40 *
41 * @var string
42 */
43 public $trigger = 'mailster_campaign_opened';
44
45 use SingletonLoader;
46
47 /**
48 * Constructor
49 *
50 * @since 1.0.0
51 */
52 public function __construct() {
53 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
54 }
55
56 /**
57 * Register a trigger.
58 *
59 * @param array $triggers triggers.
60 * @return array
61 */
62 public function register( $triggers ) {
63 $triggers[ $this->integration ][ $this->trigger ] = [
64 'label' => __( 'Campaign Opened', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'mailster_open',
67 'function' => [ $this, 'trigger_listener' ],
68 'priority' => 10,
69 'accepted_args' => 3,
70 ];
71
72 return $triggers;
73 }
74
75 /**
76 * Trigger listener.
77 *
78 * Fires from Mailster's `mailster_open` action (classes/frontpage.class.php)
79 * when a subscriber opens a campaign with open tracking enabled.
80 *
81 * @param int $subscriber_id Subscriber ID.
82 * @param int $campaign_id Campaign ID.
83 * @param int|null $campaign_index Send index for this campaign/subscriber pair.
84 * @return void
85 */
86 public function trigger_listener( $subscriber_id, $campaign_id, $campaign_index = null ) {
87 if ( empty( $subscriber_id ) || ! function_exists( 'mailster' ) ) {
88 return;
89 }
90
91 $subscriber = mailster( 'subscribers' )->get( absint( $subscriber_id ) );
92
93 $context = [
94 'subscriber_id' => absint( $subscriber_id ),
95 'email' => is_object( $subscriber ) && isset( $subscriber->email ) ? sanitize_email( (string) $subscriber->email ) : '',
96 'campaign_id' => absint( $campaign_id ),
97 'campaign_title' => get_the_title( absint( $campaign_id ) ),
98 ];
99
100 AutomationController::sure_trigger_handle_trigger(
101 [
102 'trigger' => $this->trigger,
103 'context' => $context,
104 ]
105 );
106 }
107 }
108
109 MailsterCampaignOpened::get_instance();
110