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-campaign-link-clicked.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-campaign-link-clicked.php
113 lines
1 <?php
2 /**
3 * MailsterCampaignLinkClicked trigger.
4 * php version 5.6
5 *
6 * @category MailsterCampaignLinkClicked
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 * MailsterCampaignLinkClicked
21 *
22 * @category MailsterCampaignLinkClicked
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 MailsterCampaignLinkClicked {
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_link_clicked';
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 Link Clicked', 'suretriggers' ),
65 'action' => $this->trigger,
66 'common_action' => 'mailster_click',
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_click` action (classes/frontpage.class.php)
79 * when a subscriber clicks a tracked link inside a campaign.
80 *
81 * @param int $subscriber_id Subscriber ID.
82 * @param int $campaign_id Campaign ID.
83 * @param string $target The clicked link's destination URL.
84 * @param int|null $index Link index within the campaign.
85 * @param int|null $campaign_index Send index for this campaign/subscriber pair.
86 * @return void
87 */
88 public function trigger_listener( $subscriber_id, $campaign_id, $target = '', $index = null, $campaign_index = null ) {
89 if ( empty( $subscriber_id ) || ! function_exists( 'mailster' ) ) {
90 return;
91 }
92
93 $subscriber = mailster( 'subscribers' )->get( absint( $subscriber_id ) );
94
95 $context = [
96 'subscriber_id' => absint( $subscriber_id ),
97 'email' => is_object( $subscriber ) && isset( $subscriber->email ) ? sanitize_email( (string) $subscriber->email ) : '',
98 'campaign_id' => absint( $campaign_id ),
99 'campaign_title' => get_the_title( absint( $campaign_id ) ),
100 'link' => is_string( $target ) ? esc_url_raw( $target ) : '',
101 ];
102
103 AutomationController::sure_trigger_handle_trigger(
104 [
105 'trigger' => $this->trigger,
106 'context' => $context,
107 ]
108 );
109 }
110 }
111
112 MailsterCampaignLinkClicked::get_instance();
113