PluginProbe
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz / 2.12.7
SureForms – Contact Form Builder, AI Forms, Payment Form, Survey & Quiz v2.12.7
2.12.7 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 All 97 releases
← All changes | plugin-loader.php +29 -4 2.8.22.12.7 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;
@@ -28,16 +36,21 @@
28 36 use SRFM\Inc\Events_Scheduler;
29 37 use SRFM\Inc\Export;
30 38 use SRFM\Inc\Form_Restriction;
31 39 use SRFM\Inc\Form_Submit;
40 +use SRFM\Inc\Form_Views;
32 41 use SRFM\Inc\Forms_Data;
33 42 use SRFM\Inc\Frontend_Assets;
34 43 use SRFM\Inc\Generate_Form_Markup;
35 44 use SRFM\Inc\Global_Settings\Email_Summary;
36 45 use SRFM\Inc\Global_Settings\Global_Settings;
46 +use SRFM\Inc\Global_Settings\Global_Settings_Defaults;
37 47 use SRFM\Inc\Gutenberg_Hooks;
38 48 use SRFM\Inc\Helper;
39 49 use SRFM\Inc\Learn;
50 +// region: form-migration — Phase P1 foundation.
51 +use SRFM\Inc\Migrator\Bootstrap as Migrator_Bootstrap;
52 +// endregion: form-migration.
40 53 use SRFM\Inc\Onboarding;
41 54 use SRFM\Inc\Page_Builders\Page_Builders;
42 55 use SRFM\Inc\Payments\Payments;
43 56 use SRFM\Inc\Post_Types;
@@ -42,15 +55,12 @@
42 55 use SRFM\Inc\Payments\Payments;
43 56 use SRFM\Inc\Post_Types;
44 57 use SRFM\Inc\Rest_Api;
45 58 use SRFM\Inc\Single_Form_Settings\Compliance_Settings;
59 +use SRFM\Inc\Single_Form_Settings\Form_Settings_Api;
46 60 use SRFM\Inc\Smart_Tags;
47 61 use SRFM\Inc\Updater;
48 62
49 -if ( ! defined( 'ABSPATH' ) ) {
50 - exit; // Exit if accessed directly.
51 -}
52 -
53 63 /**
54 64 * Plugin_Loader
55 65 *
56 66 * @since 0.0.1
@@ -214,8 +224,13 @@
214 224 // phpcs:ignore /** @phpstan-ignore-next-line */ -- Class is loaded dynamically in WordPress
215 225 Notice_Manager::get_instance();
216 226 Editor_Nudge::get_instance();
217 227 }
228 + // Always instantiate — script enqueue is self-gated by `allow_load()`,
229 + // while the REST endpoint for converting HTML forms must register
230 + // outside the admin context (REST dispatch runs with `is_admin()` ===
231 + // false, so admin-only instantiation would 404 the endpoint).
232 + Html_Form_Detector::get_instance();
218 233 Payments::get_instance();
219 234 Duplicate_Form::get_instance();
220 235 Learn::get_instance();
221 236 }
@@ -269,8 +284,9 @@
269 284 // Look in local /wp-content/plugins/sureforms/languages/ folder.
270 285 load_textdomain( 'sureforms', $mofile_local );
271 286 } else {
272 287 // Load the default language files.
288 + // phpcs:ignore PluginCheck.CodeAnalysis.DiscouragedFunctions.load_plugin_textdomainFound -- Fallback when no global/local .mo override is present.
273 289 load_plugin_textdomain( 'sureforms', false, $lang_dir );
274 290 }
275 291 }
276 292
@@ -289,15 +305,18 @@
289 305 Helper::get_instance();
290 306 Activator::get_instance();
291 307 Admin_Ajax::get_instance();
292 308 Forms_Data::get_instance();
309 + Form_Views::get_instance();
293 310 Export::get_instance();
294 311 Smart_Tags::get_instance();
295 312 Generate_Form_Markup::get_instance();
296 313 Create_New_Form::get_instance();
297 314 Global_Settings::get_instance();
315 + Global_Settings_Defaults::get_instance();
298 316 Email_Summary::get_instance();
299 317 Compliance_Settings::get_instance();
318 + Form_Settings_Api::get_instance();
300 319 Events_Scheduler::get_instance();
301 320 AI_Form_Builder::get_instance();
302 321 Field_Mapping::get_instance();
303 322 Background_Process::get_instance();
@@ -302,8 +321,11 @@
302 321 Field_Mapping::get_instance();
303 322 Background_Process::get_instance();
304 323 Page_Builders::get_instance();
305 324 Rest_Api::get_instance();
325 + // region: form-migration — Phase P1 foundation.
326 + Migrator_Bootstrap::get_instance();
327 + // endregion: form-migration.
306 328 AI_Helper::get_instance();
307 329 AI_Auth::get_instance();
308 330 Updater::get_instance();
309 331 Onboarding::get_instance();
@@ -311,8 +333,11 @@
311 333 Form_Restriction::get_instance();
312 334 Abilities_Registrar::get_instance();
313 335 // Initializing Compatibilities.
314 336 Astra::get_instance();
337 + Multilingual_Manager::get_instance();
338 + String_Collector::get_instance();
339 + String_Backfill::get_instance();
315 340
316 341 /**
317 342 * Load core files necessary for the Spectra block.
318 343 * This method is called in the Spectra block loader to ensure core files are loaded during the 'plugins_loaded' action.