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 / advanced-custom-fields / actions / update-group-field-value.php
suretriggers / src / Integrations / advanced-custom-fields / actions Last commit date
get-option-acf-value.php 10 months ago get-post-acf-value.php 10 months ago get-user-acf-value.php 10 months ago update-group-field-value.php 10 months ago update-option-acf-value.php 2 years ago update-post-acf-value.php 2 years ago update-repeater-field-value.php 10 months ago update-user-acf-value.php 2 years ago
update-group-field-value.php
119 lines
1 <?php
2 /**
3 * UpdateGroupFieldValue.
4 * php version 5.6
5 *
6 * @category UpdateGroupFieldValue
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 use SureTriggers\Integrations\AutomateAction;
15 use SureTriggers\Traits\SingletonLoader;
16
17 /**
18 * UpdateGroupFieldValue
19 *
20 * @category UpdateGroupFieldValue
21 * @package SureTriggers
22 * @author BSF <username@example.com>
23 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
24 * @link https://www.brainstormforce.com/
25 * @since 1.0.0
26 */
27 class UpdateGroupFieldValue extends AutomateAction {
28
29 /**
30 * Integration type.
31 *
32 * @var string
33 */
34 public $integration = 'AdvancedCustomFields';
35
36 /**
37 * Action name.
38 *
39 * @var string
40 */
41 public $action = 'update_group_field_acf_value';
42
43 use SingletonLoader;
44
45 /**
46 * Register a action.
47 *
48 * @param array $actions actions.
49 * @return array
50 */
51 public function register( $actions ) {
52 $actions[ $this->integration ][ $this->action ] = [
53 'label' => __( 'Add Sub Field Value in Group', 'suretriggers' ),
54 'action' => $this->action,
55 'function' => [ $this, 'action_listener' ],
56 ];
57 return $actions;
58 }
59
60 /**
61 * Action listener.
62 *
63 * @param int $user_id user_id.
64 * @param int $automation_id automation_id.
65 * @param array $fields fields.
66 * @param array $selected_options selectedOptions.
67 * @psalm-suppress UndefinedMethod
68 * @throws Exception Exception.
69 *
70 * @return array|bool|void
71 */
72 public function _action_listener( $user_id, $automation_id, $fields, $selected_options ) {
73 $post_user_id = $selected_options['post_user_id'];
74 $field_name = $selected_options['acf_field_name'];
75
76 if ( ! function_exists( 'update_field' ) || ! function_exists( 'get_field' ) ) {
77 throw new Exception( 'Advanced Custom Fields get_field() function not found.' );
78 }
79
80 $response_array = [];
81 $rows = [];
82 $current_row = [];
83
84 if ( ! empty( $selected_options['acf_meta_update_value'] ) ) {
85 foreach ( $selected_options['acf_meta_update_value'] as $meta ) {
86 $meta_key = $meta['meta_key'];
87 $meta_value = $meta['meta_value'];
88 $is_meta_json = json_decode( $meta_value, true );
89 if ( null !== $is_meta_json ) {
90 $meta_value = $is_meta_json;
91 }
92 if ( ! empty( $current_row ) && array_key_exists( $meta_key, $current_row ) ) {
93 $rows[] = $current_row;
94 $current_row = [];
95 }
96 $current_row[ $meta_key ] = $meta_value;
97 }
98 if ( ! empty( $current_row ) ) {
99 $rows[] = $current_row;
100 }
101
102 foreach ( $rows as $row ) {
103 update_field( $field_name, $row, $post_user_id );
104 }
105 $response_array[ $field_name ] = get_field( $field_name, $post_user_id, true );
106 $response_array['id'] = $post_user_id;
107 $response_array['field_name'] = $field_name;
108 return $response_array;
109 } else {
110 return [
111 'status' => 'error',
112 'message' => 'Field values are empty.',
113 ];
114 }
115 }
116 }
117
118 UpdateGroupFieldValue::get_instance();
119