PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / trunk
OttoKit: All-in-One Automation Platform vtrunk
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-added-to-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-added-to-list.php
112 lines
1 <?php
2 /**
3 * MailsterSubscriberAddedToList trigger.
4 * php version 5.6
5 *
6 * @category MailsterSubscriberAddedToList
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 * MailsterSubscriberAddedToList
21 *
22 * @category MailsterSubscriberAddedToList
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 MailsterSubscriberAddedToList {
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_added_to_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 Added to List', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'mailster_list_added',
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_list_added` action (classes/lists.class.php)
79 * when a subscriber is assigned to a list.
80 *
81 * @param int $list_id List ID.
82 * @param int $subscriber_id Subscriber ID.
83 * @param int|null $added Timestamp the subscriber was added to the list.
84 * @return void
85 */
86 public function trigger_listener( $list_id, $subscriber_id, $added = null ) {
87 if ( empty( $subscriber_id ) || ! function_exists( 'mailster' ) ) {
88 return;
89 }
90
91 $subscriber = mailster( 'subscribers' )->get( absint( $subscriber_id ) );
92 $list = mailster( 'lists' )->get( absint( $list_id ) );
93
94 $context = [
95 'list_id' => absint( $list_id ),
96 'list_name' => is_object( $list ) && isset( $list->name ) ? sanitize_text_field( (string) $list->name ) : '',
97 'subscriber_id' => absint( $subscriber_id ),
98 'email' => is_object( $subscriber ) && isset( $subscriber->email ) ? sanitize_email( (string) $subscriber->email ) : '',
99 'added' => is_numeric( $added ) ? absint( $added ) : 0,
100 ];
101
102 AutomationController::sure_trigger_handle_trigger(
103 [
104 'trigger' => $this->trigger,
105 'context' => $context,
106 ]
107 );
108 }
109 }
110
111 MailsterSubscriberAddedToList::get_instance();
112