PluginProbe ʕ •ᴥ•ʔ
Contact Form 7 / 2.0-beta
Contact Form 7 v2.0-beta
6.1.6 5.0.2 5.0.3 5.0.4 5.0.5 5.1 5.1.1 5.1.2 5.1.3 5.1.4 5.1.5 5.1.6 5.1.7 5.1.8 5.1.9 5.2 5.2.1 5.2.2 5.3 5.3.1 5.3.2 5.4 5.4.1 5.4.2 5.5 5.5.1 5.5.2 5.5.3 5.5.4 5.5.5 5.5.6 5.5.6.1 5.6 5.6.1 5.6.2 5.6.3 5.6.4 5.7 5.7.1 5.7.2 5.7.3 5.7.4 5.7.5 5.7.5.1 5.7.6 5.7.7 5.8 5.8.1 5.8.2 5.8.3 5.8.4 5.8.5 5.8.6 5.8.7 5.9 5.9.2 5.9.3 5.9.4 5.9.5 5.9.6 5.9.7 5.9.8 6.0 6.0.1 6.0.2 6.0.3 6.0.4 6.0.5 6.0.6 6.1 6.1.1 6.1.2 6.1.3 6.1.4 6.1.5 trunk 1.1 1.10 1.10.0.1 1.10.1 1.2 1.3 1.3.1 1.3.2 1.4 1.4.1 1.4.2 1.4.3 1.4.4 1.5 1.6 1.6.1 1.7 1.7.1 1.7.2 1.7.4 1.7.5 1.7.6 1.7.6.1 1.7.7 1.7.7.1 1.7.8 1.8 1.8.0.1 1.8.0.2 1.8.0.3 1.8.0.4 1.8.1 1.8.1.1 1.9 1.9.1 1.9.2 1.9.2.1 1.9.2.2 1.9.3 1.9.4 1.9.5 1.9.5.1 2.0 2.0-beta 2.0.1 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.1 2.1.1 2.1.2 2.2 2.2.1 2.3 2.3.1 2.4 2.4.1 2.4.2 2.4.3 2.4.4 2.4.5 2.4.6 3.0 3.0-beta 3.0.1 3.0.2 3.0.2.1 3.1 3.1.1 3.1.2 3.2 3.2.1 3.3 3.3.1 3.3.2 3.3.3 3.4 3.4.1 3.4.2 3.5 3.5.1 3.5.2 3.5.3 3.5.4 3.6 3.7 3.7.1 3.7.2 3.8 3.8.1 3.9 3.9-beta 3.9.1 3.9.2 3.9.3 4.0 4.0.1 4.0.2 4.0.3 4.1 4.1-beta 4.1.1 4.1.2 4.2 4.2-beta 4.2.1 4.2.2 4.3 4.3.1 4.4 4.4.1 4.4.2 4.5 4.5.1 4.6 4.6.1 4.7 4.8 4.8.1 4.9 4.9.1 4.9.2 5.0 5.0.1
contact-form-7 / modules / text.php
contact-form-7 / modules Last commit date
acceptance.php 16 years ago captcha.php 16 years ago checkbox.php 16 years ago file.php 16 years ago icl.php 16 years ago quiz.php 16 years ago select.php 16 years ago submit.php 16 years ago text.php 16 years ago textarea.php 16 years ago
text.php
123 lines
1 <?php
2 /**
3 ** A base module for [text], [text*], [email], and [email*]
4 **/
5
6 /* Shortcode handler */
7
8 function wpcf7_text_shortcode_handler( $tag ) {
9 global $wpcf7_contact_form;
10
11 if ( ! is_array( $tag ) )
12 return '';
13
14 $type = $tag['type'];
15 $name = $tag['name'];
16 $options = (array) $tag['options'];
17 $values = (array) $tag['values'];
18
19 if ( empty( $name ) )
20 return '';
21
22 $atts = '';
23 $id_att = '';
24 $class_att = '';
25 $size_att = '';
26 $maxlength_att = '';
27
28 if ( 'email' == $type || 'email*' == $type )
29 $class_att .= ' wpcf7-validates-as-email';
30
31 if ( 'text*' == $type || 'email*' == $type )
32 $class_att .= ' wpcf7-validates-as-required';
33
34 foreach ( $options as $option ) {
35 if ( preg_match( '%^id:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
36 $id_att = $matches[1];
37
38 } elseif ( preg_match( '%^class:([-0-9a-zA-Z_]+)$%', $option, $matches ) ) {
39 $class_att .= ' ' . $matches[1];
40
41 } elseif ( preg_match( '%^([0-9]*)[/x]([0-9]*)$%', $option, $matches ) ) {
42 $size_att = (int) $matches[1];
43 $maxlength_att = (int) $matches[2];
44 }
45 }
46
47 if ( $id_att )
48 $atts .= ' id="' . trim( $id_att ) . '"';
49
50 if ( $class_att )
51 $atts .= ' class="' . trim( $class_att ) . '"';
52
53 if ( $size_att )
54 $atts .= ' size="' . $size_att . '"';
55 else
56 $atts .= ' size="40"'; // default size
57
58 if ( $maxlength_att )
59 $atts .= ' maxlength="' . $maxlength_att . '"';
60
61 // Value
62 if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) && $wpcf7_contact_form->is_posted() ) {
63 if ( isset( $_POST['_wpcf7_mail_sent'] ) && $_POST['_wpcf7_mail_sent']['ok'] )
64 $value = '';
65 else
66 $value = $_POST[$name];
67 } else {
68 $value = $values[0];
69 }
70
71 $html = '<input type="text" name="' . $name . '" value="' . esc_attr( $value ) . '"' . $atts . ' />';
72
73 $validation_error = '';
74 if ( is_a( $wpcf7_contact_form, 'WPCF7_ContactForm' ) )
75 $validation_error = $wpcf7_contact_form->validation_error( $name );
76
77 $html = '<span class="wpcf7-form-control-wrap ' . $name . '">' . $html . $validation_error . '</span>';
78
79 return $html;
80 }
81
82 wpcf7_add_shortcode( 'text', 'wpcf7_text_shortcode_handler', true );
83 wpcf7_add_shortcode( 'text*', 'wpcf7_text_shortcode_handler', true );
84 wpcf7_add_shortcode( 'email', 'wpcf7_text_shortcode_handler', true );
85 wpcf7_add_shortcode( 'email*', 'wpcf7_text_shortcode_handler', true );
86
87
88 /* Validation filter */
89
90 function wpcf7_text_validation_filter( $result, $tag ) {
91 global $wpcf7_contact_form;
92
93 $type = $tag['type'];
94 $name = $tag['name'];
95
96 $_POST[$name] = trim( strtr( (string) $_POST[$name], "\n", " " ) );
97
98 if ( 'text*' == $type ) {
99 if ( '' == $_POST[$name] ) {
100 $result['valid'] = false;
101 $result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
102 }
103 }
104
105 if ( 'email' == $type || 'email*' == $type ) {
106 if ( 'email*' == $type && '' == $_POST[$name] ) {
107 $result['valid'] = false;
108 $result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_required' );
109 } elseif ( '' != $_POST[$name] && ! is_email( $_POST[$name] ) ) {
110 $result['valid'] = false;
111 $result['reason'][$name] = $wpcf7_contact_form->message( 'invalid_email' );
112 }
113 }
114
115 return $result;
116 }
117
118 add_filter( 'wpcf7_validate_text', 'wpcf7_text_validation_filter', 10, 2 );
119 add_filter( 'wpcf7_validate_text*', 'wpcf7_text_validation_filter', 10, 2 );
120 add_filter( 'wpcf7_validate_email', 'wpcf7_text_validation_filter', 10, 2 );
121 add_filter( 'wpcf7_validate_email*', 'wpcf7_text_validation_filter', 10, 2 );
122
123 ?>