PluginProbe ʕ •ᴥ•ʔ
Contact Form 7 / 6.1.1
Contact Form 7 v6.1.1
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 / reflection.php
contact-form-7 / modules Last commit date
akismet 11 months ago constant-contact 10 months ago recaptcha 10 months ago sendinblue 10 months ago stripe 10 months ago turnstile 10 months ago acceptance.php 11 months ago checkbox.php 10 months ago count.php 1 year ago date.php 10 months ago disallowed-list.php 10 months ago doi-helper.php 4 years ago file.php 11 months ago flamingo.php 10 months ago hidden.php 7 years ago listo.php 2 years ago number.php 10 months ago quiz.php 11 months ago really-simple-captcha.php 10 months ago reflection.php 3 years ago response.php 6 years ago select.php 10 months ago submit.php 11 months ago text.php 10 months ago textarea.php 11 months ago
reflection.php
119 lines
1 <?php
2 /**
3 * Reflection module
4 *
5 * @link https://contactform7.com/reflection/
6 */
7
8
9 add_action( 'wpcf7_init', 'wpcf7_add_form_tag_reflection', 10, 0 );
10
11 /**
12 * Registers reflection-related form-tag types.
13 */
14 function wpcf7_add_form_tag_reflection() {
15 wpcf7_add_form_tag( 'reflection',
16 'wpcf7_reflection_form_tag_handler',
17 array(
18 'name-attr' => true,
19 'display-block' => true,
20 'not-for-mail' => true,
21 )
22 );
23
24 wpcf7_add_form_tag( 'output',
25 'wpcf7_output_form_tag_handler',
26 array(
27 'name-attr' => true,
28 'not-for-mail' => true,
29 )
30 );
31 }
32
33
34 /**
35 * The form-tag handler for the reflection type.
36 */
37 function wpcf7_reflection_form_tag_handler( $tag ) {
38 if ( empty( $tag->name ) ) {
39 return '';
40 }
41
42 $values = $tag->values ? $tag->values : array( '' );
43
44 if ( ! wpcf7_get_validation_error( $tag->name ) ) {
45 $hangover = array_filter( (array) wpcf7_get_hangover( $tag->name ) );
46
47 if ( $hangover ) {
48 $values = $hangover;
49 }
50 }
51
52 $content = array_reduce(
53 $values,
54 static function ( $carry, $item ) use ( $tag ) {
55 $output_tag = sprintf(
56 '<output %1$s>%2$s</output>',
57 wpcf7_format_atts( array(
58 'name' => $tag->name,
59 'data-default' => $item,
60 ) ),
61 ( '' !== $item ) ? esc_html( $item ) : '&nbsp;'
62 );
63
64 return $carry . $output_tag;
65 },
66 ''
67 );
68
69 $html = sprintf(
70 '<fieldset %1$s>%2$s</fieldset>',
71 wpcf7_format_atts( array(
72 'data-reflection-of' => $tag->name,
73 'class' => $tag->get_class_option(
74 wpcf7_form_controls_class( $tag->type )
75 ),
76 'id' => $tag->get_id_option(),
77 ) ),
78 $content
79 );
80
81 return $html;
82 }
83
84
85 /**
86 * The form-tag handler for the output type.
87 */
88 function wpcf7_output_form_tag_handler( $tag ) {
89 if ( empty( $tag->name ) ) {
90 return '';
91 }
92
93 $value = (string) reset( $tag->values );
94
95 if ( ! wpcf7_get_validation_error( $tag->name ) ) {
96 $hangover = array_filter( (array) wpcf7_get_hangover( $tag->name ) );
97
98 if ( $hangover ) {
99 $value = (string) reset( $hangover );
100 }
101 }
102
103 $html = sprintf(
104 '<output %1$s>%2$s</output>',
105 wpcf7_format_atts( array(
106 'data-reflection-of' => $tag->name,
107 'data-default' => $value,
108 'name' => $tag->name,
109 'class' => $tag->get_class_option(
110 wpcf7_form_controls_class( $tag->type )
111 ),
112 'id' => $tag->get_id_option(),
113 ) ),
114 esc_html( $value )
115 );
116
117 return $html;
118 }
119