PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 4.04.05
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v4.04.05
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
formidable / classes / controllers / FrmHooksController.php

FrmHooksController.php in Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More 4.04.05, at classes/controllers/FrmHooksController.php

224 lines 9.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 class FrmHooksController {
4
5 /**
6 * Trigger plugin-wide hook loading
7 */
8 public static function trigger_load_hook( $hooks = 'load_hooks' ) {
9 $controllers = apply_filters( 'frm_load_controllers', array( 'FrmHooksController' ) );
10
11 $trigger_hooks = $hooks;
12 $hooks = (array) $hooks;
13
14 if ( 'load_hooks' == $trigger_hooks ) {
15 if ( is_admin() ) {
16 $hooks[] = 'load_admin_hooks';
17 if ( defined( 'DOING_AJAX' ) ) {
18 $hooks[] = 'load_ajax_hooks';
19 $hooks[] = 'load_form_hooks';
20 }
21 }
22
23 if ( is_multisite() ) {
24 $hooks[] = 'load_multisite_hooks';
25 }
26 } else {
27 // Make sure the hooks are only triggered once.
28 add_filter( 'frm' . str_replace( 'load', '', $trigger_hooks ) . '_loaded', '__return_true' );
29 }
30 unset( $trigger_hooks );
31
32 // Instansiate Controllers.
33 foreach ( $controllers as $c ) {
34 foreach ( $hooks as $hook ) {
35 call_user_func( array( $c, $hook ) );
36 unset( $hook );
37 }
38 unset( $c );
39 }
40
41 }
42
43 public static function trigger_load_form_hooks() {
44 self::trigger_load_hook( 'load_form_hooks' );
45 }
46
47 public static function load_hooks() {
48 add_action( 'rest_api_init', 'FrmAppController::create_rest_routes', 0 );
49 add_action( 'plugins_loaded', 'FrmAppController::load_lang' );
50 add_filter( 'widget_text', 'do_shortcode' );
51
52 // Entries controller.
53 add_action( 'wp_loaded', 'FrmEntriesController::process_entry', 10, 0 );
54 add_action( 'frm_after_entry_processed', 'FrmEntriesController::delete_entry_after_save', 100 );
55
56 // Form Actions Controller.
57 add_action( 'init', 'FrmFormActionsController::register_post_types', 1 );
58 add_action( 'frm_after_create_entry', 'FrmFormActionsController::trigger_create_actions', 20, 3 );
59
60 // Forms Controller.
61 add_action( 'widgets_init', 'FrmFormsController::register_widgets' );
62 add_action( 'init', 'FrmFormsController::front_head' );
63 add_filter( 'frm_content', 'FrmFormsController::filter_content', 10, 3 );
64 add_filter( 'frm_replace_content_shortcodes', 'FrmFormsController::replace_content_shortcodes', 20, 3 );
65 add_action( 'admin_bar_init', 'FrmFormsController::admin_bar_css' );
66 add_action( 'wp_footer', 'FrmFormsController::footer_js', 1, 0 );
67
68 add_action( 'wp_scheduled_delete', 'FrmForm::scheduled_delete' );
69
70 // Form Shortcodes.
71 add_shortcode( 'formidable', 'FrmFormsController::get_form_shortcode' );
72
73 // Styles Controller.
74 add_action( 'init', 'FrmStylesController::register_post_types', 0 );
75 add_filter( 'frm_get_style_opts', 'FrmStylesController::get_style_opts' );
76 add_filter( 'frm_add_form_style_class', 'FrmStylesController::get_form_style_class', 10, 2 );
77 add_filter( 'frm_show_entry_styles', 'FrmStylesController::show_entry_styles' );
78
79 // Simple Blocks Controller.
80 add_action( 'init', 'FrmSimpleBlocksController::register_simple_form_block' );
81
82 add_filter( 'cron_schedules', 'FrmUsageController::add_schedules' );
83 add_action( 'formidable_send_usage', 'FrmUsageController::send_snapshot' );
84 }
85
86 public static function load_admin_hooks() {
87 add_action( 'admin_menu', 'FrmAppController::menu', 1 );
88 add_filter( 'admin_body_class', 'FrmAppController::add_admin_class', 999 );
89 add_action( 'admin_enqueue_scripts', 'FrmAppController::load_wp_admin_style' );
90 add_action( 'admin_notices', 'FrmAppController::pro_get_started_headline' );
91 add_action( 'admin_init', 'FrmAppController::admin_init', 11 );
92 add_filter( 'plugin_action_links_' . FrmAppHelper::plugin_folder() . '/formidable.php', 'FrmAppController::settings_link' );
93 add_filter( 'admin_footer_text', 'FrmAppController::set_footer_text' );
94 add_action( 'wp_ajax_frm_dismiss_review', 'FrmAppController::dismiss_review' );
95
96 // Addons Controller.
97 add_action( 'admin_menu', 'FrmAddonsController::menu', 100 );
98 add_filter( 'pre_set_site_transient_update_plugins', 'FrmAddonsController::check_update' );
99
100 // Entries Controller.
101 add_action( 'admin_menu', 'FrmEntriesController::menu', 12 );
102 add_filter( 'set-screen-option', 'FrmEntriesController::save_per_page', 10, 3 );
103 add_filter( 'update_user_metadata', 'FrmEntriesController::check_hidden_cols', 10, 5 );
104 add_action( 'updated_user_meta', 'FrmEntriesController::update_hidden_cols', 10, 4 );
105
106 // Form Actions Controller.
107 if ( FrmAppHelper::is_admin_page( 'formidable' ) ) {
108 add_action( 'frm_before_update_form_settings', 'FrmFormActionsController::update_settings' );
109 }
110 add_action( 'frm_after_duplicate_form', 'FrmFormActionsController::duplicate_form_actions', 20, 3 );
111
112 // Forms Controller.
113 add_action( 'admin_menu', 'FrmFormsController::menu', 10 );
114 add_action( 'admin_head-toplevel_page_formidable', 'FrmFormsController::head' );
115
116 add_filter( 'set-screen-option', 'FrmFormsController::save_per_page', 10, 3 );
117 add_action( 'admin_footer', 'FrmFormsController::insert_form_popup' );
118 add_action( 'media_buttons', 'FrmFormsController::insert_form_button' );
119 add_action( 'et_pb_admin_excluded_shortcodes', 'FrmFormsController::prevent_divi_conflict' );
120
121 // Forms Model.
122 add_action( 'frm_after_duplicate_form', 'FrmForm::after_duplicate', 10, 2 );
123
124 // Settings Controller.
125 add_action( 'admin_menu', 'FrmSettingsController::menu', 45 );
126 add_action( 'frm_before_settings', 'FrmSettingsController::license_box' );
127 add_action( 'frm_after_settings', 'FrmSettingsController::settings_cta' );
128 add_action( 'wp_ajax_frm_settings_tab', 'FrmSettingsController::load_settings_tab' );
129 add_action( 'wp_ajax_frm_page_search', 'FrmSettingsController::page_search' );
130
131 // Styles Controller.
132 add_action( 'admin_menu', 'FrmStylesController::menu', 14 );
133 add_action( 'admin_init', 'FrmStylesController::admin_init' );
134
135 // XML Controller.
136 add_action( 'admin_menu', 'FrmXMLController::menu', 41 );
137
138 // Simple Blocks Controller.
139 add_action( 'enqueue_block_editor_assets', 'FrmSimpleBlocksController::block_editor_assets' );
140
141 add_action( 'admin_init', 'FrmUsageController::schedule_send' );
142
143 add_action( 'wp_ajax_frm_dismiss_migrator', 'FrmFormMigratorsHelper::dismiss_migrator' );
144
145 FrmSMTPController::load_hooks();
146 }
147
148 public static function load_ajax_hooks() {
149 add_action( 'wp_ajax_frm_install', 'FrmAppController::ajax_install' );
150 add_action( 'wp_ajax_frm_uninstall', 'FrmAppController::uninstall' );
151 add_action( 'wp_ajax_frm_deauthorize', 'FrmAppController::deauthorize' );
152
153 // Addons.
154 add_action( 'wp_ajax_frm_addon_activate', 'FrmAddon::activate' );
155 add_action( 'wp_ajax_frm_addon_deactivate', 'FrmAddon::deactivate' );
156 add_action( 'wp_ajax_frm_install_addon', 'FrmAddonsController::ajax_install_addon' );
157 add_action( 'wp_ajax_frm_activate_addon', 'FrmAddonsController::ajax_activate_addon' );
158 add_action( 'wp_ajax_frm_connect', 'FrmAddonsController::connect_pro' );
159
160 // Fields Controller.
161 add_action( 'wp_ajax_frm_load_field', 'FrmFieldsController::load_field' );
162 add_action( 'wp_ajax_frm_insert_field', 'FrmFieldsController::create' );
163 add_action( 'wp_ajax_frm_duplicate_field', 'FrmFieldsController::duplicate' );
164 add_action( 'wp_ajax_frm_delete_field', 'FrmFieldsController::destroy' );
165 add_action( 'wp_ajax_frm_import_options', 'FrmFieldsController::import_options' );
166
167 // Form Actions Controller.
168 add_action( 'wp_ajax_frm_add_form_action', 'FrmFormActionsController::add_form_action' );
169 add_action( 'wp_ajax_frm_form_action_fill', 'FrmFormActionsController::fill_action' );
170
171 // Forms Controller.
172 add_action( 'wp_ajax_frm_save_form', 'FrmFormsController::route' );
173 add_action( 'wp_ajax_frm_get_default_html', 'FrmFormsController::get_email_html' );
174 add_action( 'wp_ajax_frm_get_shortcode_opts', 'FrmFormsController::get_shortcode_opts' );
175 add_action( 'wp_ajax_frm_forms_preview', 'FrmFormsController::preview' );
176 add_action( 'wp_ajax_nopriv_frm_forms_preview', 'FrmFormsController::preview' );
177 add_action( 'wp_ajax_frm_forms_trash', 'FrmFormsController::ajax_trash' );
178 add_action( 'wp_ajax_frm_install_form', 'FrmFormsController::build_new_form' );
179 add_action( 'wp_ajax_frm_build_template', 'FrmFormsController::build_template' );
180
181 // Settings.
182 add_action( 'wp_ajax_frm_lite_settings_upgrade', 'FrmSettingsController::settings_cta_dismiss' );
183
184 // Styles Controller.
185 add_action( 'wp_ajax_frm_settings_reset', 'FrmStylesController::reset_styling' );
186 add_action( 'wp_ajax_frm_change_styling', 'FrmStylesController::change_styling' );
187 add_action( 'wp_ajax_frmpro_load_css', 'FrmStylesController::load_css' );
188 add_action( 'wp_ajax_nopriv_frmpro_load_css', 'FrmStylesController::load_css' );
189 add_action( 'wp_ajax_frmpro_css', 'FrmStylesController::load_saved_css' );
190 add_action( 'wp_ajax_nopriv_frmpro_css', 'FrmStylesController::load_saved_css' );
191
192 // XML Controller.
193 add_action( 'wp_ajax_frm_install_template', 'FrmXMLController::install_template' );
194 add_action( 'wp_ajax_frm_entries_csv', 'FrmXMLController::csv' );
195 add_action( 'wp_ajax_nopriv_frm_entries_csv', 'FrmXMLController::csv' );
196 add_action( 'wp_ajax_frm_export_xml', 'FrmXMLController::export_xml' );
197 }
198
199 public static function load_form_hooks() {
200 // Fields Controller.
201 add_filter( 'frm_field_type', 'FrmFieldsController::change_type' );
202 add_action( 'frm_field_input_html', 'FrmFieldsController::input_html' );
203 add_filter( 'frm_field_value_saved', 'FrmFieldsController::check_value', 50, 3 );
204 add_filter( 'frm_field_label_seen', 'FrmFieldsController::check_label' );
205
206 // Forms Controller.
207 add_filter( 'frm_form_classes', 'FrmFormsController::form_classes' );
208
209 // Styles Controller.
210 add_filter( 'frm_use_important_width', 'FrmStylesController::important_style', 10, 2 );
211 }
212
213 public static function load_view_hooks() {
214 // Hooks go here when a view is loaded.
215 }
216
217 public static function load_multisite_hooks() {
218 add_action( 'wpmu_upgrade_site', 'FrmAppController::network_upgrade_site' );
219
220 // Drop tables when mu site is deleted.
221 add_filter( 'wpmu_drop_tables', 'FrmAppController::drop_tables' );
222 }
223 }
224