PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 4.01.02
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v4.01.02
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/FrmShortcodeHelper.php +14 -78 6.284.01.02 View file →
@@ -1,12 +1,9 @@
1 1 <?php
2 -if ( ! defined( 'ABSPATH' ) ) {
3 - die( 'You are not allowed to call this page directly.' );
4 -}
5 -
6 2 /**
7 3 * @since 2.02.12
8 4 */
5 +
9 6 class FrmShortcodeHelper {
10 7
11 8 /**
12 9 * Get the shortcode attributes in key/value pairs from a string
@@ -18,15 +15,14 @@
18 15 * @return array
19 16 */
20 17 public static function get_shortcode_attribute_array( $text ) {
21 18 $atts = array();
22 -
23 19 if ( $text !== '' ) {
24 20 $atts = shortcode_parse_atts( $text );
25 21 }
26 22
27 23 if ( ! is_array( $atts ) ) {
28 - return array();
24 + $atts = array();
29 25 }
30 26
31 27 return $atts;
32 28 }
@@ -31,66 +27,14 @@
31 27 return $atts;
32 28 }
33 29
34 30 /**
35 - * Returns shortcodes that are shown/hidden based on the context.
36 - *
37 - * @since 6.16.3
38 - *
39 - * @return array
40 - */
41 - public static function get_contextual_shortcodes() {
42 - return array(
43 - 'address' => array(
44 - 'admin_email' => __( 'Admin email', 'formidable' ),
45 - 'default-from-email' => __( 'Default from email', 'formidable' ),
46 - 'default-email' => __( 'Default email', 'formidable' ),
47 - ),
48 - 'body' => array(
49 - 'default-message' => __( 'Default Msg', 'formidable' ),
50 - 'default-html' => __( 'Default HTML', 'formidable' ),
51 - 'default-plain' => __( 'Default Plain', 'formidable' ),
52 - ),
53 - );
54 - }
55 -
56 - /**
57 - * Get contextual shortcodes.
58 - *
59 - * @since 6.16.3
60 - *
61 - * @return array
62 - */
63 - public static function get_contextual_shortcode_values() {
64 - $contextual_shortcodes = self::get_contextual_shortcodes();
65 - return array_merge( $contextual_shortcodes['address'], $contextual_shortcodes['body'] );
66 - }
67 -
68 - /**
69 - * Get flattened format of contextual shortcodes.
70 - *
71 - * @since 6.16.3
72 - *
73 - * @return array
74 - */
75 - public static function get_contextual_codes() {
76 - $contextual_shortcodes = self::get_contextual_shortcodes();
77 - $result = array();
78 -
79 - foreach ( $contextual_shortcodes as $type => $shortcodes ) {
80 - $result[ $type ] = array_keys( $shortcodes );
81 - }
82 -
83 - return $result;
84 - }
85 -
86 - /**
87 31 * Get the name of the shortcode from the regEx
88 32 *
89 33 * @since 3.0
90 34 *
91 35 * @param array $shortcodes
92 - * @param int $short_key The position in the shortcodes array.
36 + * @param int $short_key The position in the shortcodes array
93 37 * @param array $args
94 38 *
95 39 * @return string
96 40 */
@@ -102,15 +46,13 @@
102 46 'conditional_check' => false,
103 47 'foreach' => false,
104 48 )
105 49 );
106 -
107 50 if ( ( $args['conditional'] || $args['foreach'] ) && ! $args['conditional_check'] ) {
108 51 $args['conditional_check'] = true;
109 52 }
110 53
111 54 $prefix = '';
112 -
113 55 if ( $args['conditional_check'] ) {
114 56 if ( $args['conditional'] ) {
115 57 $prefix = 'if ';
116 58 } elseif ( $args['foreach'] ) {
@@ -118,29 +60,23 @@
118 60 }
119 61 }
120 62
121 63 $with_tags = $args['conditional_check'] ? 3 : 2;
122 -
123 - if ( empty( $shortcodes[ $with_tags ][ $short_key ] ) ) {
124 - return $shortcodes[ $with_tags - 1 ][ $short_key ];
64 + if ( ! empty( $shortcodes[ $with_tags ][ $short_key ] ) ) {
65 + $tag = str_replace( '[' . $prefix, '', $shortcodes[0][ $short_key ] );
66 + $tag = str_replace( ']', '', $tag );
67 + $tag = str_replace( chr( 194 ) . chr( 160 ), ' ', $tag );
68 + $tags = preg_split( '/\s+/', $tag, 2 );
69 + if ( is_array( $tags ) ) {
70 + $tag = $tags[0];
71 + }
72 + } else {
73 + $tag = $shortcodes[ $with_tags - 1 ][ $short_key ];
125 74 }
126 75
127 - $tag = str_replace( '[' . $prefix, '', $shortcodes[0][ $short_key ] );
128 - $tag = str_replace( ']', '', $tag );
129 - $tag = str_replace( chr( 194 ) . chr( 160 ), ' ', $tag );
130 - $tags = preg_split( '/\s+/', $tag, 2 );
131 -
132 - return is_array( $tags ) ? $tags[0] : $tag;
76 + return $tag;
133 77 }
134 78
135 - /**
136 - * @param bool $no_vars
137 - * @param string $code
138 - * @param string $replace_with
139 - * @param string $html
140 - *
141 - * @return void
142 - */
143 79 public static function remove_inline_conditions( $no_vars, $code, $replace_with, &$html ) {
144 80 if ( $no_vars ) {
145 81 $html = str_replace( '[if ' . $code . ']', '', $html );
146 82 $html = str_replace( '[/if ' . $code . ']', '', $html );