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 / triggerbutton / triggers / user-clicks-on-trigger-button.php
suretriggers / src / Integrations / triggerbutton / triggers Last commit date
user-clicks-on-trigger-button.php 2 years ago
user-clicks-on-trigger-button.php
133 lines
1 <?php
2 /**
3 * UserClicksOnTriggerButton.
4 * php version 5.6
5 *
6 * @category UserClicksOnTriggerButton
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\TriggerButton\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Integrations\WordPress\WordPress;
18 use SureTriggers\Traits\SingletonLoader;
19
20 if ( ! class_exists( 'UserClicksOnTriggerButton' ) ) :
21
22 /**
23 * UserClicksOnTriggerButton
24 *
25 * @category UserClicksOnTriggerButton
26 * @package SureTriggers
27 * @author BSF <username@example.com>
28 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
29 * @link https://www.brainstormforce.com/
30 * @since 1.0.0
31 */
32 class UserClicksOnTriggerButton {
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'TriggerButton';
40
41 /**
42 * Action name.
43 *
44 * @var string
45 */
46 public $trigger = 'st_trigger_button';
47
48 use SingletonLoader;
49
50 /**
51 * Constructor
52 *
53 * @since 1.0.0
54 */
55 public function __construct() {
56 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
57 }
58
59 /**
60 * Register a action.
61 *
62 * @param array $triggers actions.
63 * @return array
64 */
65 public function register( $triggers ) {
66 $triggers[ $this->integration ][ $this->trigger ] = [
67 'label' => __( 'A User Clicks on Trigger Button', 'suretriggers' ),
68 'action' => $this->trigger,
69 'common_action' => 'st_trigger_button_action',
70 'function' => [ $this, 'trigger_listener' ],
71 'priority' => 10,
72 'accepted_args' => 5,
73 ];
74
75 return $triggers;
76
77 }
78
79 /**
80 * Trigger listener
81 *
82 * @param string $st_trigger_id Trigger ID.
83 * @param int $user_id User id.
84 * @param int $cookie_duration Cookie Duration.
85 * @param bool $setcookie Set Cookie.
86 * @param array $parent_post_data Button Parent Post Data.
87 * @since 1.0.0
88 *
89 * @return void
90 */
91 public function trigger_listener( $st_trigger_id, $user_id, $cookie_duration, $setcookie, $parent_post_data ) {
92 $context = WordPress::get_user_context( $user_id );
93 $all_meta_for_user = get_user_meta( $user_id );
94
95 $context['user_meta'] = $all_meta_for_user;
96 $context['st_trigger_button_input'] = "[st_trigger_button id='" . $st_trigger_id . "' button_label='Click here']";
97 $context['st_trigger_id'] = $st_trigger_id;
98
99 $before_button_click_data = '';
100 $before_button_click_response = apply_filters( 'st_trigger_button_before_click_hook', $before_button_click_data );
101
102 $after_button_click_data = '';
103 $after_button_click_response = apply_filters( 'st_trigger_button_after_click_hook', $after_button_click_data );
104
105 $context['before_click_response'] = $before_button_click_response;
106 $context['after_click_response'] = $after_button_click_response;
107
108 if ( ! empty( $parent_post_data ) ) {
109 $context = array_merge( $context, $parent_post_data );
110 }
111
112 $automation = AutomationController::sure_trigger_handle_trigger(
113 [
114 'trigger' => $this->trigger,
115 'wp_user_id' => ap_get_current_user_id(),
116 'context' => $context,
117 ]
118 );
119
120 if ( $automation && 'true' == $setcookie ) {
121 do_action( 'st_trigger_button_set_cookie', $st_trigger_id, $user_id, $cookie_duration );
122 }
123 }
124 }
125
126 UserClicksOnTriggerButton::get_instance();
127
128 endif;
129
130
131
132
133