PluginProbe
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More / 6.2
Formidable Forms – WordPress Form Builder for Contact Forms, Calculators, Quizzes & More v6.2
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/models/fields/FrmFieldUrl.php +10 -14 6.276.2 View file →
@@ -9,14 +9,18 @@
9 9 class FrmFieldUrl extends FrmFieldType {
10 10
11 11 /**
12 12 * @var string
13 - *
14 13 * @since 3.0
15 14 */
16 15 protected $type = 'url';
17 16
18 17 /**
18 + * @var string
19 + */
20 + protected $display_type = 'text';
21 +
22 + /**
19 23 * @var bool
20 24 */
21 25 protected $array_allowed = false;
22 26
@@ -48,10 +52,8 @@
48 52 return __( 'Website', 'formidable' );
49 53 }
50 54
51 55 /**
52 - * @param array $atts
53 - *
54 56 * @return void
55 57 */
56 58 protected function fill_default_atts( &$atts ) {
57 59 $defaults = array(
@@ -66,14 +68,13 @@
66 68 }
67 69
68 70 public function validate( $args ) {
69 71 $value = $args['value'];
70 -
71 - if ( trim( $value ) === 'http://' || ! $value ) {
72 + if ( trim( $value ) == 'http://' || empty( $value ) ) {
72 73 $value = '';
73 74 } else {
74 75 $value = esc_url_raw( $value );
75 - $value = preg_match( '/^(https?|ftps?|mailto|news|feed|telnet):/is', $value ) ? $value : 'https://' . $value;
76 + $value = preg_match( '/^(https?|ftps?|mailto|news|feed|telnet):/is', $value ) ? $value : 'http://' . $value;
76 77 }
77 78
78 79 FrmEntriesHelper::set_posted_value( $this->field, $value, $args );
79 80
@@ -79,11 +80,11 @@
79 80
80 81 $errors = array();
81 82
82 83 // validate the url format
83 - if ( $value && ! preg_match( '/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i', $value ) ) {
84 + if ( ! empty( $value ) && ! preg_match( '/^http(s)?:\/\/(?:localhost|(?:[\da-z\.-]+\.[\da-z\.-]+))/i', $value ) ) {
84 85 $errors[ 'field' . $args['id'] ] = FrmFieldsHelper::get_error_msg( $this->field, 'invalid' );
85 - } elseif ( $this->field->required == '1' && ! $value ) { // phpcs:ignore Universal.Operators.StrictComparisons
86 + } elseif ( $this->field->required == '1' && empty( $value ) ) {
86 87 $errors[ 'field' . $args['id'] ] = FrmFieldsHelper::get_error_msg( $this->field, 'blank' );
87 88 }
88 89
89 90 return $errors;
@@ -91,20 +92,17 @@
91 92
92 93 protected function prepare_display_value( $value, $atts ) {
93 94 if ( $atts['html'] ) {
94 95 $images = '';
95 -
96 96 foreach ( (array) $value as $url ) {
97 97 $image_regex = '/(\.(?i)(jpg|jpeg|png|gif))$/';
98 98 $is_image = preg_match( $image_regex, $url );
99 -
100 99 if ( $is_image ) {
101 - $images .= '<img src="' . esc_url( $url ) . '" class="frm_image_from_url" alt="" /> ';
100 + $images .= '<img src="' . esc_attr( $url ) . '" class="frm_image_from_url" alt="" /> ';
102 101 } else {
103 102 $images .= strip_tags( $url );
104 103 }
105 104 }
106 -
107 105 $value = $images;
108 106 }
109 107
110 108 return $value;
@@ -111,10 +109,8 @@
111 109 }
112 110
113 111 /**
114 112 * @since 4.0.04
115 - *
116 - * @param array|string $value
117 113 *
118 114 * @return void
119 115 */
120 116 public function sanitize_value( &$value ) {