PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.4.7
JetFormBuilder — Dynamic Blocks Form Builder v3.4.7
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / modules / validation / ssr / is-field-value-unique.php
jetformbuilder / modules / validation / ssr Last commit date
base-validation-callback.php 2 years ago is-field-value-unique.php 1 year ago is-user-email-unique.php 2 years ago is-user-login-unique.php 2 years ago
is-field-value-unique.php
59 lines
1 <?php
2
3
4 namespace JFB_Modules\Validation\Ssr;
5
6 use Jet_Form_Builder\Request\Parser_Context;
7
8 // If this file is called directly, abort.
9 if ( ! defined( 'WPINC' ) ) {
10 die;
11 }
12
13 class Is_Field_Value_Unique extends Base_Validation_Callback {
14
15 public function get_id(): string {
16 return 'is_field_value_unique';
17 }
18
19 public function get_label(): string {
20 return __( 'Is field value unique', 'jet-form-builder' );
21 }
22
23 public function is_valid( $value, Parser_Context $context ): bool {
24 $request = $context->get_request();
25 $field_name = $request['_jfb_validation_path'][0];
26 $form_id = $request['_jet_engine_booking_form_id'];
27
28 global $wpdb;
29 $record_ids = $wpdb->get_col(
30 $wpdb->prepare(
31 'SELECT id FROM ' . $wpdb->prefix . 'jet_fb_records WHERE form_id = %d AND status = %s',
32 $form_id,
33 'success'
34 )
35 );
36
37 if ( ! empty( $record_ids ) ) {
38 $placeholders = array_fill( 0, count( $record_ids ), '%d' );
39 $sql = sprintf(
40 'SELECT COUNT(*) FROM ' . $wpdb->prefix . 'jet_fb_records_fields
41 WHERE record_id IN (%s)
42 AND field_name = %%s
43 AND field_value = %%s',
44 implode( ', ', $placeholders )
45 );
46
47 $params = array_merge( $record_ids, array( $field_name, $value ) );
48
49 $exists = $wpdb->get_var( $wpdb->prepare( $sql, $params ) ); // phpcs:ignore WordPress.DB.PreparedSQL.NotPrepared
50
51 if ( $exists ) {
52 return false;
53 }
54 }
55
56 return true;
57 }
58 }
59