PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / trunk
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More vtrunk
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 | classes/controllers/FrmHooksController.php +30 -7 6.26 → trunk View file →
@@ -12,14 +12,13 @@
12 12 *
13 13 * @return void
14 14 */
15 15 public static function trigger_load_hook( $hooks = 'load_hooks' ) {
16 - $controllers = apply_filters( 'frm_load_controllers', array( 'FrmHooksController' ) );
17 -
16 + $controllers = apply_filters( 'frm_load_controllers', array( 'FrmHooksController' ) );
18 17 $trigger_hooks = $hooks;
19 18 $hooks = (array) $hooks;
20 19
21 - if ( 'load_hooks' == $trigger_hooks ) {
20 + if ( 'load_hooks' === $trigger_hooks ) {
22 21 if ( is_admin() ) {
23 22 $hooks[] = 'load_admin_hooks';
24 23
25 24 if ( defined( 'DOING_AJAX' ) ) {
@@ -85,8 +84,15 @@
85 84 add_action( 'wp_footer', 'FrmHoneypot::maybe_print_honeypot_js', 99 );
86 85
87 86 add_action( 'wp_scheduled_delete', 'FrmForm::scheduled_delete' );
88 87
88 + // Clear embed posts transient when posts are updated.
89 + add_action( 'wp_insert_post', 'FrmFormsListHelper::maybe_clear_embed_posts_transient', 10, 3 );
90 + add_action( 'post_updated', 'FrmFormsListHelper::maybe_clear_embed_posts_transient_on_update', 10, 3 );
91 + add_action( 'trashed_post', 'FrmFormsListHelper::clear_embed_posts_transient_for_post' );
92 + add_action( 'untrashed_post', 'FrmFormsListHelper::clear_embed_posts_transient_for_post' );
93 + add_action( 'deleted_post', 'FrmFormsListHelper::clear_embed_posts_transient_for_post', 10, 2 );
94 +
89 95 // Form Shortcodes.
90 96 add_shortcode( 'formidable', 'FrmFormsController::get_form_shortcode' );
91 97
92 98 // Styles Controller.
@@ -97,9 +103,8 @@
97 103
98 104 // Simple Blocks Controller.
99 105 add_action( 'init', 'FrmSimpleBlocksController::register_simple_form_block' );
100 106
101 - add_filter( 'cron_schedules', 'FrmUsageController::add_schedules' );
102 107 add_action( 'formidable_send_usage', 'FrmUsageController::send_snapshot' );
103 108
104 109 /**
105 110 * Make name field work with View.
@@ -112,11 +117,26 @@
112 117
113 118 // Summary emails.
114 119 add_action( 'frm_daily_event', 'FrmEmailSummaryController::maybe_send_emails' );
115 120
121 + // Gated Content — daily cleanup of expired tokens.
122 + add_action( 'frm_daily_event', 'FrmGatedTokenHelper::cleanup_expired' );
123 +
124 + // Gated Content Controller.
125 + add_action( 'frm_trigger_gated_content_action', 'FrmGatedContentController::trigger', 10, 4 );
126 + // pre_get_posts: allows private posts into the query when a valid token is present.
127 + add_action( 'pre_get_posts', 'FrmGatedContentController::maybe_include_private_posts' );
128 + // 'wp' fires after WP::query_posts() so get_queried_object_id() is available.
129 + add_action( 'wp', 'FrmGatedContentController::maybe_unlock_post' );
130 + add_action( 'save_post_frm_form_actions', 'FrmGatedContentController::on_action_updated', 10, 3 );
131 + add_action( 'before_delete_post', 'FrmGatedContentController::on_action_deleted', 10, 2 );
132 + add_shortcode( 'frm_gated_content', 'FrmGatedContentShortcodeController::shortcode' );
133 + add_filter( 'frm_helper_shortcodes', 'FrmGatedContentController::add_shortcode_helper', 10, 3 );
134 +
116 135 FrmTransLiteHooksController::load_hooks();
117 136 FrmStrpLiteHooksController::load_hooks();
118 137 FrmSquareLiteHooksController::load_hooks();
138 + FrmPayPalLiteHooksController::load_hooks();
119 139
120 140 // GDPR
121 141 add_filter( 'frm_is_field_required', 'FrmFieldGdpr::force_required_field', 10, 2 );
122 142 }
@@ -147,16 +167,21 @@
147 167 }
148 168
149 169 add_action( 'frm_after_duplicate_form', 'FrmFormActionsController::duplicate_form_actions', 20, 3 );
150 170
171 + // Fields Model.
172 + add_filter( 'frm_pro_available_fields', 'FrmField::show_update_for_pro_fields' );
173 +
151 174 // Forms Controller.
152 175 add_action( 'admin_menu', 'FrmFormsController::menu', 10 );
153 176 add_action( 'admin_head-toplevel_page_formidable', 'FrmFormsController::head' );
154 177 add_action( 'frm_after_field_options', 'FrmFormsController::logic_tip' );
178 + add_action( 'frm_field_code_tab', 'FrmFormsController::field_part_shortcodes' );
155 179 add_filter( 'frm_fields_in_form_builder', 'FrmFormsController::update_form_builder_fields' );
156 180
157 181 add_filter( 'set-screen-option', 'FrmFormsController::save_per_page', 10, 3 );
158 182 add_action( 'admin_footer', 'FrmFormsController::insert_form_popup' );
183 + add_action( 'admin_footer', 'FrmFormsController::print_forms_list_templates' );
159 184
160 185 // Elementor.
161 186 add_action( 'elementor/editor/footer', 'FrmElementorController::admin_init' );
162 187
@@ -200,11 +225,8 @@
200 225
201 226 // Cronjob.
202 227 add_action( 'admin_init', 'FrmCronController::schedule_events' );
203 228
204 - // Cross sell.
205 - add_action( 'admin_menu', 'FrmSalesApi::menu', 1000 );
206 -
207 229 // Deactivation feedback.
208 230 add_action( 'admin_enqueue_scripts', 'FrmDeactivationFeedbackController::enqueue_assets' );
209 231 add_action( 'admin_footer', 'FrmDeactivationFeedbackController::footer_html' );
210 232 add_action( 'deactivated_plugin', 'FrmDeactivationFeedbackController::set_feedback_expired_date' );
@@ -216,8 +238,9 @@
216 238 FrmDashboardController::load_admin_hooks();
217 239 FrmTransLiteHooksController::load_admin_hooks();
218 240 FrmStrpLiteHooksController::load_admin_hooks();
219 241 FrmSquareLiteHooksController::load_admin_hooks();
242 + FrmPayPalLiteHooksController::load_admin_hooks();
220 243 FrmSMTPController::load_hooks();
221 244 FrmOnboardingWizardController::load_admin_hooks();
222 245 FrmAddonsController::load_admin_hooks();
223 246 new FrmPluginSearch();