PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.32
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.32
6.35 6.34 6.33.1 6.33 6.32.1 6.32 6.31 6.25 6.25.1 6.26 6.26.1 6.27 6.28 6.29 6.3 6.3.1 6.3.2 6.30 6.4 6.4.1 6.4.2 6.5 6.5.1 6.5.2 6.5.3 All 141 releases
← All changes | formidable.php +87 -35 6.36.32 View file →
@@ -1,14 +1,16 @@
1 1 <?php
2 -/*
3 -Plugin Name: Formidable Forms
4 -Description: Quickly and easily create drag-and-drop forms
5 -Version: 6.3
6 -Plugin URI: https://formidableforms.com/
7 -Author URI: https://formidableforms.com/
8 -Author: Strategy11 Form Builder Team
9 -Text Domain: formidable
10 -*/
2 +/**
3 + * Plugin Name: Formidable Forms
4 + * Description: Quickly and easily create drag-and-drop forms
5 + * Version: 6.32
6 + * Plugin URI: https://formidableforms.com/
7 + * Author URI: https://formidableforms.com/
8 + * Author: Strategy11 Form Builder Team
9 + * Text Domain: formidable
10 + *
11 + * @package Formidable
12 + */
11 13
12 14 /*
13 15 Copyright 2010 Formidable Forms
14 16
@@ -39,34 +41,37 @@
39 41 'pro_is_authorized' => false,
40 42 );
41 43
42 44 // For reverse compatibility. Load Pro if it's still nested.
43 - $frm_path = dirname( __FILE__ );
45 + $frm_path = __DIR__;
46 +
44 47 if ( file_exists( $frm_path . '/pro/formidable-pro.php' ) ) {
45 - include( $frm_path . '/pro/formidable-pro.php' );
48 + include $frm_path . '/pro/formidable-pro.php';
46 49 }
47 50
48 51 FrmHooksController::trigger_load_hook();
49 52 }
50 53
51 -// if __autoload is active, put it on the spl_autoload stack
52 -if ( is_array( spl_autoload_functions() ) && in_array( '__autoload', spl_autoload_functions() ) ) {
54 +// If __autoload is active, put it on the spl_autoload stack.
55 +if ( is_array( spl_autoload_functions() ) && in_array( '__autoload', spl_autoload_functions(), true ) ) {
53 56 spl_autoload_register( '__autoload' );
54 57 }
55 58
56 -// Add the autoloader
59 +// Add the autoloader.
57 60 spl_autoload_register( 'frm_forms_autoloader' );
58 61
59 62 /**
63 + * @param string $class_name Class name.
64 + *
60 65 * @return void
61 66 */
62 67 function frm_forms_autoloader( $class_name ) {
63 - // Only load Frm classes here
68 + // Only load Frm classes here.
64 69 if ( ! preg_match( '/^Frm.+$/', $class_name ) || preg_match( '/^FrmPro.+$/', $class_name ) ) {
65 70 return;
66 71 }
67 72
68 - frm_class_autoloader( $class_name, dirname( __FILE__ ) );
73 + frm_class_autoloader( $class_name, __DIR__ );
69 74 }
70 75
71 76 /**
72 77 * Autoload the Formidable and Pro classes
@@ -72,44 +77,91 @@
72 77 * Autoload the Formidable and Pro classes
73 78 *
74 79 * @since 3.0
75 80 *
81 + * @param string $class_name Class name.
82 + * @param string $filepath File path.
83 + *
76 84 * @return void
77 85 */
78 86 function frm_class_autoloader( $class_name, $filepath ) {
79 - $deprecated = array( 'FrmEntryFormat', 'FrmPointers', 'FrmEDD_SL_Plugin_Updater' );
80 - $is_deprecated = in_array( $class_name, $deprecated ) || preg_match( '/^.+Deprecate/', $class_name );
87 + $original_filepath = $filepath;
88 + $filepath .= '/classes/';
81 89
82 - if ( $is_deprecated ) {
83 - $filepath .= '/deprecated/';
90 + if ( preg_match( '/^.+Helper$/', $class_name ) ) {
91 + $filepath .= 'helpers/';
92 + } elseif ( preg_match( '/^.+Controller$/', $class_name ) ) {
93 + $filepath .= 'controllers/';
94 + } elseif ( preg_match( '/^.+Factory$/', $class_name ) ) {
95 + $filepath .= 'factories/';
96 + } elseif ( preg_match( '/^.+StyleComponent$/', $class_name ) ) {
97 + $filepath .= 'views/styles/components/';
84 98 } else {
85 - $filepath .= '/classes/';
86 - if ( preg_match( '/^.+Helper$/', $class_name ) ) {
87 - $filepath .= 'helpers/';
88 - } else if ( preg_match( '/^.+Controller$/', $class_name ) ) {
89 - $filepath .= 'controllers/';
90 - } else if ( preg_match( '/^.+Factory$/', $class_name ) ) {
91 - $filepath .= 'factories/';
92 - } else {
93 - $filepath .= 'models/';
94 - if ( strpos( $class_name, 'Field' ) && ! file_exists( $filepath . $class_name . '.php' ) ) {
95 - $filepath .= 'fields/';
96 - }
99 + $filepath .= 'models/';
100 +
101 + if ( str_contains( $class_name, 'Field' ) && ! file_exists( $filepath . $class_name . '.php' ) ) {
102 + $filepath .= 'fields/';
97 103 }
98 104 }
99 105
106 + if ( file_exists( $filepath . $class_name . '.php' ) ) {
107 + require $filepath . $class_name . '.php';
108 + return;
109 + }
110 +
111 + $filepath = $original_filepath;
112 +
113 + if ( preg_match( '/^FrmStrpLite.+$/', $class_name ) || preg_match( '/^FrmTransLite.+$/', $class_name ) ) {
114 + // Autoload for /stripe/ folder.
115 + $filepath .= '/stripe/';
116 + } elseif ( preg_match( '/^FrmSquareLite.+$/', $class_name ) ) {
117 + $filepath .= '/square/';
118 + } elseif ( preg_match( '/^FrmPayPalLite.+$/', $class_name ) ) {
119 + $filepath .= '/paypal/';
120 + } else {
121 + return;
122 + }
123 +
124 + if ( preg_match( '/^.+Helper$/', $class_name ) ) {
125 + $filepath .= 'helpers/';
126 + } elseif ( preg_match( '/^.+Controller$/', $class_name ) ) {
127 + $filepath .= 'controllers/';
128 + } else {
129 + $filepath .= 'models/';
130 + }
131 +
100 132 $filepath .= $class_name . '.php';
101 133
102 134 if ( file_exists( $filepath ) ) {
103 - require( $filepath );
135 + require $filepath;
104 136 }
105 137 }
106 138
107 139 add_action( 'activate_' . FrmAppHelper::plugin_folder() . '/formidable.php', 'frm_maybe_install' );
140 +
108 141 /**
142 + * This function is triggered when Formidable is activated.
143 + *
109 144 * @return void
110 145 */
111 146 function frm_maybe_install() {
112 - if ( get_transient( FrmWelcomeController::$option_name ) !== 'no' ) {
113 - set_transient( FrmWelcomeController::$option_name, FrmWelcomeController::$menu_slug, 60 );
147 + if ( get_transient( FrmOnboardingWizardController::TRANSIENT_NAME ) !== 'no' ) {
148 + set_transient(
149 + FrmOnboardingWizardController::TRANSIENT_NAME,
150 + FrmOnboardingWizardController::TRANSIENT_VALUE,
151 + 60
152 + );
114 153 }
154 +
155 + FrmAppController::handle_activation();
115 156 }
157 +
158 +register_deactivation_hook(
159 + __FILE__,
160 + function () {
161 + if ( ! class_exists( 'FrmCronController', false ) ) {
162 + require_once __DIR__ . '/classes/controllers/FrmCronController.php';
163 + }
164 +
165 + FrmCronController::remove_crons();
166 + }
167 +);