PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 3.2.3
JetFormBuilder — Dynamic Blocks Form Builder v3.2.3
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 / includes / db-queries / constraints / core-table-constraint.php
jetformbuilder / includes / db-queries / constraints Last commit date
core-table-constraint.php 2 years ago form-constraint.php 2 years ago user-constraint.php 2 years ago
core-table-constraint.php
49 lines
1 <?php
2
3
4 namespace Jet_Form_Builder\Db_Queries\Constraints;
5
6 use Jet_Form_Builder\Db_Queries\Base_Db_Constraint;
7 use Jet_Form_Builder\Db_Queries\Base_Db_Model;
8 use Jet_Form_Builder\Db_Queries\Exceptions\Skip_Exception;
9 use Jet_Form_Builder\Db_Queries\Query_Cache_Builder;
10
11 // If this file is called directly, abort.
12 if ( ! defined( 'WPINC' ) ) {
13 die;
14 }
15
16 class Core_Table_Constraint extends Base_Db_Constraint {
17
18 /**
19 * @throws Skip_Exception
20 */
21 public function before_create() {
22 global $wpdb;
23
24 $table = $this->get_table();
25 $cached = wp_cache_get( "status_table_{$table}", Query_Cache_Builder::CACHE_GROUP );
26
27 if ( $cached && ! $this->is_inno_db( $cached ) ) {
28 throw new Skip_Exception();
29 }
30
31 // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery
32 $status = $wpdb->get_row(
33 $wpdb->prepare( 'SHOW TABLE STATUS WHERE Name = %s', $this->get_table() ),
34 ARRAY_A
35 );
36
37 wp_cache_set( "status_table_{$table}", $status, Query_Cache_Builder::CACHE_GROUP );
38
39 if ( ! $this->is_inno_db( $status ) ) {
40 throw new Skip_Exception();
41 }
42 }
43
44 private function is_inno_db( array $table_status ): bool {
45 return Base_Db_Model::InnoDB === ( $table_status['Engine'] ?? '' );
46 }
47
48 }
49