PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 5.5.3
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v5.5.3
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/helpers/FrmAppHelper.php +187 -263 6.3 → 5.5.3 View file →
@@ -15,9 +15,9 @@
15 15
16 16 /**
17 17 * @since 2.0
18 18 */
19 - public static $plug_version = '6.3';
19 + public static $plug_version = '5.5.2';
20 20
21 21 /**
22 22 * @since 1.07.02
23 23 *
@@ -252,15 +252,15 @@
252 252 global $pagenow;
253 253 $get_page = self::simple_get( 'page', 'sanitize_title' );
254 254 if ( $pagenow ) {
255 255 // allow this to be true during ajax load i.e. ajax form builder loading
256 - $is_page = ( $pagenow === 'admin.php' || $pagenow === 'admin-ajax.php' ) && $get_page === $page;
256 + $is_page = ( $pagenow == 'admin.php' || $pagenow == 'admin-ajax.php' ) && $get_page == $page;
257 257 if ( $is_page ) {
258 258 return true;
259 259 }
260 260 }
261 261
262 - return is_admin() && $get_page === $page;
262 + return is_admin() && $get_page == $page;
263 263 }
264 264
265 265 /**
266 266 * If the current page is for editing or creating a view.
@@ -332,18 +332,14 @@
332 332 * Check if on an admin page
333 333 *
334 334 * @since 2.0
335 335 *
336 + * @param None
337 + *
336 338 * @return boolean
337 339 */
338 340 public static function is_admin() {
339 - $is_admin = is_admin() && ! wp_doing_ajax();
340 -
341 - /**
342 - * @since 6.0
343 - * @param bool $is_admin
344 - */
345 - return apply_filters( 'frm_is_admin', $is_admin );
341 + return is_admin() && ! wp_doing_ajax();
346 342 }
347 343
348 344 /**
349 345 * Check if value contains blank value or empty array
@@ -376,17 +372,26 @@
376 372 return isset( $_SERVER[ $value ] ) ? wp_strip_all_tags( wp_unslash( $_SERVER[ $value ] ) ) : '';
377 373 }
378 374
379 375 /**
380 - * Check for the IP address in several places (when custom headers are enabled).
381 - * Used by [ip] shortcode.
376 + * Check for the IP address in several places
377 + * Used by [ip] shortcode
382 378 *
383 379 * @return string The IP address of the current user
384 380 */
385 381 public static function get_ip_address() {
386 - $ip_options = self::should_use_custom_header_ip() ? self::get_custom_header_keys_for_ip() : array( 'REMOTE_ADDR' );
387 - $ip = '';
388 -
382 + $ip_options = array(
383 + 'HTTP_CLIENT_IP',
384 + 'HTTP_CF_CONNECTING_IP',
385 + 'HTTP_X_FORWARDED_FOR',
386 + 'HTTP_X_FORWARDED',
387 + 'HTTP_X_CLUSTER_CLIENT_IP',
388 + 'HTTP_X_REAL_IP',
389 + 'HTTP_FORWARDED_FOR',
390 + 'HTTP_FORWARDED',
391 + 'REMOTE_ADDR',
392 + );
393 + $ip = '';
389 394 foreach ( $ip_options as $key ) {
390 395 if ( ! isset( $_SERVER[ $key ] ) ) {
391 396 continue;
392 397 }
@@ -392,9 +397,9 @@
392 397 }
393 398
394 399 $key = self::get_server_value( $key );
395 400 foreach ( explode( ',', $key ) as $ip ) {
396 - $ip = trim( $ip ); // Just to be safe.
401 + $ip = trim( $ip ); // just to be safe.
397 402
398 403 if ( filter_var( $ip, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE | FILTER_FLAG_NO_RES_RANGE ) !== false ) {
399 404 return sanitize_text_field( $ip );
400 405 }
@@ -403,52 +408,8 @@
403 408
404 409 return sanitize_text_field( $ip );
405 410 }
406 411
407 - /**
408 - * @since 6.1
409 - *
410 - * @return array
411 - */
412 - public static function get_custom_header_keys_for_ip() {
413 - return array(
414 - 'HTTP_CLIENT_IP',
415 - 'HTTP_CF_CONNECTING_IP',
416 - 'HTTP_X_FORWARDED_FOR',
417 - 'HTTP_X_FORWARDED',
418 - 'HTTP_X_CLUSTER_CLIENT_IP',
419 - 'HTTP_X_REAL_IP',
420 - 'HTTP_FORWARDED_FOR',
421 - 'HTTP_FORWARDED',
422 - 'REMOTE_ADDR',
423 - );
424 - }
425 -
426 - /**
427 - * Check if we should check every HTTP header or just $_SERVER['REMOTE_ADDR'].
428 - * The other HTTP headers can be spoofed so this isn't recommended.
429 - * But in some cases (like reverse proxies), the IP may be empty if you use $_SERVER['REMOTE_ADDR'].
430 - *
431 - * @since 6.1
432 - *
433 - * @return bool
434 - */
435 - private static function should_use_custom_header_ip() {
436 - $settings = self::get_settings();
437 - $should_use_custom_header_ip = ! $settings->no_ips && $settings->custom_header_ip;
438 -
439 - /**
440 - * Filter whether to check spoofable HTTP headers.
441 - * This uses the custom_header_ip setting, but it is hidden if the GDPR option is also on.
442 - * As the IP is still checked for blacklist checks, someone with the GDPR option may still want to enable this when behind a reverse proxy.
443 - *
444 - * @since 6.1
445 - *
446 - * @param bool $should_use_custom_header_ip
447 - */
448 - return apply_filters( 'frm_use_custom_header_ip', $should_use_custom_header_ip );
449 - }
450 -
451 412 public static function get_param( $param, $default = '', $src = 'get', $sanitize = '' ) {
452 413 if ( strpos( $param, '[' ) ) {
453 414 $params = explode( '[', $param );
454 415 $param = $params[0];
@@ -965,18 +926,8 @@
965 926
966 927 $html_atts = self::array_to_html_params( $atts );
967 928
968 929 $icon = trim( str_replace( array( 'frm_icon_font', 'frmfont ' ), '', $class ) );
969 -
970 - // Replace icons that have been removed.
971 - $deprecated = array(
972 - 'frm_clone_solid_icon' => 'frm_clone_icon',
973 - );
974 - if ( isset( $deprecated[ $icon ] ) ) {
975 - $icon = $deprecated[ $icon ];
976 - $class = str_replace( $icon, $deprecated[ $icon ], $class );
977 - }
978 -
979 930 if ( $icon === $class ) {
980 931 $icon = '<i class="' . esc_attr( $class ) . '"' . $html_atts . '></i>';
981 932 } else {
982 933 $class = strpos( $icon, ' ' ) === false ? '' : ' ' . $icon;
@@ -1033,9 +984,9 @@
1033 984 * @param array $allowed_attr
1034 985 * @return array
1035 986 */
1036 987 public static function allow_vars_in_styles( $allowed_attr ) {
1037 - $allowed_attr[] = '--primary-700';
988 + $allowed_attr[] = '--primary-hover';
1038 989 return $allowed_attr;
1039 990 }
1040 991
1041 992 /**
@@ -1044,9 +995,9 @@
1044 995 * @param bool $allow_css
1045 996 * @param string $css_string
1046 997 */
1047 998 public static function allow_style( $allow_css, $css_string ) {
1048 - if ( ! $allow_css && 0 === strpos( $css_string, '--primary-700:' ) ) {
999 + if ( ! $allow_css && 0 === strpos( $css_string, '--primary-hover:' ) ) {
1049 1000 $split = explode( ':', $css_string, 2 );
1050 1001 $allow_css = 2 === count( $split ) && self::is_a_valid_color( $split[1] );
1051 1002 }
1052 1003 return $allow_css;
@@ -1113,11 +1064,9 @@
1113 1064 if ( ! $echo ) {
1114 1065 ob_start();
1115 1066 }
1116 1067
1117 - if ( is_callable( $echo_function ) ) {
1118 - $echo_function();
1119 - }
1068 + $echo_function();
1120 1069
1121 1070 if ( ! $echo ) {
1122 1071 $return = ob_get_contents();
1123 1072 ob_end_clean();
@@ -1140,22 +1089,8 @@
1140 1089 include( self::plugin_path() . '/classes/views/shared/admin-header.php' );
1141 1090 }
1142 1091
1143 1092 /**
1144 - * @since 6.0
1145 - *
1146 - * @param string $type
1147 - * @return void
1148 - */
1149 - public static function import_link( $type = 'secondary' ) {
1150 - ?>
1151 - <a href="<?php echo esc_url( admin_url( 'admin.php?page=formidable-import' ) ); ?>" class="button frm-button-<?php echo esc_attr( $type ); ?> frm_animate_bg">
1152 - <?php esc_html_e( 'Import', 'formidable' ); ?>
1153 - </a>
1154 - <?php
1155 - }
1156 -
1157 - /**
1158 1093 * Print applicable admin banner.
1159 1094 *
1160 1095 * @since 5.4.2
1161 1096 *
@@ -1213,9 +1148,9 @@
1213 1148 return;
1214 1149 }
1215 1150
1216 1151 $href = ! empty( $atts['new_link'] ) ? esc_url( $atts['new_link'] ) : '#';
1217 - $class = 'button button-primary frm-button-primary';
1152 + $class = 'button button-primary frm-button-primary frm-with-plus';
1218 1153
1219 1154 if ( ! empty( $atts['trigger_new_form_modal'] ) ) {
1220 1155 $class .= ' frm-trigger-new-form-modal';
1221 1156 }
@@ -1487,37 +1422,18 @@
1487 1422 self::is_full_screen_view_builder_page();
1488 1423 }
1489 1424
1490 1425 /**
1491 - * Check if user is on the style editor or its alternative URL.
1426 + * Check if user is on the style editor, or the alternative URL.
1492 1427 * The first URL is a submenu "Styles" in the Formidable menu /wp-admin/admin.php?page=formidable-styles.
1493 1428 * The alternative URL is linked as a submenu "Forms" item of the Appearance menu /wp-admin/themes.php?page=formidable-styles2.
1494 1429 *
1495 1430 * @since 5.5.3
1496 - * @since 6.0 Added the $view parameter. Previously there was only a 'edit' view.
1497 1431 *
1498 - * @param string $view Supports 'edit', 'list', and ''. If '', both 'edit' and 'list' will match.
1499 1432 * @return bool
1500 1433 */
1501 - public static function is_style_editor_page( $view = '' ) {
1502 - if ( ! self::is_admin_page( 'formidable-styles' ) && ! self::is_admin_page( 'formidable-styles2' ) ) {
1503 - return false;
1504 - }
1505 -
1506 - if ( ! in_array( $view, array( 'list', 'edit' ), true ) ) {
1507 - return true;
1508 - }
1509 -
1510 - $action = self::simple_get( 'frm_action' );
1511 - $is_edit_mode = 'edit' === $action || ( ! $action && ! self::simple_get( 'id' ) && ! self::simple_get( 'form' ) );
1512 -
1513 - if ( ! $is_edit_mode && class_exists( 'FrmProStylesController' ) && in_array( $action, array( 'new_style', 'duplicate' ), true ) ) {
1514 - $is_edit_mode = true;
1515 - }
1516 -
1517 - $checking_for_edit_mode = 'edit' === $view;
1518 -
1519 - return $is_edit_mode === $checking_for_edit_mode;
1434 + public static function is_style_editor_page() {
1435 + return self::is_admin_page( 'formidable-styles' ) || self::is_admin_page( 'formidable-styles2' );
1520 1436 }
1521 1437
1522 1438 /**
1523 1439 * @since 5.5.3
@@ -2394,9 +2310,9 @@
2394 2310 *
2395 2311 * @return string $time_ago
2396 2312 */
2397 2313 public static function human_time_diff( $from, $to = '', $levels = 1 ) {
2398 - if ( empty( $to ) && 0 !== $to ) {
2314 + if ( empty( $to ) ) {
2399 2315 $now = new DateTime();
2400 2316 } else {
2401 2317 $now = new DateTime( '@' . $to );
2402 2318 }
@@ -2737,15 +2653,12 @@
2737 2653 }
2738 2654 }
2739 2655
2740 2656 /**
2741 - * Check for either json or serialized data. This is temporary while transitioning
2657 + * Check for either json or serilized data. This is temporary while transitioning
2742 2658 * all data to json.
2743 2659 *
2744 2660 * @since 4.02.03
2745 - *
2746 - * @param array|string $value
2747 - * @return void
2748 2661 */
2749 2662 public static function unserialize_or_decode( &$value ) {
2750 2663 if ( is_array( $value ) ) {
2751 2664 return;
@@ -2751,9 +2664,9 @@
2751 2664 return;
2752 2665 }
2753 2666
2754 2667 if ( is_serialized( $value ) ) {
2755 - $value = self::maybe_unserialize_array( $value );
2668 + $value = maybe_unserialize( $value );
2756 2669 } else {
2757 2670 $value = self::maybe_json_decode( $value, false );
2758 2671 }
2759 2672 }
@@ -2758,35 +2671,8 @@
2758 2671 }
2759 2672 }
2760 2673
2761 2674 /**
2762 - * Safely unserialize an array if necessary.
2763 - * This function doesn't actually use unserialize. The string is parsed instead.
2764 - *
2765 - * @since 6.2
2766 - *
2767 - * @param mixed $value
2768 - * @return mixed
2769 - */
2770 - public static function maybe_unserialize_array( $value ) {
2771 - if ( ! is_string( $value ) ) {
2772 - return $value;
2773 - }
2774 -
2775 - // Since we only expect an array, skip anything that doesn't start with a:.
2776 - if ( ! is_serialized( $value ) || 'a:' !== substr( $value, 0, 2 ) ) {
2777 - return $value;
2778 - }
2779 -
2780 - $parsed = FrmSerializedStringParserHelper::get()->parse( $value );
2781 - if ( is_array( $parsed ) ) {
2782 - $value = $parsed;
2783 - }
2784 -
2785 - return $value;
2786 - }
2787 -
2788 - /**
2789 2675 * Decode a JSON string.
2790 2676 * Do not switch shortcodes like [24] to array unless intentional ie XML values.
2791 2677 *
2792 2678 * @param mixed $string
@@ -2813,36 +2699,8 @@
2813 2699 return $string;
2814 2700 }
2815 2701
2816 2702 /**
2817 - * @since 6.2.3
2818 - *
2819 - * @param string $value
2820 - * @return string
2821 - */
2822 - public static function maybe_utf8_encode( $value ) {
2823 - $from_format = 'ISO-8859-1';
2824 - $to_format = 'UTF-8';
2825 -
2826 - if ( function_exists( 'mb_check_encoding' ) && function_exists( 'mb_convert_encoding' ) ) {
2827 - if ( mb_check_encoding( $value, $from_format ) ) {
2828 - return mb_convert_encoding( $value, $to_format, $from_format );
2829 - }
2830 - return $value;
2831 - }
2832 -
2833 - if ( function_exists( 'iconv' ) ) {
2834 - $converted = iconv( $from_format, $to_format, $value );
2835 - // Value is false if $value is not ISO-8859-1.
2836 - if ( false !== $converted ) {
2837 - return $converted;
2838 - }
2839 - }
2840 -
2841 - return $value;
2842 - }
2843 -
2844 - /**
2845 2703 * Reformat the json serialized array in name => value array.
2846 2704 *
2847 2705 * @since 4.02.03
2848 2706 */
@@ -2968,10 +2826,10 @@
2968 2826 $admin_script_strings = array(
2969 2827 'desc' => __( '(Click to add description)', 'formidable' ),
2970 2828 'blank' => __( '(Blank)', 'formidable' ),
2971 2829 'no_label' => __( '(no label)', 'formidable' ),
2972 - 'saving' => '', // Deprecated in 6.0.
2973 - 'saved' => '', // Deprecated in 6.0.
2830 + 'saving' => esc_attr( __( 'Saving', 'formidable' ) ),
2831 + 'saved' => esc_attr( __( 'Saved', 'formidable' ) ),
2974 2832 'ok' => __( 'OK', 'formidable' ),
2975 2833 'cancel' => __( 'Cancel', 'formidable' ),
2976 2834 'default_label' => __( 'Default', 'formidable' ),
2977 2835 'clear_default' => __( 'Clear default value when typing', 'formidable' ),
@@ -2977,8 +2835,9 @@
2977 2835 'clear_default' => __( 'Clear default value when typing', 'formidable' ),
2978 2836 'no_clear_default' => __( 'Do not clear default value when typing', 'formidable' ),
2979 2837 'valid_default' => __( 'Default value will pass form validation', 'formidable' ),
2980 2838 'no_valid_default' => __( 'Default value will NOT pass form validation', 'formidable' ),
2839 + 'caution' => __( 'Heads up', 'formidable' ),
2981 2840 'confirm' => __( 'Are you sure?', 'formidable' ),
2982 2841 'conf_delete' => __( 'Are you sure you want to delete this field and all data associated with it?', 'formidable' ),
2983 2842 'conf_delete_sec' => __( 'All fields inside this Section will be deleted along with their data. Are you sure you want to delete this group of fields?', 'formidable' ),
2984 2843 'conf_no_repeat' => __( 'Warning: If you have entries with multiple rows, all but the first row will be lost.', 'formidable' ),
@@ -3090,9 +2949,9 @@
3090 2949
3091 2950 $pro_version = FrmProDb::$plug_version;
3092 2951 $expired = FrmAddonsController::is_license_expired();
3093 2952 ?>
3094 - <div class="frm-banner-alert frm_error_style frm_previous_install">
2953 + <div class="error frm_previous_install">
3095 2954 <?php
3096 2955 esc_html_e( 'You are running a version of Formidable Forms that may not be compatible with your version of Formidable Forms Pro.', 'formidable' );
3097 2956 if ( empty( $expired ) ) {
3098 2957 echo ' Please <a href="' . esc_url( admin_url( 'plugins.php?s=formidable%20forms%20pro' ) ) . '">update now</a>.';
@@ -3131,9 +2990,9 @@
3131 2990 }
3132 2991
3133 2992 foreach ( $message as $m ) {
3134 2993 ?>
3135 - <div class="frm-banner-alert frm_error_style frm_previous_install">
2994 + <div class="error frm_previous_install">
3136 2995 <?php echo esc_html( $m ); ?>
3137 2996 </div>
3138 2997 <?php
3139 2998 }
@@ -3754,40 +3613,8 @@
3754 3613 return get_plugins();
3755 3614 }
3756 3615
3757 3616 /**
3758 - * Make sure that the file we're trying to load is in fact the expected file type, and that it's coming from our S3 bucket.
3759 - * This is to make sure that the URL can't be exploited for a SSRF attack.
3760 - *
3761 - * @since 5.5.5
3762 - *
3763 - * @param string $url
3764 - * @param string $expected_extension
3765 - * @return bool
3766 - */
3767 - public static function validate_url_is_in_s3_bucket( $url, $expected_extension ) {
3768 - $file_is_in_expected_s3_bucket = 0 === strpos( $url, 'https://s3.amazonaws.com/fp.strategy11.com' );
3769 - if ( ! $file_is_in_expected_s3_bucket ) {
3770 - return false;
3771 - }
3772 -
3773 - $parsed = parse_url( $url );
3774 - if ( ! is_array( $parsed ) ) {
3775 - // URL is malformed.
3776 - return false;
3777 - }
3778 -
3779 - $path = $parsed['path'];
3780 - $ext = pathinfo( $path, PATHINFO_EXTENSION );
3781 - if ( $expected_extension !== $ext ) {
3782 - // The URL isn't to an XML file.
3783 - return false;
3784 - }
3785 -
3786 - return true;
3787 - }
3788 -
3789 - /**
3790 3617 * @since 4.08
3791 3618 * @deprecated 4.09.01
3792 3619 */
3793 3620 public static function expiring_message() {
@@ -3816,8 +3643,18 @@
3816 3643 FrmFormsHelper::insert_opt_html( $args );
3817 3644 }
3818 3645
3819 3646 /**
3647 + * Used to filter shortcode in text widgets
3648 + *
3649 + * @deprecated 2.5.4
3650 + * @codeCoverageIgnore
3651 + */
3652 + public static function widget_text_filter_callback( $matches ) {
3653 + return FrmDeprecated::widget_text_filter_callback( $matches );
3654 + }
3655 +
3656 + /**
3820 3657 * @deprecated 3.01
3821 3658 * @codeCoverageIgnore
3822 3659 */
3823 3660 public static function sanitize_array( &$values ) {
@@ -3824,86 +3661,173 @@
3824 3661 FrmDeprecated::sanitize_array( $values );
3825 3662 }
3826 3663
3827 3664 /**
3828 - * @since 2.0
3829 - * @deprecated 5.0.13
3665 + * @param array $settings
3666 + * @param string $group
3830 3667 *
3831 - * @return string The base Google APIS url for the current version of jQuery UI
3668 + * @since 2.0.6
3669 + * @deprecated 2.05.06
3670 + * @codeCoverageIgnore
3832 3671 */
3833 - public static function jquery_ui_base_url() {
3834 - _deprecated_function( __FUNCTION__, '5.0.13', 'FrmProAppHelper::jquery_ui_base_url' );
3835 - return is_callable( 'FrmProAppHelper::jquery_ui_base_url' ) ? FrmProAppHelper::jquery_ui_base_url() : '';
3672 + public static function save_settings( $settings, $group ) {
3673 + return FrmDeprecated::save_settings( $settings, $group );
3836 3674 }
3837 3675
3838 3676 /**
3839 - * @since 4.07
3840 - * @deprecated 6.0
3677 + * @since 2.0.4
3678 + * @deprecated 2.05.06
3679 + * @codeCoverageIgnore
3841 3680 */
3842 - public static function renewal_message() {
3843 - _deprecated_function( __METHOD__, '6.0', 'FrmProAddonsController::renewal_message' );
3681 + public static function save_json_post( $settings ) {
3682 + return FrmDeprecated::save_json_post( $settings );
3844 3683 }
3845 3684
3846 3685 /**
3847 - * Display a dismissable warning message and save its dismissal state.
3686 + * @since 2.0
3687 + * @deprecated 2.05.06
3688 + * @codeCoverageIgnore
3848 3689 *
3849 - * @since 6.3
3690 + * @param string $cache_key The unique name for this cache
3691 + * @param string $group The name of the cache group
3692 + * @param string $query If blank, don't run a db call
3693 + * @param string $type The wpdb function to use with this query
3850 3694 *
3851 - * @param string $message The warning message to display.
3852 - * @param string $option The unique identifier for the dismissal state of the message and the WP Ajax action.
3853 - * @return void
3695 + * @return mixed $results The cache or query results
3854 3696 */
3855 - public static function add_dismissable_warning_message( $message = '', $option = '' ) {
3856 - if ( ! $message || ! $option ) {
3857 - return;
3858 - }
3697 + public static function check_cache( $cache_key, $group = '', $query = '', $type = 'get_var', $time = 300 ) {
3698 + return FrmDeprecated::check_cache( $cache_key, $group, $query, $type, $time );
3699 + }
3859 3700
3860 - $ajax_callback = function() use ( $option ) {
3861 - self::dismiss_warning_message( $option );
3862 - };
3701 + /**
3702 + * @deprecated 2.05.06
3703 + * @codeCoverageIgnore
3704 + */
3705 + public static function set_cache( $cache_key, $results, $group = '', $time = 300 ) {
3706 + return FrmDeprecated::set_cache( $cache_key, $results, $group, $time );
3707 + }
3863 3708
3864 - // We're handling JS codes with `doJsonPost` and it adds 'frm_' to the beginning of the action.
3865 - // To prevent any issues, we add 'frm_' from the beginning of the action.
3866 - add_action( 'wp_ajax_frm_' . $option, $ajax_callback );
3709 + /**
3710 + * @deprecated 2.05.06
3711 + * @codeCoverageIgnore
3712 + */
3713 + public static function add_key_to_group_cache( $key, $group ) {
3714 + FrmDeprecated::add_key_to_group_cache( $key, $group );
3715 + }
3867 3716
3868 - add_filter(
3869 - 'frm_message_list',
3870 - function( $show_messages ) use ( $message, $option ) {
3871 - if ( get_option( $option, false ) ) {
3872 - return $show_messages;
3873 - }
3717 + /**
3718 + * @deprecated 2.05.06
3719 + * @codeCoverageIgnore
3720 + */
3721 + public static function get_group_cached_keys( $group ) {
3722 + return FrmDeprecated::get_group_cached_keys( $group );
3723 + }
3874 3724
3875 - $dismiss_icon = self::icon_by_class(
3876 - 'frmfont frm_close_icon',
3877 - array(
3878 - 'aria-label' => _x( 'Dismiss', 'warning message: close icon label', 'formidable' ),
3879 - 'echo' => false,
3880 - )
3881 - );
3725 + /**
3726 + * @since 2.0
3727 + * @deprecated 2.05.06
3728 + * @codeCoverageIgnore
3729 + * @return mixed The cached value or false
3730 + */
3731 + public static function check_cache_and_transient( $cache_key ) {
3732 + return FrmDeprecated::check_cache( $cache_key );
3733 + }
3882 3734
3883 - $show_messages[] = $message;
3884 - $show_messages[] = '<span class="frm-warning-dismiss frmsvg" data-action="' . esc_attr( $option ) . '">' . $dismiss_icon . '</span>';
3735 + /**
3736 + * @since 2.0
3737 + * @deprecated 2.05.06
3738 + * @codeCoverageIgnore
3739 + *
3740 + * @param string $cache_key
3741 + */
3742 + public static function delete_cache_and_transient( $cache_key, $group = 'default' ) {
3743 + FrmDeprecated::delete_cache_and_transient( $cache_key, $group );
3744 + }
3885 3745
3886 - return $show_messages;
3887 - }
3888 - );
3746 + /**
3747 + * @since 2.0
3748 + * @deprecated 2.05.06
3749 + * @codeCoverageIgnore
3750 + *
3751 + * @param string $group The name of the cache group
3752 + */
3753 + public static function cache_delete_group( $group ) {
3754 + FrmDeprecated::cache_delete_group( $group );
3889 3755 }
3890 3756
3891 3757 /**
3892 - * Dismiss a warning message and update the dismissal state.
3758 + * @since 1.07.10
3759 + * @deprecated 2.05.06
3760 + * @codeCoverageIgnore
3893 3761 *
3894 - * @since 6.3
3762 + * @param string $term The value to escape
3895 3763 *
3896 - * @param string $option The unique identifier for the dismissal state of the message.
3897 - * @return void
3764 + * @return string The escaped value
3898 3765 */
3899 - public static function dismiss_warning_message( $option = '' ) {
3900 - self::permission_check( 'frm_change_settings' );
3901 - check_ajax_referer( 'frm_ajax', 'nonce' );
3766 + public static function esc_like( $term ) {
3767 + return FrmDeprecated::esc_like( $term );
3768 + }
3902 3769
3903 - if ( $option ) {
3904 - update_option( $option, true, 'no' );
3905 - }
3770 + /**
3771 + * @param string $order_query
3772 + *
3773 + * @deprecated 2.05.06
3774 + * @codeCoverageIgnore
3775 + */
3776 + public static function esc_order( $order_query ) {
3777 + return FrmDeprecated::esc_order( $order_query );
3778 + }
3906 3779
3907 - wp_send_json_success();
3780 + /**
3781 + * @deprecated 2.05.06
3782 + * @codeCoverageIgnore
3783 + */
3784 + public static function esc_order_by( &$order_by ) {
3785 + FrmDeprecated::esc_order_by( $order_by );
3786 + }
3787 +
3788 + /**
3789 + * @param string $limit
3790 + *
3791 + * @deprecated 2.05.06
3792 + * @codeCoverageIgnore
3793 + */
3794 + public static function esc_limit( $limit ) {
3795 + return FrmDeprecated::esc_limit( $limit );
3796 + }
3797 +
3798 + /**
3799 + * @since 2.0
3800 + * @deprecated 2.05.06
3801 + * @codeCoverageIgnore
3802 + */
3803 + public static function prepare_array_values( $array, $type = '%s' ) {
3804 + return FrmDeprecated::prepare_array_values( $array, $type );
3805 + }
3806 +
3807 + /**
3808 + * @deprecated 2.05.06
3809 + * @codeCoverageIgnore
3810 + */
3811 + public static function prepend_and_or_where( $starts_with = ' WHERE ', $where = '' ) {
3812 + return FrmDeprecated::prepend_and_or_where( $starts_with, $where );
3813 + }
3814 +
3815 + /**
3816 + * @since 2.0
3817 + * @deprecated 5.0.13
3818 + *
3819 + * @return string The base Google APIS url for the current version of jQuery UI
3820 + */
3821 + public static function jquery_ui_base_url() {
3822 + _deprecated_function( __FUNCTION__, '5.0.13', 'FrmProAppHelper::jquery_ui_base_url' );
3823 + return is_callable( 'FrmProAppHelper::jquery_ui_base_url' ) ? FrmProAppHelper::jquery_ui_base_url() : '';
3824 + }
3825 +
3826 + /**
3827 + * @since 4.07
3828 + * @deprecated x.x
3829 + */
3830 + public static function renewal_message() {
3831 + _deprecated_function( __METHOD__, 'x.x', 'FrmProAddonsController::renewal_message' );
3908 3832 }
3909 3833 }