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 / metabox / triggers / post-metabox-field-updated.php
suretriggers / src / Integrations / metabox / triggers Last commit date
metabox-after-form-submission.php 2 years ago post-metabox-field-updated.php 2 years ago user-metabox-field-updated.php 2 years ago
post-metabox-field-updated.php
128 lines
1 <?php
2 /**
3 * PostMetaboxFieldUpdated.
4 * php version 5.6
5 *
6 * @category PostMetaboxFieldUpdated
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\MetaBox\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'PostMetaboxFieldUpdated' ) ) :
21
22 /**
23 * PostMetaboxFieldUpdated
24 *
25 * @category PostMetaboxFieldUpdated
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 * @psalm-suppress UndefinedTrait
33 */
34 class PostMetaboxFieldUpdated {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'MetaBox';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'post_metabox_field_updated';
51
52 use SingletonLoader;
53
54
55 /**
56 * Constructor
57 *
58 * @since 1.0.0
59 */
60 public function __construct() {
61 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
62 }
63
64 /**
65 * Register action.
66 *
67 * @param array $triggers trigger data.
68 * @return array
69 */
70 public function register( $triggers ) {
71
72 $triggers[ $this->integration ][ $this->trigger ] = [
73 'label' => __( 'Field is updated on Post', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => [ 'added_post_meta', 'updated_post_meta' ],
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 4,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $meta_id Meta ID.
88 * @param int $object_id Object ID.
89 * @param string $meta_key Meta Key.
90 * @param int $meta_value Meta Value.
91 * @return void|bool
92 */
93 public function trigger_listener( $meta_id, $object_id, $meta_key, $meta_value ) {
94
95 if ( ! function_exists( 'rwmb_get_object_fields' ) ) {
96 return false;
97 }
98
99 $fields_allowed = array_keys( rwmb_get_object_fields( $object_id ) );
100 if ( ! in_array( $meta_key, $fields_allowed, true ) ) {
101 return false;
102 }
103
104 $meta_value = get_post_meta( $object_id, $meta_key, true );
105 $context[ $meta_key ] = $meta_value;
106 $context['wp_post_type'] = get_post_type( $object_id );
107 $context['wp_post'] = $object_id;
108 $context['field_id'] = $meta_key;
109 $context['post'] = WordPress::get_post_context( $object_id );
110
111 AutomationController::sure_trigger_handle_trigger(
112 [
113 'trigger' => $this->trigger,
114 'context' => $context,
115 ]
116 );
117 }
118 }
119
120 /**
121 * Ignore false positive
122 *
123 * @psalm-suppress UndefinedMethod
124 */
125 PostMetaboxFieldUpdated::get_instance();
126
127 endif;
128