PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.36
OttoKit: All-in-One Automation Platform v1.1.36
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-removed-from-list.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-removed-from-list.php
110 lines
1 <?php
2 /**
3 * MailsterSubscriberRemovedFromList trigger.
4 * php version 5.6
5 *
6 * @category MailsterSubscriberRemovedFromList
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 * MailsterSubscriberRemovedFromList
21 *
22 * @category MailsterSubscriberRemovedFromList
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 MailsterSubscriberRemovedFromList {
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_removed_from_list';
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 Removed from List', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'mailster_list_removed',
67 'function' => [ $this, 'trigger_listener' ],
68 'priority' => 10,
69 'accepted_args' => 2,
70 ];
71
72 return $triggers;
73 }
74
75 /**
76 * Trigger listener.
77 *
78 * Fires from Mailster's `mailster_list_removed` action (classes/lists.class.php)
79 * when a subscriber is unassigned from a list.
80 *
81 * @param int $list_id List ID.
82 * @param int $subscriber_id Subscriber ID.
83 * @return void
84 */
85 public function trigger_listener( $list_id, $subscriber_id ) {
86 if ( empty( $subscriber_id ) || ! function_exists( 'mailster' ) ) {
87 return;
88 }
89
90 $subscriber = mailster( 'subscribers' )->get( absint( $subscriber_id ) );
91 $list = mailster( 'lists' )->get( absint( $list_id ) );
92
93 $context = [
94 'list_id' => absint( $list_id ),
95 'list_name' => is_object( $list ) && isset( $list->name ) ? sanitize_text_field( (string) $list->name ) : '',
96 'subscriber_id' => absint( $subscriber_id ),
97 'email' => is_object( $subscriber ) && isset( $subscriber->email ) ? sanitize_email( (string) $subscriber->email ) : '',
98 ];
99
100 AutomationController::sure_trigger_handle_trigger(
101 [
102 'trigger' => $this->trigger,
103 'context' => $context,
104 ]
105 );
106 }
107 }
108
109 MailsterSubscriberRemovedFromList::get_instance();
110