PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 5.0
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v5.0
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 / FrmAppController.php

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

720 lines 20.4 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 if ( ! defined( 'ABSPATH' ) ) {
3 die( 'You are not allowed to call this page directly.' );
4 }
5
6 class FrmAppController {
7
8 public static function menu() {
9 FrmAppHelper::maybe_add_permissions();
10 if ( ! current_user_can( 'frm_view_forms' ) ) {
11 return;
12 }
13
14 $menu_name = FrmAppHelper::get_menu_name();
15 add_menu_page( 'Formidable', $menu_name, 'frm_view_forms', 'formidable', 'FrmFormsController::route', self::menu_icon(), self::get_menu_position() );
16 }
17
18 private static function get_menu_position() {
19 return apply_filters( 'frm_menu_position', '29.3' );
20 }
21
22 /**
23 * @since 3.05
24 */
25 private static function menu_icon() {
26 $icon = FrmAppHelper::svg_logo(
27 array(
28 'fill' => '#a0a5aa',
29 'orange' => '#a0a5aa',
30 )
31 );
32 $icon = 'data:image/svg+xml;base64,' . base64_encode( $icon );
33
34 return apply_filters( 'frm_icon', $icon );
35 }
36
37 /**
38 * @since 3.0
39 */
40 public static function add_admin_class( $classes ) {
41 if ( self::is_white_page() ) {
42 $classes .= ' frm-white-body ';
43 $classes .= self::get_os();
44
45 $page = str_replace( 'formidable-', '', FrmAppHelper::simple_get( 'page', 'sanitize_title' ) );
46 if ( empty( $page ) || $page === 'formidable' ) {
47 $action = FrmAppHelper::simple_get( 'frm_action', 'sanitize_title' );
48 if ( in_array( $action, array( 'settings', 'edit', 'list' ) ) ) {
49 $page .= $action;
50 } else {
51 $page = $action;
52 }
53 }
54 if ( ! empty( $page ) ) {
55 $classes .= ' frm-admin-page-' . $page;
56 }
57 }
58
59 if ( FrmAppHelper::is_full_screen() ) {
60 $classes .= apply_filters( 'frm_admin_full_screen_class', ' frm-full-screen folded' );
61 }
62
63 return $classes;
64 }
65
66 /**
67 * @since 4.0
68 */
69 private static function get_os() {
70 $agent = strtolower( FrmAppHelper::get_server_value( 'HTTP_USER_AGENT' ) );
71 $os = '';
72 if ( strpos( $agent, 'mac' ) !== false ) {
73 $os = ' osx';
74 } elseif ( strpos( $agent, 'linux' ) !== false ) {
75 $os = ' linux';
76 } elseif ( strpos( $agent, 'windows' ) !== false ) {
77 $os = ' windows';
78 }
79 return $os;
80 }
81
82 /**
83 * @since 3.0
84 */
85 private static function is_white_page() {
86 $white_pages = array(
87 'formidable',
88 'formidable-entries',
89 'formidable-views',
90 'formidable-pro-upgrade',
91 'formidable-addons',
92 'formidable-import',
93 'formidable-settings',
94 'formidable-styles',
95 'formidable-styles2',
96 'formidable-inbox',
97 'formidable-welcome',
98 );
99
100 $get_page = FrmAppHelper::simple_get( 'page', 'sanitize_title' );
101 $is_white_page = in_array( $get_page, $white_pages );
102
103 if ( ! $is_white_page ) {
104 $screen = get_current_screen();
105 $is_white_page = ( $screen && strpos( $screen->id, 'frm_display' ) !== false );
106 }
107
108 return $is_white_page;
109 }
110
111 public static function load_wp_admin_style() {
112 FrmAppHelper::load_font_style();
113 }
114
115 public static function get_form_nav( $form, $show_nav = false, $title = 'show' ) {
116 $show_nav = FrmAppHelper::get_param( 'show_nav', $show_nav, 'get', 'absint' );
117 if ( empty( $show_nav ) || ! $form ) {
118 return;
119 }
120
121 FrmForm::maybe_get_form( $form );
122 if ( ! is_object( $form ) ) {
123 return;
124 }
125
126 $id = $form->id;
127 $current_page = self::get_current_page();
128 $nav_items = self::get_form_nav_items( $form );
129
130 include( FrmAppHelper::plugin_path() . '/classes/views/shared/form-nav.php' );
131 }
132
133 private static function get_current_page() {
134 $page = FrmAppHelper::simple_get( 'page', 'sanitize_title' );
135 $post_type = FrmAppHelper::simple_get( 'post_type', 'sanitize_title', 'None' );
136 $current_page = isset( $_GET['page'] ) ? $page : $post_type;
137
138 if ( FrmAppHelper::is_view_builder_page() ) {
139 $current_page = 'frm_display';
140 }
141
142 return $current_page;
143 }
144
145 private static function get_form_nav_items( $form ) {
146 $id = $form->parent_form_id ? $form->parent_form_id : $form->id;
147
148 $nav_items = array(
149 array(
150 'link' => FrmForm::get_edit_link( $id ),
151 'label' => __( 'Build', 'formidable' ),
152 'current' => array( 'edit', 'new', 'duplicate' ),
153 'page' => 'formidable',
154 'permission' => 'frm_edit_forms',
155 ),
156 array(
157 'link' => admin_url( 'admin.php?page=formidable&frm_action=settings&id=' . absint( $id ) ),
158 'label' => __( 'Settings', 'formidable' ),
159 'current' => array( 'settings' ),
160 'page' => 'formidable',
161 'permission' => 'frm_edit_forms',
162 ),
163 array(
164 'link' => admin_url( 'admin.php?page=formidable-entries&frm-full=1&frm_action=list&form=' . absint( $id ) ),
165 'label' => __( 'Entries', 'formidable' ),
166 'current' => array(),
167 'page' => 'formidable-entries',
168 'permission' => 'frm_view_entries',
169 ),
170 );
171
172 $views_installed = is_callable( 'FrmProAppHelper::views_is_installed' ) ? FrmProAppHelper::views_is_installed() : FrmAppHelper::pro_is_installed();
173
174 if ( ! $views_installed ) {
175 $nav_items[] = array(
176 'link' => admin_url( 'admin.php?page=formidable-views&frm-full=1&form=' . absint( $id ) ),
177 'label' => __( 'Views', 'formidable' ),
178 'current' => array(),
179 'page' => 'formidable-views',
180 'permission' => 'frm_view_entries',
181 'atts' => array(
182 'class' => 'frm_noallow',
183 ),
184 );
185 }
186
187 // Let people know reports and views exist.
188 if ( ! FrmAppHelper::pro_is_installed() ) {
189 $nav_items[] = array(
190 'link' => admin_url( 'admin.php?page=formidable&frm_action=lite-reports&frm-full=1&form=' . absint( $id ) ),
191 'label' => __( 'Reports', 'formidable' ),
192 'current' => array( 'reports' ),
193 'page' => 'formidable',
194 'permission' => 'frm_view_entries',
195 'atts' => array(
196 'class' => 'frm_noallow',
197 ),
198 );
199 }
200
201 $nav_args = array(
202 'form_id' => $id,
203 'form' => $form,
204 );
205
206 return apply_filters( 'frm_form_nav_list', $nav_items, $nav_args );
207 }
208
209 // Adds a settings link to the plugins page
210 public static function settings_link( $links ) {
211 $settings = array();
212
213 if ( ! FrmAppHelper::pro_is_installed() ) {
214 $settings[] = '<a href="' . esc_url( FrmAppHelper::admin_upgrade_link( 'plugin-row' ) ) . '" target="_blank" rel="noopener"><b>' . esc_html__( 'Upgrade to Pro', 'formidable' ) . '</b></a>';
215 }
216
217 $settings[] = '<a href="' . esc_url( admin_url( 'admin.php?page=formidable' ) ) . '">' . __( 'Build a Form', 'formidable' ) . '</a>';
218
219 return array_merge( $settings, $links );
220 }
221
222 public static function pro_get_started_headline() {
223 self::review_request();
224 FrmAppHelper::min_pro_version_notice( '4.0' );
225 }
226
227 /**
228 * Add admin notices as needed for reviews
229 *
230 * @since 3.04.03
231 */
232 private static function review_request() {
233 $reviews = new FrmReviews();
234 $reviews->review_request();
235 }
236
237 /**
238 * Save the request to hide the review
239 *
240 * @since 3.04.03
241 */
242 public static function dismiss_review() {
243 FrmAppHelper::permission_check( 'frm_change_settings' );
244 check_ajax_referer( 'frm_ajax', 'nonce' );
245
246 $reviews = new FrmReviews();
247 $reviews->dismiss_review();
248 }
249
250 /**
251 * @since 3.04.02
252 */
253 public static function include_upgrade_overlay() {
254 wp_enqueue_script( 'jquery-ui-dialog' );
255 wp_enqueue_style( 'jquery-ui-dialog' );
256
257 add_action( 'admin_footer', 'FrmAppController::upgrade_overlay_html' );
258 }
259
260 /**
261 * @since 3.06.03
262 */
263 public static function upgrade_overlay_html() {
264 $is_pro = FrmAppHelper::pro_is_installed();
265 $upgrade_link = array(
266 'medium' => 'builder',
267 'content' => 'upgrade',
268 );
269 $default_link = FrmAppHelper::admin_upgrade_link( $upgrade_link );
270 $plugin_path = FrmAppHelper::plugin_path();
271 $shared_path = $plugin_path . '/classes/views/shared/';
272
273 include $shared_path . 'upgrade_overlay.php';
274 include $shared_path . 'confirm-overlay.php';
275
276 if ( ( FrmAppHelper::is_admin_page( 'formidable' ) || FrmAppHelper::is_admin_page( 'formidable-welcome' ) ) && in_array( FrmAppHelper::get_param( 'frm_action' ), array( '', 'list', 'trash' ), true ) ) {
277 self::new_form_overlay_html();
278 }
279 }
280
281 private static function new_form_overlay_html() {
282 FrmFormsController::before_list_templates();
283
284 $plugin_path = FrmAppHelper::plugin_path();
285 $path = $plugin_path . '/classes/views/frm-forms/';
286 $expired = FrmFormsController::expired();
287 $expiring = FrmAddonsController::is_license_expiring();
288 $user = wp_get_current_user(); // $user used in leave-email.php to determine a default value for field
289 $view_path = $path . 'new-form-overlay/';
290 $modal_class = '';
291 $upgrade_link = FrmAppHelper::admin_upgrade_link(
292 array(
293 'medium' => 'new-template',
294 'content' => 'upgrade',
295 )
296 );
297 $renew_link = FrmAppHelper::admin_upgrade_link(
298 array(
299 'medium' => 'new-template',
300 'content' => 'renew',
301 )
302 );
303 $blocks_to_render = array();
304
305 if ( ! FrmAppHelper::pro_is_installed() ) {
306 // avoid rendering the email and code blocks for users who have upgraded or have a free license already
307 $api = new FrmFormTemplateApi();
308 if ( ! $api->has_free_access() ) {
309 array_push( $blocks_to_render, 'email', 'code' );
310 }
311 }
312
313 // avoid rendering the upgrade block for users with elite
314 if ( 'elite' !== FrmAddonsController::license_type() ) {
315 $blocks_to_render[] = 'upgrade';
316 }
317
318 // avoid rendering the renew block for users who are not currently expired
319 if ( $expired ) {
320 $blocks_to_render[] = 'renew';
321 $modal_class = 'frm-expired';
322 } elseif ( $expiring ) {
323 $modal_class = 'frm-expiring';
324 }
325
326 include $path . 'new-form-overlay.php';
327 }
328
329 public static function include_info_overlay() {
330 wp_enqueue_script( 'jquery-ui-dialog' );
331 wp_enqueue_style( 'jquery-ui-dialog' );
332
333 add_action( 'admin_footer', 'FrmAppController::info_overlay_html' );
334 }
335
336 public static function info_overlay_html() {
337 include( FrmAppHelper::plugin_path() . '/classes/views/shared/info-overlay.php' );
338 }
339
340 /**
341 * @since 3.04.02
342 */
343 public static function remove_upsells() {
344 remove_action( 'frm_before_settings', 'FrmSettingsController::license_box' );
345 remove_action( 'frm_after_settings', 'FrmSettingsController::settings_cta' );
346 remove_action( 'frm_add_form_style_tab_options', 'FrmFormsController::add_form_style_tab_options' );
347 remove_action( 'frm_after_field_options', 'FrmFormsController::logic_tip' );
348
349 if ( is_callable( 'FrmProAddonsController::renewal_message' ) ) {
350 // These functions moved to Pro in 4.09.01
351 remove_action( 'frm_page_footer', 'FrmAppHelper::renewal_message' );
352 }
353 }
354
355 /**
356 * If there are CURL problems on this server, wp_remote_post won't work for installing
357 * Use a javascript fallback instead.
358 *
359 * @since 2.0.3
360 */
361 public static function install_js_fallback() {
362 FrmAppHelper::load_admin_wide_js();
363 echo '<div id="hidden frm_install_message"></div><script type="text/javascript">jQuery(document).ready(function(){frm_install_now();});</script>';
364 }
365
366 /**
367 * Check if the database is outdated
368 *
369 * @since 2.0.1
370 * @return boolean
371 */
372 public static function needs_update() {
373 $needs_upgrade = self::compare_for_update(
374 array(
375 'option' => 'frm_db_version',
376 'new_db_version' => FrmAppHelper::$db_version,
377 'new_plugin_version' => FrmAppHelper::plugin_version(),
378 )
379 );
380
381 if ( ! $needs_upgrade ) {
382 $needs_upgrade = apply_filters( 'frm_db_needs_upgrade', $needs_upgrade );
383 }
384
385 return $needs_upgrade;
386 }
387
388 /**
389 * Check both version number and DB number for changes
390 *
391 * @since 3.0.04
392 */
393 public static function compare_for_update( $atts ) {
394 $db_version = get_option( $atts['option'] );
395
396 if ( strpos( $db_version, '-' ) === false ) {
397 $needs_upgrade = true;
398 } else {
399 $last_upgrade = explode( '-', $db_version );
400 $needs_db_upgrade = (int) $last_upgrade[1] < (int) $atts['new_db_version'];
401 $new_version = version_compare( $last_upgrade[0], $atts['new_plugin_version'], '<' );
402 $needs_upgrade = $needs_db_upgrade || $new_version;
403 }
404
405 return $needs_upgrade;
406 }
407
408 /**
409 * Check for database update and trigger js loading
410 *
411 * @since 2.0.1
412 */
413 public static function admin_init() {
414 new FrmPersonalData(); // register personal data hooks
415
416 if ( ! FrmAppHelper::doing_ajax() && self::needs_update() ) {
417 self::network_upgrade_site();
418 }
419
420 if ( ! FrmAppHelper::doing_ajax() ) {
421 // don't continue during ajax calls
422 self::admin_js();
423 }
424
425 if ( FrmAppHelper::is_admin_page( 'formidable' ) && in_array( FrmAppHelper::get_param( 'frm_action' ), array( 'add_new', 'list_templates' ), true ) ) {
426 wp_safe_redirect( admin_url( 'admin.php?page=formidable&triggerNewFormModal=1' ) );
427 exit;
428 }
429 }
430
431 public static function admin_js() {
432 $version = FrmAppHelper::plugin_version();
433 FrmAppHelper::load_admin_wide_js();
434
435 $dependecies = array(
436 'formidable_admin_global',
437 'jquery',
438 'jquery-ui-core',
439 'jquery-ui-draggable',
440 'jquery-ui-sortable',
441 'bootstrap_tooltip',
442 'bootstrap-multiselect',
443 'wp-i18n',
444 );
445
446 if ( FrmAppHelper::is_admin_page( 'formidable-styles' ) || FrmAppHelper::is_admin_page( 'formidable-styles2' ) ) {
447 $dependecies[] = 'wp-color-picker';
448 }
449
450 wp_register_script( 'formidable_admin', FrmAppHelper::plugin_url() . '/js/formidable_admin.js', $dependecies, $version, true );
451 wp_register_style( 'formidable-admin', FrmAppHelper::plugin_url() . '/css/frm_admin.css', array(), $version );
452 wp_register_script( 'bootstrap_tooltip', FrmAppHelper::plugin_url() . '/js/bootstrap.min.js', array( 'jquery' ), '3.3.4' );
453 wp_register_style( 'formidable-grids', FrmAppHelper::plugin_url() . '/css/frm_grids.css', array(), $version );
454
455 // load multselect js
456 $depends_on = array( 'jquery', 'bootstrap_tooltip' );
457 wp_register_script( 'bootstrap-multiselect', FrmAppHelper::plugin_url() . '/js/bootstrap-multiselect.js', $depends_on, '0.9.8', true );
458
459 $page = FrmAppHelper::simple_get( 'page', 'sanitize_title' );
460 $post_type = FrmAppHelper::simple_get( 'post_type', 'sanitize_title' );
461
462 global $pagenow;
463 if ( strpos( $page, 'formidable' ) === 0 || ( $pagenow == 'edit.php' && $post_type == 'frm_display' ) ) {
464
465 wp_enqueue_script( 'admin-widgets' );
466 wp_enqueue_style( 'widgets' );
467 wp_enqueue_script( 'formidable_admin' );
468 FrmAppHelper::localize_script( 'admin' );
469
470 wp_enqueue_style( 'formidable-admin' );
471 if ( 'formidable-styles' !== $page && 'formidable-styles2' !== $page ) {
472 wp_enqueue_style( 'formidable-grids' );
473 wp_enqueue_style( 'formidable-dropzone' );
474 } else {
475 $settings = FrmAppHelper::get_settings();
476 if ( empty( $settings->old_css ) ) {
477 wp_enqueue_style( 'formidable-grids' );
478 }
479 }
480
481 if ( 'formidable-entries' === $page ) {
482 // Load front end js for entries.
483 wp_enqueue_script( 'formidable' );
484 }
485
486 do_action( 'frm_enqueue_builder_scripts' );
487 self::include_upgrade_overlay();
488 self::include_info_overlay();
489 } elseif ( FrmAppHelper::is_view_builder_page() ) {
490 if ( isset( $_REQUEST['post_type'] ) ) {
491 $post_type = sanitize_title( wp_unslash( $_REQUEST['post_type'] ) );
492 } elseif ( isset( $_REQUEST['post'] ) && absint( $_REQUEST['post'] ) ) {
493 $post = get_post( absint( wp_unslash( $_REQUEST['post'] ) ) );
494 if ( ! $post ) {
495 return;
496 }
497 $post_type = $post->post_type;
498 } else {
499 return;
500 }
501
502 if ( $post_type == 'frm_display' ) {
503 wp_enqueue_style( 'formidable-grids' );
504 wp_enqueue_script( 'jquery-ui-draggable' );
505 wp_enqueue_script( 'formidable_admin' );
506 wp_enqueue_style( 'formidable-admin' );
507 FrmAppHelper::localize_script( 'admin' );
508 self::include_info_overlay();
509 }
510 }
511 }
512
513 public static function load_lang() {
514 load_plugin_textdomain( 'formidable', false, FrmAppHelper::plugin_folder() . '/languages/' );
515 }
516
517 /**
518 * Check if the styles are updated when a form is loaded on the front-end
519 *
520 * @since 3.0.1
521 */
522 public static function maybe_update_styles() {
523 if ( self::needs_update() ) {
524 self::network_upgrade_site();
525 }
526 }
527
528 /**
529 * @since 3.0
530 */
531 public static function create_rest_routes() {
532 $args = array(
533 'methods' => 'GET',
534 'callback' => 'FrmAppController::api_install',
535 'permission_callback' => __CLASS__ . '::can_update_db',
536 );
537
538 register_rest_route( 'frm-admin/v1', '/install', $args );
539
540 $args = array(
541 'methods' => 'GET',
542 'callback' => 'FrmAddonsController::install_addon_api',
543 'permission_callback' => 'FrmAddonsController::can_install_addon_api',
544 );
545
546 register_rest_route( 'frm-admin/v1', '/install-addon', $args );
547 }
548
549 /**
550 * Make sure the install is only being run when we tell it to.
551 * We don't want to run manually by people calling the API.
552 *
553 * @since 4.06.02
554 */
555 public static function can_update_db() {
556 return get_transient( 'frm_updating_api' );
557 }
558
559 /**
560 * Run silent upgrade on each site in the network during a network upgrade.
561 * Update database settings for all sites in a network during network upgrade process.
562 *
563 * @since 2.0.1
564 *
565 * @param int $blog_id Blog ID.
566 */
567 public static function network_upgrade_site( $blog_id = 0 ) {
568 // Flag to check if install is happening as intended.
569 set_transient( 'frm_updating_api', true, MINUTE_IN_SECONDS );
570 $request = new WP_REST_Request( 'GET', '/frm-admin/v1/install' );
571
572 self::maybe_add_wp_site_health();
573
574 if ( $blog_id ) {
575 switch_to_blog( $blog_id );
576 $response = rest_do_request( $request );
577 restore_current_blog();
578 } else {
579 $response = rest_do_request( $request );
580 }
581
582 if ( $response->is_error() ) {
583 // if the remove post fails, use javascript instead
584 add_action( 'admin_notices', 'FrmAppController::install_js_fallback' );
585 }
586 }
587
588 /**
589 * Make sure WP_Site_Health has been included because it is required when calling rest_do_request.
590 * Check first that the file exists because WP_Site_Health was only introduced in WordPress 5.2.
591 */
592 private static function maybe_add_wp_site_health() {
593 if ( ! class_exists( 'WP_Site_Health' ) ) {
594 $wp_site_health_path = ABSPATH . 'wp-admin/includes/class-wp-site-health.php';
595 if ( file_exists( $wp_site_health_path ) ) {
596 require_once $wp_site_health_path;
597 }
598 }
599 }
600
601 /**
602 * @since 3.0
603 */
604 public static function api_install() {
605 delete_transient( 'frm_updating_api' );
606 if ( self::needs_update() ) {
607 $running = get_option( 'frm_install_running' );
608 if ( false === $running || $running < strtotime( '-5 minutes' ) ) {
609 update_option( 'frm_install_running', time(), 'no' );
610 self::install();
611 delete_option( 'frm_install_running' );
612 }
613 }
614
615 return true;
616 }
617
618 /**
619 * Silent database upgrade (no redirect).
620 * Called via ajax request during network upgrade process.
621 *
622 * @since 2.0.1
623 */
624 public static function ajax_install() {
625 self::api_install();
626 wp_die();
627 }
628
629 public static function install() {
630 $frmdb = new FrmMigrate();
631 $frmdb->upgrade();
632 }
633
634 public static function uninstall() {
635 FrmAppHelper::permission_check( 'administrator' );
636 check_ajax_referer( 'frm_ajax', 'nonce' );
637
638 $frmdb = new FrmMigrate();
639 $frmdb->uninstall();
640
641 //disable the plugin and redirect after uninstall so the tables don't get added right back
642 $plugins = array( FrmAppHelper::plugin_folder() . '/formidable.php', 'formidable-pro/formidable-pro.php' );
643 deactivate_plugins( $plugins, false, false );
644 echo esc_url_raw( admin_url( 'plugins.php?deactivate=true' ) );
645
646 wp_die();
647 }
648
649 public static function drop_tables( $tables ) {
650 global $wpdb;
651 $tables[] = $wpdb->prefix . 'frm_fields';
652 $tables[] = $wpdb->prefix . 'frm_forms';
653 $tables[] = $wpdb->prefix . 'frm_items';
654 $tables[] = $wpdb->prefix . 'frm_item_metas';
655
656 return $tables;
657 }
658
659 public static function deauthorize() {
660 FrmAppHelper::permission_check( 'frm_change_settings' );
661 check_ajax_referer( 'frm_ajax', 'nonce' );
662
663 delete_option( 'frmpro-credentials' );
664 delete_option( 'frmpro-authorized' );
665 delete_site_option( 'frmpro-credentials' );
666 delete_site_option( 'frmpro-authorized' );
667 wp_die();
668 }
669
670 public static function set_footer_text( $text ) {
671 if ( FrmAppHelper::is_formidable_admin() ) {
672 $text = '';
673 }
674
675 return $text;
676 }
677
678 /**
679 * @deprecated 1.07.05
680 * @codeCoverageIgnore
681 */
682 public static function get_form_shortcode( $atts ) {
683 return FrmDeprecated::get_form_shortcode( $atts );
684 }
685
686 /**
687 * @deprecated 2.5.4
688 * @codeCoverageIgnore
689 */
690 public static function widget_text_filter( $content ) {
691 return FrmDeprecated::widget_text_filter( $content );
692 }
693
694 /**
695 * Deprecated in favor of wpmu_upgrade_site
696 *
697 * @deprecated 2.3
698 * @codeCoverageIgnore
699 */
700 public static function front_head() {
701 FrmDeprecated::front_head();
702 }
703
704 /**
705 * @deprecated 3.0.04
706 * @codeCoverageIgnore
707 */
708 public static function activation_install() {
709 FrmDeprecated::activation_install();
710 }
711
712 /**
713 * @deprecated 3.0
714 * @codeCoverageIgnore
715 */
716 public static function page_route( $content ) {
717 return FrmDeprecated::page_route( $content );
718 }
719 }
720