PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.35
OttoKit: All-in-One Automation Platform v1.1.35
1.1.37 1.1.36 1.1.35 1.1.34 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-subscriber-bounced.php
suretriggers / src / Integrations / Mailster / triggers Last commit date
mailster-campaign-link-clicked.php 1 month ago mailster-campaign-opened.php 1 month ago mailster-new-subscriber-added.php 1 month ago mailster-subscriber-added-to-list.php 1 month ago mailster-subscriber-bounced.php 1 month ago mailster-subscriber-confirmed.php 1 month ago mailster-subscriber-deleted.php 1 month ago mailster-subscriber-removed-from-list.php 1 month ago mailster-subscriber-status-changed.php 1 month ago mailster-subscriber-unsubscribed.php 1 month ago mailster-tag-added-to-subscriber.php 1 month ago mailster-tag-removed-from-subscriber.php 1 month ago
mailster-subscriber-bounced.php
115 lines
1 <?php
2 /**
3 * MailsterSubscriberBounced trigger.
4 * php version 5.6
5 *
6 * @category MailsterSubscriberBounced
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 * MailsterSubscriberBounced
21 *
22 * @category MailsterSubscriberBounced
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 MailsterSubscriberBounced {
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_subscriber_bounced';
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' => __( 'Subscriber Bounced', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'mailster_bounce',
67 'function' => [ $this, 'trigger_listener' ],
68 'priority' => 10,
69 'accepted_args' => 5,
70 ];
71
72 return $triggers;
73 }
74
75 /**
76 * Trigger listener.
77 *
78 * Fires from Mailster's `mailster_bounce` action (classes/subscribers.class.php)
79 * when a campaign to this subscriber bounces.
80 *
81 * @param int $subscriber_id Subscriber ID.
82 * @param int|null $campaign_id Campaign ID that bounced.
83 * @param bool $is_hardbounce Whether this was a hard bounce.
84 * @param int|null $status Status the subscriber was set to.
85 * @param int|null $index Bounce index.
86 * @return void
87 */
88 public function trigger_listener( $subscriber_id, $campaign_id = null, $is_hardbounce = false, $status = null, $index = null ) {
89 if ( empty( $subscriber_id ) || ! function_exists( 'mailster' ) ) {
90 return;
91 }
92
93 $subscriber = mailster( 'subscribers' )->get( absint( $subscriber_id ) );
94 $campaign_id = is_numeric( $campaign_id ) ? absint( $campaign_id ) : 0;
95
96 $context = [
97 'subscriber_id' => absint( $subscriber_id ),
98 'email' => is_object( $subscriber ) && isset( $subscriber->email ) ? sanitize_email( (string) $subscriber->email ) : '',
99 'campaign_id' => $campaign_id,
100 'campaign_title' => $campaign_id ? get_the_title( $campaign_id ) : '',
101 'is_hardbounce' => (bool) $is_hardbounce,
102 'status' => is_numeric( $status ) ? absint( $status ) : 3,
103 ];
104
105 AutomationController::sure_trigger_handle_trigger(
106 [
107 'trigger' => $this->trigger,
108 'context' => $context,
109 ]
110 );
111 }
112 }
113
114 MailsterSubscriberBounced::get_instance();
115