PluginProbe ʕ •ᴥ•ʔ
OttoKit: All-in-One Automation Platform / 1.1.32
OttoKit: All-in-One Automation Platform v1.1.32
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-kit / triggers / form-entry-approved.php
suretriggers / src / Integrations / gravity-kit / triggers Last commit date
form-entry-approved.php 2 years ago form-entry-rejected.php 2 years ago
form-entry-approved.php
155 lines
1 <?php
2 /**
3 * FormEntryApproved.
4 * php version 5.6
5 *
6 * @category FormEntryApproved
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\GravityKit\Triggers;
15
16 use SureTriggers\Controllers\AutomationController;
17 use SureTriggers\Traits\SingletonLoader;
18 use GFFormsModel;
19 use GFCommon;
20
21 if ( ! class_exists( 'FormEntryApproved' ) ) :
22
23 /**
24 * FormEntryApproved
25 *
26 * @category FormEntryApproved
27 * @package SureTriggers
28 * @author BSF <username@example.com>
29 * @license https://www.gnu.org/licenses/gpl-3.0.html GPLv3
30 * @link https://www.brainstormforce.com/
31 * @since 1.0.0
32 *
33 * @psalm-suppress UndefinedTrait
34 */
35 class FormEntryApproved {
36
37
38 /**
39 * Integration type.
40 *
41 * @var string
42 */
43 public $integration = 'GravityKit';
44
45
46 /**
47 * Trigger name.
48 *
49 * @var string
50 */
51 public $trigger = 'gk_form_entry_approved';
52
53 use SingletonLoader;
54
55
56 /**
57 * Constructor
58 *
59 * @since 1.0.0
60 */
61 public function __construct() {
62 add_filter( 'sure_trigger_register_trigger', [ $this, 'register' ] );
63 }
64
65 /**
66 * Register action.
67 *
68 * @param array $triggers trigger data.
69 * @return array
70 */
71 public function register( $triggers ) {
72
73 $triggers[ $this->integration ][ $this->trigger ] = [
74 'label' => __( 'Form Entry Approved', 'suretriggers' ),
75 'action' => 'entry_form_approved',
76 'common_action' => 'gravityview/approve_entries/approved',
77 'function' => [ $this, 'trigger_listener' ],
78 'priority' => 10,
79 'accepted_args' => 1,
80 ];
81
82 return $triggers;
83
84 }
85
86 /**
87 * Trigger listener
88 *
89 * @param array $args Trigger Notifications.
90 * @since 1.0.0
91 *
92 * @return void
93 */
94 public function trigger_listener( $args ) {
95
96 if ( ! class_exists( 'GFFormsModel' ) ) {
97 return;
98 }
99
100 if ( ! class_exists( 'GFCommon' ) ) {
101 return;
102 }
103
104 global $wpdb;
105
106 $entry_id = $args;
107
108 $user_id = ap_get_current_user_id();
109
110 $form_id = $wpdb->get_var( $wpdb->prepare( "SELECT form_id from {$wpdb->prefix}gf_entry WHERE id=%d", $entry_id ) );
111
112 $form = GFFormsModel::get_form_meta( $form_id );
113 $fields = [];
114
115 if ( is_array( $form['fields'] ) ) {
116 foreach ( $form['fields'] as $field ) {
117 if ( isset( $field['inputs'] ) && is_array( $field['inputs'] ) ) {
118
119 foreach ( $field['inputs'] as $input ) {
120 $fields[] = [ $input['id'], GFCommon::get_label( $field, $input['id'] ) ];
121 }
122 } elseif ( ! rgar( $field, 'displayOnly' ) ) {
123 $fields[] = [ $field['id'], GFCommon::get_label( $field ) ];
124 }
125 }
126 }
127 $data = [];
128 foreach ( $fields as $field ) {
129 $form_entry = $wpdb->get_var( $wpdb->prepare( "SELECT meta_value from {$wpdb->prefix}gf_entry_meta WHERE entry_id=%d AND meta_key=%s", $entry_id, $field[0] ) );
130 $data[ $field[1] ] = $form_entry;
131 }
132
133 $context['gravity_form'] = (int) $form_id;
134 $context['gravity_form_entry_id'] = (int) $entry_id;
135 $context['gravity_form_data'] = $data;
136
137 AutomationController::sure_trigger_handle_trigger(
138 [
139 'trigger' => $this->trigger,
140 'user_id' => $user_id,
141 'context' => $context,
142 ]
143 );
144 }
145 }
146
147 /**
148 * Ignore false positive
149 *
150 * @psalm-suppress UndefinedMethod
151 */
152 FormEntryApproved::get_instance();
153
154 endif;
155