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