PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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 / wordpress / triggers / user-meta-key-updated.php
suretriggers / src / Integrations / wordpress / triggers Last commit date
add-user-role.php 1 year ago change-specific-role-to-specific.php 3 years ago create-post.php 6 months ago insert-comment.php 2 years ago post-of-type-set-to-status.php 1 year ago post-trashed.php 1 year ago post-updated-only.php 3 months ago remove-user-role.php 3 years ago update-post.php 1 year ago update-specific-post.php 1 year ago update-user-role.php 3 years ago user-comment-approved.php 2 years ago user-create.php 3 years ago user-login.php 1 year ago user-meta-key-updated.php 10 months ago user-password-reset.php 1 year ago user-profile-field-updated.php 3 years ago view-post.php 1 year ago
user-meta-key-updated.php
118 lines
1 <?php
2 /**
3 * UserMetaKeyUpdated.
4 * php version 5.6
5 *
6 * @category UserMetaKeyUpdated
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\Wordpress\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Controllers\OptionController;
18 use SureTriggers\Integrations\WordPress\WordPress;
19 use SureTriggers\Traits\SingletonLoader;
20
21 /**
22 * UserMetaKeyUpdated
23 *
24 * @category UserMetaKeyUpdated
25 * @package SureTriggers
26 * @author BSF <username@example.com>
27 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
28 * @link https://www.brainstormforce.com/
29 * @since 1.0.0
30 */
31 class UserMetaKeyUpdated {
32
33
34 /**
35 * Integration type.
36 *
37 * @var string
38 */
39 public $integration = 'WordPress';
40
41 /**
42 * Trigger name.
43 *
44 * @var string
45 */
46 public $trigger = 'updated_user_meta';
47
48 use SingletonLoader;
49
50
51 /**
52 * Constructor
53 *
54 * @since 1.0.0
55 */
56 public function __construct() {
57 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
58 }
59
60 /**
61 * Register action.
62 *
63 * @param array $triggers trigger data.
64 * @return array
65 */
66 public function register( $triggers ) {
67
68 $triggers[ $this->integration ][ $this->trigger ] = [
69 'label' => __( 'User\'s specific meta key is updated', 'suretriggers' ),
70 'action' => 'updated_user_meta',
71 'function' => [ $this, 'trigger_listener' ],
72 'priority' => 10,
73 'accepted_args' => 4,
74 ];
75
76 return $triggers;
77 }
78
79
80 /**
81 * Trigger listener
82 *
83 * @param int $meta_id ID of updated metadata entry.
84 * @param int $object_id ID of the object metadata is for.
85 * @param string $meta_key Metadata key.
86 * @param mixed $_meta_value Metadata value.
87 *
88 * @return void
89 */
90 public function trigger_listener( $meta_id, $object_id, $meta_key, $_meta_value ) {
91 $trigger_data = OptionController::get_option( 'trigger_data' );
92
93 // Check if user has specified a meta key for this trigger.
94 if ( is_array( $trigger_data ) && isset( $trigger_data[ $this->integration ][ $this->trigger ]['selected_options']['meta_key'] ) ) {
95 $selected_meta_key = $trigger_data[ $this->integration ][ $this->trigger ]['selected_options']['meta_key'];
96
97 // Only trigger if the updated meta key matches the specified one.
98 if ( $selected_meta_key !== $meta_key ) {
99 return;
100 }
101 }
102
103 $context = WordPress::get_user_context( $object_id );
104 $context['meta_key'] = $meta_key;
105 $context['meta_value'] = $_meta_value;
106
107 AutomationController::sure_trigger_handle_trigger(
108 [
109 'trigger' => $this->trigger,
110 'context' => $context,
111 ]
112 );
113 }
114 }
115
116
117 UserMetaKeyUpdated::get_instance();
118