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 / secure-custom-fields / triggers / options-scf-field-updated.php
suretriggers / src / Integrations / secure-custom-fields / triggers Last commit date
options-scf-field-updated.php 1 month ago post-scf-field-updated.php 1 month ago user-scf-field-updated.php 1 month ago
options-scf-field-updated.php
144 lines
1 <?php
2 /**
3 * OptionsScfFieldUpdated.
4 * php version 5.6
5 *
6 * @category OptionsScfFieldUpdated
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\SecureCustomFields\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use SureTriggers\Integrations\WordPress\WordPress;
19
20 if ( ! class_exists( 'OptionsScfFieldUpdated' ) ) :
21
22 /**
23 * OptionsScfFieldUpdated
24 *
25 * @category OptionsScfFieldUpdated
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 OptionsScfFieldUpdated {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'SecureCustomFields';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'options_scf_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 Updated On Options Page', 'suretriggers' ),
74 'action' => $this->trigger,
75 'common_action' => 'acf/save_post',
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 1,
79 ];
80
81 return $triggers;
82 }
83
84 /**
85 * Trigger listener
86 *
87 * @param int $post_id Post ID.
88 * @return void|bool
89 */
90 public function trigger_listener( $post_id ) {
91 if ( 'options' !== $post_id ) {
92 return;
93 }
94
95 if ( ! function_exists( 'get_fields' ) ) {
96 return;
97 }
98
99 $field_name = 'all';
100 $get_value = get_fields( $post_id );
101
102 if ( isset( $get_value[ $field_name ] ) ) {
103 $acf_value = $get_value[ $field_name ];
104 } else {
105 $acf_value = $get_value;
106 }
107 $response_array = [];
108 if ( is_array( $acf_value ) ) {
109 if ( isset( $acf_value[0] ) && is_array( $acf_value[0] ) ) {
110 $response_array[ $field_name ] = wp_json_encode( $acf_value );
111 $response_array['field_id'] = $field_name;
112 } else {
113 foreach ( $acf_value as $key => $value ) {
114 if ( is_array( $value ) ) {
115 $response_array[ $key ] = wp_json_encode( $value );
116 } else {
117 $response_array[ $key ] = $value;
118 }
119 $response_array['field_id'] = $key;
120 }
121 }
122 } else {
123 $response_array[ $field_name ] = $acf_value;
124 }
125 $context = $response_array;
126
127 AutomationController::sure_trigger_handle_trigger(
128 [
129 'trigger' => $this->trigger,
130 'context' => $context,
131 ]
132 );
133 }
134 }
135
136 /**
137 * Ignore false positive
138 *
139 * @psalm-suppress UndefinedMethod
140 */
141 OptionsScfFieldUpdated::get_instance();
142
143 endif;
144