PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 2.12.4
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v2.12.4
2.12.6 2.12.5 2.12.4 2.12.3 2.12.2 2.12.1 2.12.0 2.11.1 2.11.0 2.10.1 2.10.0 2.9.1 2.9.0 2.8.2 2.8.1 2.7.0 2.7.1 2.8.0 trunk 0.0.10 0.0.11 0.0.12 0.0.13 0.0.2 0.0.3 All 96 releases
← All changes | plugin-loader.php +23 -4 2.9.02.12.4 View file →
@@ -7,8 +7,12 @@
7 7 */
8 8
9 9 namespace SRFM;
10 10
11 +if ( ! defined( 'ABSPATH' ) ) {
12 + exit; // Exit if accessed directly.
13 +}
14 +
11 15 use SRFM\Admin\Admin;
12 16 use SRFM\Admin\Analytics;
13 17 use SRFM\Admin\Notice_Manager;
14 18 use SRFM\Inc\Abilities\Abilities_Registrar;
@@ -13,8 +17,9 @@
13 17 use SRFM\Admin\Notice_Manager;
14 18 use SRFM\Inc\Abilities\Abilities_Registrar;
15 19 use SRFM\Inc\Activator;
16 20 use SRFM\Inc\Admin\Editor_Nudge;
21 +use SRFM\Inc\Admin\Html_Form_Detector;
17 22 use SRFM\Inc\Admin_Ajax;
18 23 use SRFM\Inc\AI_Form_Builder\AI_Auth;
19 24 use SRFM\Inc\AI_Form_Builder\AI_Form_Builder;
20 25 use SRFM\Inc\AI_Form_Builder\AI_Helper;
@@ -20,8 +25,11 @@
20 25 use SRFM\Inc\AI_Form_Builder\AI_Helper;
21 26 use SRFM\Inc\AI_Form_Builder\Field_Mapping;
22 27 use SRFM\Inc\Background_Process;
23 28 use SRFM\Inc\Blocks\Register;
29 +use SRFM\Inc\Compatibility\Multilingual\Multilingual_Manager;
30 +use SRFM\Inc\Compatibility\Multilingual\String_Backfill;
31 +use SRFM\Inc\Compatibility\Multilingual\String_Collector;
24 32 use SRFM\Inc\Compatibility\Themes\Astra;
25 33 use SRFM\Inc\Create_New_Form;
26 34 use SRFM\Inc\Database\Register as DatabaseRegister;
27 35 use SRFM\Inc\Duplicate_Form;
@@ -37,8 +45,11 @@
37 45 use SRFM\Inc\Global_Settings\Global_Settings_Defaults;
38 46 use SRFM\Inc\Gutenberg_Hooks;
39 47 use SRFM\Inc\Helper;
40 48 use SRFM\Inc\Learn;
49 +// region: form-migration — Phase P1 foundation.
50 +use SRFM\Inc\Migrator\Bootstrap as Migrator_Bootstrap;
51 +// endregion: form-migration.
41 52 use SRFM\Inc\Onboarding;
42 53 use SRFM\Inc\Page_Builders\Page_Builders;
43 54 use SRFM\Inc\Payments\Payments;
44 55 use SRFM\Inc\Post_Types;
@@ -47,12 +58,8 @@
47 58 use SRFM\Inc\Single_Form_Settings\Form_Settings_Api;
48 59 use SRFM\Inc\Smart_Tags;
49 60 use SRFM\Inc\Updater;
50 61
51 -if ( ! defined( 'ABSPATH' ) ) {
52 - exit; // Exit if accessed directly.
53 -}
54 -
55 62 /**
56 63 * Plugin_Loader
57 64 *
58 65 * @since 0.0.1
@@ -216,8 +223,13 @@
216 223 // phpcs:ignore /** @phpstan-ignore-next-line */ -- Class is loaded dynamically in WordPress
217 224 Notice_Manager::get_instance();
218 225 Editor_Nudge::get_instance();
219 226 }
227 + // Always instantiate — script enqueue is self-gated by `allow_load()`,
228 + // while the REST endpoint for converting HTML forms must register
229 + // outside the admin context (REST dispatch runs with `is_admin()` ===
230 + // false, so admin-only instantiation would 404 the endpoint).
231 + Html_Form_Detector::get_instance();
220 232 Payments::get_instance();
221 233 Duplicate_Form::get_instance();
222 234 Learn::get_instance();
223 235 }
@@ -271,8 +283,9 @@
271 283 // Look in local /wp-content/plugins/sureforms/languages/ folder.
272 284 load_textdomain( 'sureforms', $mofile_local );
273 285 } else {
274 286 // Load the default language files.
287 + // phpcs:ignore PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound -- Fallback when no global/local .mo override is present.
275 288 load_plugin_textdomain( 'sureforms', false, $lang_dir );
276 289 }
277 290 }
278 291
@@ -306,8 +319,11 @@
306 319 Field_Mapping::get_instance();
307 320 Background_Process::get_instance();
308 321 Page_Builders::get_instance();
309 322 Rest_Api::get_instance();
323 + // region: form-migration — Phase P1 foundation.
324 + Migrator_Bootstrap::get_instance();
325 + // endregion: form-migration.
310 326 AI_Helper::get_instance();
311 327 AI_Auth::get_instance();
312 328 Updater::get_instance();
313 329 Onboarding::get_instance();
@@ -315,8 +331,11 @@
315 331 Form_Restriction::get_instance();
316 332 Abilities_Registrar::get_instance();
317 333 // Initializing Compatibilities.
318 334 Astra::get_instance();
335 + Multilingual_Manager::get_instance();
336 + String_Collector::get_instance();
337 + String_Backfill::get_instance();
319 338
320 339 /**
321 340 * Load core files necessary for the Spectra block.
322 341 * This method is called in the Spectra block loader to ensure core files are loaded during the 'plugins_loaded' action.