PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.19
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.19
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 +16 -24 6.296.19 View file →
@@ -18,14 +18,17 @@
18 18 * @return array
19 19 */
20 20 public static function get_shortcode_attribute_array( $text ) {
21 21 $atts = array();
22 -
23 22 if ( $text !== '' ) {
24 23 $atts = shortcode_parse_atts( $text );
25 24 }
26 25
27 - return is_array( $atts ) ? $atts : array();
26 + if ( ! is_array( $atts ) ) {
27 + $atts = array();
28 + }
29 +
30 + return $atts;
28 31 }
29 32
30 33 /**
31 34 * Returns shortcodes that are shown/hidden based on the context.
@@ -30,9 +33,8 @@
30 33 /**
31 34 * Returns shortcodes that are shown/hidden based on the context.
32 35 *
33 36 * @since 6.16.3
34 - *
35 37 * @return array
36 38 */
37 39 public static function get_contextual_shortcodes() {
38 40 return array(
@@ -70,13 +72,11 @@
70 72 */
71 73 public static function get_contextual_codes() {
72 74 $contextual_shortcodes = self::get_contextual_shortcodes();
73 75 $result = array();
74 -
75 76 foreach ( $contextual_shortcodes as $type => $shortcodes ) {
76 77 $result[ $type ] = array_keys( $shortcodes );
77 78 }
78 -
79 79 return $result;
80 80 }
81 81
82 82 /**
@@ -98,15 +98,13 @@
98 98 'conditional_check' => false,
99 99 'foreach' => false,
100 100 )
101 101 );
102 -
103 102 if ( ( $args['conditional'] || $args['foreach'] ) && ! $args['conditional_check'] ) {
104 103 $args['conditional_check'] = true;
105 104 }
106 105
107 106 $prefix = '';
108 -
109 107 if ( $args['conditional_check'] ) {
110 108 if ( $args['conditional'] ) {
111 109 $prefix = 'if ';
112 110 } elseif ( $args['foreach'] ) {
@@ -114,29 +112,23 @@
114 112 }
115 113 }
116 114
117 115 $with_tags = $args['conditional_check'] ? 3 : 2;
118 -
119 - if ( empty( $shortcodes[ $with_tags ][ $short_key ] ) ) {
120 - return $shortcodes[ $with_tags - 1 ][ $short_key ];
116 + if ( ! empty( $shortcodes[ $with_tags ][ $short_key ] ) ) {
117 + $tag = str_replace( '[' . $prefix, '', $shortcodes[0][ $short_key ] );
118 + $tag = str_replace( ']', '', $tag );
119 + $tag = str_replace( chr( 194 ) . chr( 160 ), ' ', $tag );
120 + $tags = preg_split( '/\s+/', $tag, 2 );
121 + if ( is_array( $tags ) ) {
122 + $tag = $tags[0];
123 + }
124 + } else {
125 + $tag = $shortcodes[ $with_tags - 1 ][ $short_key ];
121 126 }
122 127
123 - $tag = str_replace( '[' . $prefix, '', $shortcodes[0][ $short_key ] );
124 - $tag = str_replace( ']', '', $tag );
125 - $tag = str_replace( chr( 194 ) . chr( 160 ), ' ', $tag );
126 - $tags = preg_split( '/\s+/', $tag, 2 );
127 -
128 - return is_array( $tags ) ? $tags[0] : $tag;
128 + return $tag;
129 129 }
130 130
131 - /**
132 - * @param bool $no_vars
133 - * @param string $code
134 - * @param string $replace_with
135 - * @param string $html
136 - *
137 - * @return void
138 - */
139 131 public static function remove_inline_conditions( $no_vars, $code, $replace_with, &$html ) {
140 132 if ( $no_vars ) {
141 133 $html = str_replace( '[if ' . $code . ']', '', $html );
142 134 $html = str_replace( '[/if ' . $code . ']', '', $html );