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 / gravity-form / triggers / form-entry-updated.php
suretriggers / src / Integrations / gravity-form / triggers Last commit date
form-entry-updated.php 2 years ago user-register-gravity-form.php 2 years ago user-submits-form-specific-field.php 1 year ago user-submits-form.php 1 year ago user-submits-payment-gravity-form.php 2 years ago
form-entry-updated.php
156 lines
1 <?php
2 /**
3 * FormEntryUpdatedGravityForm.
4 * php version 5.6
5 *
6 * @category FormEntryUpdatedGravityForm
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\GravityForms\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use GFAPI;
19
20 if ( ! class_exists( 'FormEntryUpdatedGravityForm' ) ) :
21
22 /**
23 * FormEntryUpdatedGravityForm
24 *
25 * @category FormEntryUpdatedGravityForm
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 FormEntryUpdatedGravityForm {
35
36
37 /**
38 * Integration type.
39 *
40 * @var string
41 */
42 public $integration = 'GravityForms';
43
44
45 /**
46 * Trigger name.
47 *
48 * @var string
49 */
50 public $trigger = 'form_entry_updated_gravityform';
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' => __( 'Form Entry Updated', 'suretriggers' ),
74 'action' => 'form_entry_updated_gravityform',
75 'common_action' => [ 'gform_after_update_entry', 'gform_post_update_entry' ],
76 'function' => [ $this, 'trigger_listener' ],
77 'priority' => 10,
78 'accepted_args' => 3,
79 ];
80
81 return $triggers;
82
83 }
84
85 /**
86 * Trigger listener
87 *
88 * @param array $form The form object for the entry.
89 * @param integer $entry_id The entry ID.
90 * @param array $original_entry The entry object before being updated.
91 * @since 1.0.0
92 *
93 * @return void
94 */
95 public function trigger_listener( $form, $entry_id, $original_entry ) {
96
97 if ( ! class_exists( 'GFAPI' ) ) {
98 return;
99 }
100 if ( empty( $entry_id ) ) {
101 return;
102 }
103
104 $context['gravity_form'] = (int) $form['id'];
105 $context['entry_id'] = $entry_id;
106 $context['original_entry'] = $original_entry;
107 $entry = GFAPI::get_entry( $entry_id );
108 foreach ( $form['fields'] as $field ) {
109 $inputs = $field->get_entry_inputs();
110 if ( is_array( $inputs ) ) {
111 foreach ( $inputs as $input ) {
112 $label_key = strtolower( str_replace( ' ', '_', $input['label'] ) );
113 if ( ! isset( $input['isHidden'] ) || ( isset( $input['isHidden'] ) && ! $input['isHidden'] ) ) {
114 if ( ( 'fileupload' == $field['type'] && 1 == $field['multipleFiles'] ) || 'multiselect' == $field['type'] ) {
115 $json_string = rgar( $entry, (string) $input['id'] );
116 $array = json_decode( $json_string );
117 if ( is_array( $array ) ) {
118 $comma_separated = implode( ',', $array );
119 $context[ 'form_field_' . $label_key ] = $comma_separated;
120 }
121 }
122 $context[ 'updated ' . $label_key ] = rgar( $entry, (string) $input['id'] );
123 }
124 }
125 } else {
126 $label_key = strtolower( str_replace( ' ', '_', $field['label'] ) );
127 if ( ( 'fileupload' == $field['type'] && 1 == $field['multipleFiles'] ) || 'multiselect' == $field['type'] ) {
128 $json_string = rgar( $entry, (string) $field->id );
129 $array = json_decode( $json_string );
130 if ( is_array( $array ) ) {
131 $comma_separated = implode( ',', $array );
132 $context[ 'form_field_' . $label_key ] = $comma_separated;
133 }
134 }
135 $context[ 'updated ' . $label_key ] = rgar( $entry, (string) $field->id );
136 }
137 }
138
139 AutomationController::sure_trigger_handle_trigger(
140 [
141 'trigger' => $this->trigger,
142 'context' => $context,
143 ]
144 );
145 }
146 }
147
148 /**
149 * Ignore false positive
150 *
151 * @psalm-suppress UndefinedMethod
152 */
153 FormEntryUpdatedGravityForm::get_instance();
154
155 endif;
156