PluginProbe
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder / 2.9.1
Bit Form – Contact Form, Payment Forms, Multi Step Forms, Calculator & Custom Form Builder v2.9.1
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 | bitforms.php +27 -99 3.2.12.9.1 View file →
@@ -2,15 +2,14 @@
2 2
3 3 /**
4 4 * Plugin Name: Bit Form
5 5 * Plugin URI: https://www.bitapps.pro/bit-form
6 - * Description: Contact Form Builder Plugin: Multi Step Contact Form, Payment Form, Custom Contact Form Plugin by Bit Form
7 - * Version: 3.2.1
8 - * Author: Contact Form Builder - Bit Form
6 + * Description: Contact Form Builder: Multi Step Contact form, Payment form, WPForm Calculator form, Registration Form & WP Forms with form integrations
7 + * Version: 2.9.1
8 + * Author: Contact Form Builder Plugin - WPForm by Bit Form
9 9 * Author URI: https://www.bitapps.pro
10 10 * Text Domain: bit-form
11 - * Requires at least: 6.4
12 - * Requires PHP: 7.4
11 + * Requires PHP: 5.6
13 12 * Domain Path: /languages
14 13 * License: GPLv2 or later
15 14 */
16 15
@@ -21,23 +20,35 @@
21 20 exit;
22 21 }
23 22
24 23 // Define most essential constants.
25 -define('BITFORMS_VERSION', '3.2.1');
24 +define('BITFORMS_VERSION', '2.9.1');
26 25 define('BITFORMS_PLUGIN_MAIN_FILE', __FILE__);
27 -define('BITFORMS_REQUIRED_BITFORMPRO_VERSION', '3.2.1');
28 26
29 27 global $bitforms_db_version;
30 -$bitforms_db_version = '3.2';
31 -define('BITFORMS_DB_VERSION', $bitforms_db_version);
32 -define('BITFORMS_REQUIRED_WP_VERSION', '5.1');
33 -define('BITFORMS_REQUIRED_PHP_VERSION', '7.4');
34 -define('BITFORMS_API_VERSION', '1.0');
28 +$bitforms_db_version = '2.3';
35 29
36 30 if (version_compare(PHP_VERSION, '5.6.0', '>=')) {
37 - require_once plugin_dir_path(__FILE__) . 'includes/loader.php';
31 + $rootVersionFolder = '';
32 + $olderVersion = get_option('bitforms_version');
33 + if ('2.0-beta.1' === $olderVersion) {
34 + update_option('bitforms_migrated_to_v2', true);
35 + update_option('bitforms_migrating_to_v2', false);
36 + }
37 + $isMigratedToV2 = get_option('bitforms_migrated_to_v2');
38 + $isMigratingToV2 = get_option('bitforms_migrating_to_v2', null);
39 +
40 + if (null !== $isMigratingToV2 && !$isMigratingToV2 && !$isMigratedToV2) {
41 + global $wpdb;
42 + $oldForms = $wpdb->get_results("SELECT * FROM {$wpdb->prefix}bitforms_form");
43 + if (count($oldForms) > 0) {
44 + $rootVersionFolder = 'v1/';
45 + } else {
46 + update_option('bitforms_migrated_to_v2', true);
47 + }
48 + }
49 + require_once plugin_dir_path(__FILE__) . $rootVersionFolder . 'includes/loader.php';
38 50 }
39 -
40 51 /**
41 52 * Handles plugin activation.
42 53 *
43 54 * Throws an error if the plugin is activated on an older version than PHP 5.6.
@@ -45,10 +56,10 @@
45 56 function bitforms_activate_plugin($network_wide)
46 57 {
47 58 if (version_compare(PHP_VERSION, '5.6.0', '<')) {
48 59 wp_die(
49 - 'Bit Form requires PHP version 5.6 or higher.',
50 - 'Error Activating'
60 + esc_html__('bitforms requires PHP version 5.6.', 'bit-form'),
61 + esc_html__('Error Activating', 'bit-form')
51 62 );
52 63 }
53 64
54 65 do_action('bitforms_activation', $network_wide);
@@ -83,87 +94,4 @@
83 94
84 95 do_action('bitforms_uninstall');
85 96 }
86 97 register_uninstall_hook(__FILE__, 'bitforms_uninstall_plugin');
87 -
88 -add_action('plugins_loaded', 'bitforms_check_pro_version');
89 -
90 -function bitforms_check_pro_version()
91 -{
92 - if (!defined('BITFORMPRO_VERSION')) {
93 - return;
94 - }
95 - if (!version_compare(BITFORMPRO_VERSION, BITFORMS_REQUIRED_BITFORMPRO_VERSION, '>=')) {
96 - add_action('admin_notices', 'bitformsProUpgradeNotice');
97 - }
98 -}
99 -
100 -function bitformsProUpgradeNotice()
101 -{
102 - // user meta calls safe here — admin_notices fires well after user initialisation
103 - $dismissed_for = get_user_meta(get_current_user_id(), 'bitforms_dismiss_pro_upgrade_notice', true);
104 - if (BITFORMS_REQUIRED_BITFORMPRO_VERSION === $dismissed_for) {
105 - return;
106 - }
107 -
108 - // "Update now" triggers WordPress core's native plugin-update flow (Plugin_Upgrader:
109 - // maintenance mode, filesystem creds, rollback UI) for users who can update plugins.
110 - // Others fall back to the filtered Plugins screen. The update itself is staged into the
111 - // update_plugins transient by Bit Form Pro's own Updater.
112 - $pro_plugin_file = 'bitformpro/bitformpro.php';
113 - if (current_user_can('update_plugins')) {
114 - $update_url = wp_nonce_url(
115 - self_admin_url('update.php?action=upgrade-plugin&plugin=' . $pro_plugin_file),
116 - 'upgrade-plugin_' . $pro_plugin_file
117 - );
118 - } else {
119 - // Users who cannot update plugins: send them to the Updates screen with a forced
120 - // refresh so Bit Form Pro's Updater re-checks and stages the update for detection.
121 - $update_url = self_admin_url('update-core.php?force-check=1');
122 - }
123 - $required = esc_html(BITFORMS_REQUIRED_BITFORMPRO_VERSION);
124 -
125 - // Keep HTML out of translatable strings to prevent translator HTML injection
126 - $message = '<strong>' . esc_html__('Bit Form Pro', 'bit-form') . '</strong> '
127 - . sprintf(
128 - /* translators: %s: minimum required version number */
129 - esc_html__('requires an update to version %s or higher for full compatibility.', 'bit-form'),
130 - '<strong>' . $required . '</strong>'
131 - )
132 - . ' <a href="' . esc_url($update_url) . '">' . esc_html__('Update now', 'bit-form') . '</a>';
133 -
134 - wp_admin_notice(
135 - $message,
136 - [
137 - 'type' => 'error',
138 - 'dismissible' => true,
139 - 'additional_classes' => ['bitforms-pro-upgrade-notice'],
140 - 'attributes' => [
141 - 'data-nonce' => wp_create_nonce('bitforms_dismiss_pro_notice'),
142 - 'data-ajax-url' => esc_url(admin_url('admin-ajax.php')),
143 - ],
144 - 'paragraph_wrap' => true,
145 - ]
146 - );
147 -
148 - // Script at footer — avoids mid-page inline script
149 - add_action('admin_footer', 'bitformsProUpgradeNoticeScript');
150 -}
151 -
152 -function bitformsProUpgradeNoticeScript()
153 -{
154 - ?>
155 - <script>
156 - (function () {
157 - var notice = document.querySelector('.bitforms-pro-upgrade-notice');
158 - if (!notice) return;
159 - notice.addEventListener('click', function (e) {
160 - if (!e.target.classList.contains('notice-dismiss')) return;
161 - var fd = new FormData();
162 - fd.append('action', 'bitforms_dismiss_pro_notice');
163 - fd.append('nonce', notice.dataset.nonce);
164 - fetch(notice.dataset.ajaxUrl, { method: 'POST', credentials: 'same-origin', body: fd });
165 - });
166 - }());
167 - </script>
168 - <?php
169 -}