PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.15.3
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.15.3
V-3.3.0 3.2.2 3.2.1 3.2.0 3.1.4 3.1.3 3.1.2 3.1.1 3.1.0 V3.0.3 V3.0.2 -3.0.1 V_3.0.0 1.1.1 1.1.8 1.2 1.3 1.4 1.4.18 1.5.2 1.9 2.0 2.10.0 2.10.1 2.10.2 All 137 releases
← All changes | includes/Core/Database/DB.php +50 -88 3.1.22.15.3 View file →
@@ -8,10 +8,8 @@
8 8 */
9 9
10 10 namespace BitCode\BitForm\Core\Database;
11 11
12 -use BitCode\BitForm\Core\Util\Log;
13 -
14 12 /**
15 13 * Database Migration
16 14 */
17 15 final class DB
@@ -79,11 +77,9 @@
79 77 `workflow_type` varchar(50) NOT NULL,
80 78 `workflow_run` varchar(50) NOT NULL,
81 79 `workflow_behaviour` varchar(25) NOT NULL,
82 80 `workflow_condition` longtext DEFAULT NULL,
83 - `workflow_info` longtext DEFAULT NULL,
84 81 `workflow_order` int(11) unsigned DEFAULT NULL,
85 - `workflow_status` tinyint(1) DEFAULT 1,/* 0 disable, 1 enable, 2 enable in field settings */
86 82 `form_id` bigint(20) unsigned DEFAULT NULL,
87 83 `user_id` bigint(20) unsigned DEFAULT NULL,
88 84 `user_ip` int(11) unsigned DEFAULT NULL,
89 85 `user_location` text DEFAULT NULL,
@@ -203,96 +199,62 @@
203 199 KEY `entry_id` (`entry_id`)
204 200 ) $collate;"
205 201 ];
206 202
207 - try {
208 - include_once ABSPATH . 'wp-admin/includes/upgrade.php';
209 - foreach ($table_schema as $table) {
210 - dbDelta($table);
211 - }
212 - $installed_db_version = get_option('bitforms_db_version');
213 - if ($installed_db_version && version_compare('1.1', $installed_db_version, '>=')) {
214 - // if new db version is equal or higher than 1.1
215 - // Schema migration: table name interpolation only (no user input). $wpdb->prepare() cannot parameterize DDL statements.
216 - try {
217 - $wpdb->query("ALTER TABLE `{$wpdb->prefix}bitforms_form_entry_log`
218 - MODIFY `log_type` VARCHAR(50) NULL DEFAULT NULL,
219 - MODIFY `created_at` DATETIME NOT NULL,
203 + $table_schema_update = [
204 + "ALTER TABLE `{$wpdb->prefix}bitforms_form_entry_log`
205 + CHANGE COLUMN `log_type` `log_type` VARCHAR(50) NULL DEFAULT NULL,
206 + ADD COLUMN `action_type` VARCHAR(50) NULL DEFAULT NULL,
220 207 CHANGE COLUMN `meta_key` `content` LONGTEXT NULL,
221 - ADD COLUMN `action_type` VARCHAR(50) NULL DEFAULT NULL,
222 - ADD COLUMN `content` LONGTEXT NULL AFTER `action_type`");
223 - } catch (\Exception $e) {
224 - Log::debug_log("Update failed: {$e->getMessage()} in query: ALTER TABLE `{$wpdb->prefix}bitforms_form_entry_log`...");
225 - }
226 - try {
227 - $wpdb->query("ALTER TABLE `{$wpdb->prefix}bitforms_form_log_details`
228 - MODIFY `api_type` VARCHAR(255) NULL DEFAULT NULL,
229 - MODIFY `response_obj` LONGTEXT NULL,
230 - MODIFY `created_at` DATETIME NOT NULL");
231 - } catch (\Exception $e) {
232 - Log::debug_log("Update failed: {$e->getMessage()} in query: ALTER TABLE `{$wpdb->prefix}bitforms_form_log_details`...");
233 - }
234 - }
235 - if ($installed_db_version && version_compare('1.3', $installed_db_version, '>=')) {
236 - // if new db version is equal or higher than 1.3
237 - $wpdb->query("ALTER TABLE `{$wpdb->prefix}bitforms_form_entries` MODIFY `user_ip` VARCHAR(255) NULL DEFAULT NULL");
238 - }
208 + CHANGE COLUMN `created_at` `created_at` DATETIME NOT NULL",
209 + "ALTER TABLE `{$wpdb->prefix}bitforms_form_log_details`
210 + CHANGE COLUMN `api_type` `api_type` VARCHAR(255) NULL DEFAULT NULL,
211 + CHANGE COLUMN `response_obj` `response_obj` LONGTEXT NULL,
212 + CHANGE COLUMN `created_at` `created_at` DATETIME NOT NULL",
213 + ];
239 214
240 - if ($installed_db_version && version_compare('2.0', $installed_db_version, '>=')) {
241 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}bitforms_success_messages` LIKE 'message_config'")) {
242 - $wpdb->query(
243 - "ALTER TABLE `{$wpdb->prefix}bitforms_success_messages`
244 - ADD COLUMN `message_config` LONGTEXT NULL AFTER `message_content`"
245 - );
246 - }
247 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}bitforms_form` LIKE 'builder_helper_state'")) {
248 - $wpdb->query(
249 - "ALTER TABLE `{$wpdb->prefix}bitforms_form`
250 - ADD COLUMN `builder_helper_state` LONGTEXT NULL AFTER `form_content`,
251 - ADD COLUMN `atomic_class_map` LONGTEXT NULL AFTER `builder_helper_state`,
252 - ADD COLUMN `generated_script_page_ids` LONGTEXT NULL AFTER `atomic_class_map`"
253 - );
254 - }
255 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}bitforms_workflows` LIKE 'workflow_order'")) {
256 - $wpdb->query(
257 - "ALTER TABLE `{$wpdb->prefix}bitforms_workflows`
258 - ADD COLUMN `workflow_order` INT(11) DEFAULT NULL AFTER `workflow_condition`"
259 - );
260 - }
215 + include_once ABSPATH . 'wp-admin/includes/upgrade.php';
216 + foreach ($table_schema as $table) {
217 + dbDelta($table);
218 + }
219 + $installed_db_version = get_site_option('bitforms_db_version');
220 + if ($installed_db_version && version_compare('1.1', $installed_db_version, '>=')) {
221 + // if new db version is equal or higher than 1.1
222 + foreach ($table_schema_update as $table) {
223 + $wpdb->query($table);
261 224 }
225 + }
226 + if ($installed_db_version && version_compare('1.3', $installed_db_version, '>=')) {
227 + // if new db version is equal or higher than 1.3
228 + $wpdb->query("ALTER TABLE `{$wpdb->prefix}bitforms_form_entries` CHANGE `user_ip` `user_ip` VARCHAR(255) NULL DEFAULT NULL");
229 + }
262 230
263 - if ($installed_db_version && version_compare('2.2', $installed_db_version, '>=')) {
264 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}bitforms_form_entries` LIKE 'referer'")) {
265 - $wpdb->query(
266 - "ALTER TABLE `{$wpdb->prefix}bitforms_form_entries`
267 - ADD COLUMN `referer` TEXT NULL DEFAULT NULL"
268 - );
269 - }
270 - }
231 + if ($installed_db_version && version_compare('2.0', $installed_db_version, '>=')) {
232 + $wpdb->query(
233 + "ALTER TABLE `{$wpdb->prefix}bitforms_success_messages`
234 + ADD `message_config` LONGTEXT NULL AFTER `message_content`"
235 + );
236 + $wpdb->query(
237 + "ALTER TABLE `{$wpdb->prefix}bitforms_form`
238 + ADD `builder_helper_state` LONGTEXT NULL AFTER `form_content`,
239 + ADD `atomic_class_map` LONGTEXT NULL AFTER `builder_helper_state`,
240 + ADD `generated_script_page_ids` LONGTEXT NULL AFTER `atomic_class_map`"
241 + );
242 + $wpdb->query(
243 + "ALTER TABLE `{$wpdb->prefix}bitforms_workflows`
244 + ADD `workflow_order` INT(11) DEFAULT NULL AFTER `workflow_condition`"
245 + );
246 + }
271 247
272 - if ($installed_db_version && version_compare('2.4', $installed_db_version, '>=')) {
273 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$wpdb->prefix}bitforms_workflows` LIKE 'workflow_status'")) {
274 - $wpdb->query(
275 - "ALTER TABLE `{$wpdb->prefix}bitforms_workflows`
276 - ADD COLUMN `workflow_status` TINYINT(1) DEFAULT 1 NOT NULL AFTER `workflow_order`"
277 - );
278 - }
279 - }
248 + if ($installed_db_version && version_compare('2.2', $installed_db_version, '>=')) {
249 + $wpdb->query(
250 + "ALTER TABLE `{$wpdb->prefix}bitforms_form_entries`
251 + MODIFY `referer` TEXT DEFAULT NULL"
252 + );
253 + }
280 254
281 - // add workflow_info column if not exists
282 - if ($installed_db_version && version_compare('3.0', $installed_db_version, '>=')) {
283 - $table_name = $wpdb->prefix . 'bitforms_workflows';
284 - if (null === $wpdb->get_var("SHOW COLUMNS FROM `{$table_name}` LIKE 'workflow_info'")) {
285 - $wpdb->query(
286 - "ALTER TABLE `{$table_name}`
287 - ADD COLUMN `workflow_info` LONGTEXT NULL AFTER `workflow_condition`"
288 - );
289 - }
290 - }
291 -
292 - update_option('bitforms_db_version', $bitforms_db_version, true);
293 - } catch (\Exception $e) {
294 - // Log the error to a file or the database
295 - Log::debug_log('Error during DB migration: ' . $e->getMessage());
296 - }
255 + update_site_option(
256 + 'bitforms_db_version',
257 + $bitforms_db_version
258 + );
297 259 }
298 260 }