PluginProbe ʕ •ᴥ•ʔ
JetFormBuilder — Dynamic Blocks Form Builder / 2.1.10
JetFormBuilder — Dynamic Blocks Form Builder v2.1.10
3.6.3.1 3.6.3 3.6.2.2 3.6.2.1 3.6.2 3.6.1.1 3.6.1 3.6.0.1 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.1.2 1.1.3 1.1.4 1.1.5 1.1.6 1.1.7 1.2.0 1.2.1 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.3.0 1.3.1 1.3.2 1.3.3 1.4.0 1.4.1 1.4.2 1.4.3 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 2.0.0 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.1.0 2.1.1 2.1.10 2.1.11 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 3.0.0 3.0.0.1 3.0.0.2 3.0.0.3 3.0.1 3.0.1.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.0.9 3.1.0 3.1.0.1 3.1.1 3.1.2 3.1.3 3.1.4 3.1.5 3.1.6 3.1.7 3.1.8 3.1.9 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.3.2 3.3.3 3.3.3.1 3.3.4 3.3.4.1 3.3.4.2 3.4.0 3.4.1 3.4.2 3.4.3 3.4.4 3.4.5 3.4.5.1 3.4.5.2 3.4.6 3.4.7 3.4.7.1 3.5.0 3.5.1 3.5.1.1 3.5.1.2 3.5.2 3.5.2.1 3.5.3 3.5.4 3.5.5 3.5.6 3.5.6.1 3.5.6.2 3.5.6.3 3.6.0
jetformbuilder / includes / plugin.php
jetformbuilder / includes Last commit date
actions 3 years ago addons 3 years ago admin 3 years ago blocks 3 years ago classes 3 years ago compatibility 3 years ago db-queries 3 years ago dev-mode 3 years ago exceptions 3 years ago form-actions 3 years ago form-messages 3 years ago form-patterns 3 years ago form-response 3 years ago gateways 3 years ago generators 3 years ago integrations 3 years ago migrations 3 years ago presets 3 years ago request 3 years ago rest-api 3 years ago shortcodes 3 years ago widgets 3 years ago wp-cli 3 years ago autoloader.php 3 years ago file-upload.php 3 years ago form-break.php 3 years ago form-handler.php 3 years ago form-manager.php 3 years ago live-form.php 3 years ago plugin.php 3 years ago post-type.php 3 years ago
plugin.php
226 lines
1 <?php
2
3 namespace Jet_Form_Builder;
4
5 // If this file is called directly, abort.
6 use Jet_Form_Builder\Actions\Manager as ActionsManager;
7 use Jet_Form_Builder\Admin\Pages\Pages_Manager;
8 use Jet_Form_Builder\Admin\Tabs_Handlers\Tab_Handler_Manager;
9 use Jet_Form_Builder\Blocks\Manager as BlocksManager;
10 use Jet_Form_Builder\Compatibility\Jet_Engine\Jet_Engine;
11 use Jet_Form_Builder\Compatibility\Woocommerce\Woocommerce;
12 use Jet_Form_Builder\Form_Actions\Form_Actions_Manager;
13 use Jet_Form_Builder\Form_Messages;
14 use Jet_Form_Builder\Form_Patterns\Manager as PatternsManager;
15 use Jet_Form_Builder\Framework\CX_Loader;
16 use Jet_Form_Builder\Gateways\Gateway_Manager;
17 use Jet_Form_Builder\Integrations\Active_Campaign\Active_Campaign;
18 use Jet_Form_Builder\Integrations\Forms_Captcha;
19 use Jet_Form_Builder\Addons\Manager as AddonsManager;
20 use Jet_Form_Builder\Presets\Preset_Manager;
21 use Jet_Form_Builder\Widgets\Elementor_Controller;
22 use Jet_Form_Builder\Wp_Cli\Wp_Cli_Manager;
23 use Jet_Form_Builder\Migrations;
24
25 if ( ! defined( 'WPINC' ) ) {
26 die;
27 }
28
29 /**
30 * @property Post_Type $post_type
31 * @property BlocksManager $blocks
32 * @property ActionsManager $actions
33 * @property Form_Manager $form
34 * @property Form_Handler $form_handler
35 * @property Forms_Captcha $captcha
36 * @property Admin\Editor $editor
37 * @property AddonsManager $addons_manager
38 * @property \Jet_Admin_Bar $admin_bar
39 * @property Form_Messages\Msg_Router $msg_router
40 * Class Plugin
41 * @package Jet_Form_Builder
42 */
43 class Plugin {
44
45 public $post_type;
46 public $blocks;
47 public $actions;
48 public $form;
49 public $form_handler;
50 public $editor;
51 public $captcha;
52 public $allow_gateways;
53 public $framework;
54 public $addons_manager;
55 public $admin_bar;
56 public $msg_router;
57
58 public static $instance;
59
60 /**
61 * Instance.
62 *
63 * Ensures only one instance of the plugin class is loaded or can be loaded.
64 *
65 * @since 1.0.0
66 * @access public
67 * @static
68 */
69 public static function instance() {
70
71 if ( is_null( self::$instance ) ) {
72 self::$instance = new self();
73 }
74
75 return self::$instance;
76 }
77
78 public static function clear() {
79 self::$instance = null;
80 }
81
82 /**
83 * Register autoloader.
84 */
85 private function register_autoloader() {
86 require JET_FORM_BUILDER_PATH . 'includes' . DIRECTORY_SEPARATOR . 'autoloader.php';
87 Autoloader::run();
88 }
89
90 /**
91 * Initialize plugin parts
92 *
93 * @return void
94 */
95 public function init_components() {
96 $this->allow_gateways = apply_filters( 'jet-form-builder/allow-gateways', false );
97 $this->maybe_enable_gateways();
98
99 Woocommerce::register();
100 Jet_Engine::register();
101 Active_Campaign::register();
102
103 $this->admin_bar = \Jet_Admin_Bar::get_instance();
104 $this->msg_router = new Form_Messages\Msg_Router();
105 $this->post_type = new Post_Type();
106 $this->blocks = new Blocks\Manager();
107 $this->actions = new Actions\Manager();
108 $this->form = new Form_Manager();
109 $this->form_handler = new Form_Handler();
110 $this->captcha = new Forms_Captcha();
111 $this->addons_manager = new AddonsManager();
112
113 Dev_Mode\Manager::instance();
114 File_Upload::instance();
115 new Elementor_Controller();
116 ( new Migrations\Rest_Api\Controller() )->rest_api_init();
117
118 if ( is_admin() ) {
119 Preset_Manager::instance();
120
121 $this->editor = new Admin\Editor();
122 Pages_Manager::instance()->set_up();
123
124 new Form_Actions_Manager();
125 new PatternsManager();
126 } else {
127 $this->form_handler->call_form();
128 }
129 }
130
131 public function init_framework() {
132 require $this->plugin_dir( 'framework/loader.php' );
133
134 $this->framework = new CX_Loader(
135 array(
136 $this->plugin_dir( 'framework/vue-ui/cherry-x-vue-ui.php' ),
137 $this->plugin_dir( 'framework/admin-bar/jet-admin-bar.php' ),
138 )
139 );
140 }
141
142 public function maybe_enable_gateways() {
143 Tab_Handler_Manager::instance()->tab( 'payments-gateways' )->save_global_options();
144 $gateways = Tab_Handler_Manager::instance()->tab( 'payments-gateways' )->get_global_options();
145
146 if ( isset( $gateways['enable_test_mode'] ) ) {
147 add_filter(
148 'jet-form-builder/gateways/paypal/sandbox-mode',
149 function () use ( $gateways ) {
150 return $gateways['enable_test_mode'];
151 }
152 );
153 }
154
155 if ( isset( $gateways['use_gateways'] ) ) {
156 $this->allow_gateways = $gateways['use_gateways'];
157 }
158
159 Gateway_Manager::instance()->set_up();
160 }
161
162 /**
163 * Loads the translation files.
164 *
165 * @return void
166 * @since 1.0.0
167 * @access public
168 */
169 public function init_lang() {
170 load_plugin_textdomain(
171 'jet-form-builder',
172 false,
173 dirname( plugin_basename( JET_FORM_BUILDER__FILE__ ) ) . '/languages'
174 );
175 }
176
177 /**
178 * Returns url to file or dir inside plugin folder
179 *
180 * @param string $path Path inside plugin dir.
181 *
182 * @return string
183 */
184 public function plugin_url( $path = null ) {
185 return JET_FORM_BUILDER_URL . $path;
186 }
187
188 public function plugin_dir( $path = '' ) {
189 return JET_FORM_BUILDER_PATH . $path;
190 }
191
192 /**
193 * Returns plugin version
194 */
195 public function get_version() {
196 return JET_FORM_BUILDER_VERSION;
197 }
198
199 /**
200 * Plugin constructor.
201 */
202 private function __construct() {
203
204 $this->register_autoloader();
205 $this->init_lang();
206
207 add_action(
208 'after_setup_theme',
209 function () {
210 do_action( 'jet-form-builder/before-init' );
211
212 $this->init_components();
213
214 do_action( 'jet-form-builder/after-init' );
215 },
216 0
217 );
218
219 $this->init_framework();
220 Wp_Cli_Manager::register();
221 }
222
223 }
224
225 Plugin::instance();
226