Version Description
- Support free_text option that allows checkbox/radio to have an additional free text field.
- Restore floating-tip style validation error as an option.
- Support html_id and html_class attributes in [contact-form-7] shortcode.
- Fixed bug that Flamingo stored submissions in demo-mode.
- Fixed bug where auto-p function wrapped [response] with p.
- The jQuery Form Plugin (jquery.form.js) has been updated to 3.48.0.
- Translation for Haitian has been created. Translations for German, Hungarian, Czech, Turkish, Lithuanian, French, Basque, and Brazilian Portuguese have been updated.
Download this release
Release Info
Developer | takayukister |
Plugin | Contact Form 7 |
Version | 3.7 |
Comparing to | |
See all releases |
Code changes from version 3.6 to 3.7
- admin/admin.php +6 -28
- admin/css/styles.css +23 -58
- admin/edit-contact-form.php +3 -3
- admin/includes/class-contact-forms-list-table.php +5 -3
- includes/classes.php +175 -103
- includes/controller.php +31 -72
- includes/css/styles-rtl.css +5 -0
- includes/css/styles.css +10 -0
- includes/formatting.php +17 -3
- includes/functions.php +13 -17
- includes/js/jquery.form.js +107 -46
- includes/js/jquery.form.min.js +2 -2
- includes/js/scripts.js +47 -2
- includes/pipe.php +26 -14
- includes/shortcodes.php +60 -28
- languages/contact-form-7-cs_CZ.mo +0 -0
- languages/contact-form-7-de_DE.mo +0 -0
- languages/contact-form-7-eu.mo +0 -0
- languages/contact-form-7-fr_FR.mo +0 -0
- languages/contact-form-7-ht.mo +0 -0
- languages/contact-form-7-hu_HU.mo +0 -0
- languages/contact-form-7-ja.mo +0 -0
- languages/contact-form-7-lt_LT.mo +0 -0
- languages/contact-form-7-pt_BR.mo +0 -0
- languages/contact-form-7-tr_TR.mo +0 -0
- languages/contact-form-7.pot +266 -262
- modules/acceptance.php +2 -9
- modules/captcha.php +74 -56
- modules/checkbox.php +93 -5
- modules/date.php +2 -2
- modules/file.php +4 -3
- modules/number.php +2 -2
- modules/quiz.php +1 -1
- modules/select.php +2 -2
- modules/submit.php +1 -1
- modules/text.php +4 -20
- modules/textarea.php +2 -2
- readme.txt +15 -4
- settings.php +1 -18
- wp-contact-form-7.php +3 -3
admin/admin.php
CHANGED
@@ -47,7 +47,7 @@ function wpcf7_set_screen_options( $result, $option, $value ) {
|
|
47 |
}
|
48 |
|
49 |
function wpcf7_load_contact_form_admin() {
|
50 |
-
global $
|
51 |
|
52 |
$action = wpcf7_current_action();
|
53 |
|
@@ -139,8 +139,6 @@ function wpcf7_load_contact_form_admin() {
|
|
139 |
|
140 |
$query['post'] = $new_contact_form->id;
|
141 |
$query['message'] = 'created';
|
142 |
-
} else {
|
143 |
-
$query['post'] = $contact_form->id;
|
144 |
}
|
145 |
|
146 |
$redirect_to = add_query_arg( $query, menu_page_url( 'wpcf7', false ) );
|
@@ -218,7 +216,9 @@ function wpcf7_load_contact_form_admin() {
|
|
218 |
'option' => 'cfseven_contact_forms_per_page' ) );
|
219 |
}
|
220 |
|
221 |
-
|
|
|
|
|
222 |
}
|
223 |
|
224 |
add_action( 'admin_enqueue_scripts', 'wpcf7_admin_enqueue_scripts' );
|
@@ -256,10 +256,7 @@ function wpcf7_admin_enqueue_scripts( $hook_suffix ) {
|
|
256 |
}
|
257 |
|
258 |
function wpcf7_admin_management_page() {
|
259 |
-
|
260 |
-
|
261 |
-
if ( $wpcf7_contact_form ) {
|
262 |
-
$post =& $wpcf7_contact_form;
|
263 |
$post_id = $post->initial ? -1 : $post->id;
|
264 |
|
265 |
require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php';
|
@@ -299,10 +296,7 @@ function wpcf7_admin_management_page() {
|
|
299 |
}
|
300 |
|
301 |
function wpcf7_admin_add_new_page() {
|
302 |
-
|
303 |
-
|
304 |
-
if ( $wpcf7_contact_form ) {
|
305 |
-
$post =& $wpcf7_contact_form;
|
306 |
$post_id = -1;
|
307 |
|
308 |
require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php';
|
@@ -369,22 +363,6 @@ function wpcf7_add_meta_boxes( $post_id ) {
|
|
369 |
|
370 |
/* Misc */
|
371 |
|
372 |
-
add_action( 'wpcf7_admin_notices', 'wpcf7_admin_before_subsubsub' );
|
373 |
-
|
374 |
-
function wpcf7_admin_before_subsubsub() {
|
375 |
-
// wpcf7_admin_before_subsubsub is deprecated. Use wpcf7_admin_notices instead.
|
376 |
-
|
377 |
-
$current_screen = get_current_screen();
|
378 |
-
|
379 |
-
if ( 'toplevel_page_wpcf7' != $current_screen->id )
|
380 |
-
return;
|
381 |
-
|
382 |
-
if ( empty( $_GET['post'] ) || ! $contact_form = wpcf7_contact_form( $_GET['post'] ) )
|
383 |
-
return;
|
384 |
-
|
385 |
-
do_action_ref_array( 'wpcf7_admin_before_subsubsub', array( &$contact_form ) );
|
386 |
-
}
|
387 |
-
|
388 |
add_action( 'wpcf7_admin_notices', 'wpcf7_admin_updated_message' );
|
389 |
|
390 |
function wpcf7_admin_updated_message() {
|
47 |
}
|
48 |
|
49 |
function wpcf7_load_contact_form_admin() {
|
50 |
+
global $plugin_page;
|
51 |
|
52 |
$action = wpcf7_current_action();
|
53 |
|
139 |
|
140 |
$query['post'] = $new_contact_form->id;
|
141 |
$query['message'] = 'created';
|
|
|
|
|
142 |
}
|
143 |
|
144 |
$redirect_to = add_query_arg( $query, menu_page_url( 'wpcf7', false ) );
|
216 |
'option' => 'cfseven_contact_forms_per_page' ) );
|
217 |
}
|
218 |
|
219 |
+
if ( $post ) {
|
220 |
+
WPCF7_ContactForm::set_current( $post );
|
221 |
+
}
|
222 |
}
|
223 |
|
224 |
add_action( 'admin_enqueue_scripts', 'wpcf7_admin_enqueue_scripts' );
|
256 |
}
|
257 |
|
258 |
function wpcf7_admin_management_page() {
|
259 |
+
if ( $post = wpcf7_get_current_contact_form() ) {
|
|
|
|
|
|
|
260 |
$post_id = $post->initial ? -1 : $post->id;
|
261 |
|
262 |
require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php';
|
296 |
}
|
297 |
|
298 |
function wpcf7_admin_add_new_page() {
|
299 |
+
if ( $post = wpcf7_get_current_contact_form() ) {
|
|
|
|
|
|
|
300 |
$post_id = -1;
|
301 |
|
302 |
require_once WPCF7_PLUGIN_DIR . '/admin/includes/meta-boxes.php';
|
363 |
|
364 |
/* Misc */
|
365 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
366 |
add_action( 'wpcf7_admin_notices', 'wpcf7_admin_updated_message' );
|
367 |
|
368 |
function wpcf7_admin_updated_message() {
|
admin/css/styles.css
CHANGED
@@ -13,34 +13,6 @@ div.wrap div.cf7com-links a {
|
|
13 |
font-weight: bold;
|
14 |
}
|
15 |
|
16 |
-
div.wrap div.donation {
|
17 |
-
border-width: 1px;
|
18 |
-
border-style: solid;
|
19 |
-
padding: 0 0.6em;
|
20 |
-
margin: 5px 0 15px;
|
21 |
-
-webkit-border-radius: 3px;
|
22 |
-
border-radius: 3px;
|
23 |
-
background-color: #ffffe0;
|
24 |
-
border-color: #e6db55;
|
25 |
-
}
|
26 |
-
|
27 |
-
div.wrap div.donation p {
|
28 |
-
margin: .7em 0;
|
29 |
-
line-height: 1;
|
30 |
-
padding: 2px;
|
31 |
-
font-size: 107%;
|
32 |
-
}
|
33 |
-
|
34 |
-
div.wrap div.donation p a {
|
35 |
-
color: #3f3f3f;
|
36 |
-
text-decoration: none;
|
37 |
-
}
|
38 |
-
|
39 |
-
div.wrap div.donation p a.button {
|
40 |
-
margin-left: 1em;
|
41 |
-
font-weight: bold;
|
42 |
-
}
|
43 |
-
|
44 |
#titlediv {
|
45 |
margin-bottom: 20px;
|
46 |
position: relative;
|
@@ -80,18 +52,19 @@ div.actions-link input.delete {
|
|
80 |
}
|
81 |
|
82 |
input#wpcf7-title {
|
83 |
-
color: #
|
84 |
border: none;
|
85 |
-
font: bold
|
|
|
86 |
cursor: pointer;
|
87 |
background-color: transparent;
|
88 |
box-shadow: none;
|
|
|
89 |
}
|
90 |
|
91 |
input#wpcf7-title.focus {
|
92 |
-
color: #
|
93 |
border: 1px solid #aaa;
|
94 |
-
font: normal 13px Verdana, Arial, Helvetica, sans-serif;
|
95 |
cursor: text;
|
96 |
background-color: transparent;
|
97 |
box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
|
@@ -107,12 +80,7 @@ p.tagcode {
|
|
107 |
}
|
108 |
|
109 |
input#contact-form-anchor-text, input#contact-form-anchor-text-old {
|
110 |
-
color: #fff;
|
111 |
-
background: #7e4e0b;
|
112 |
-
border: none;
|
113 |
width: 100%;
|
114 |
-
-webkit-border-radius: 6px;
|
115 |
-
border-radius: 6px;
|
116 |
}
|
117 |
|
118 |
.postbox .half, .postbox .half-left, .postbox .half-right {
|
@@ -166,12 +134,10 @@ div.tag-generator {
|
|
166 |
}
|
167 |
|
168 |
div.tg-pane {
|
169 |
-
border: 1px
|
170 |
-
background: #
|
171 |
margin: 1ex 0 0 0;
|
172 |
padding: 10px;
|
173 |
-
-webkit-border-radius: 6px;
|
174 |
-
border-radius: 6px;
|
175 |
line-height: 140%;
|
176 |
}
|
177 |
|
@@ -200,16 +166,11 @@ div.tg-pane table td {
|
|
200 |
|
201 |
div.tg-pane input.tag, div.tg-pane input.mail-tag {
|
202 |
width: 100%;
|
203 |
-
|
204 |
-
color: #fff;
|
205 |
-
background-color: #7e4e0b;
|
206 |
-
-webkit-border-radius: 6px;
|
207 |
-
border-radius: 6px;
|
208 |
}
|
209 |
|
210 |
div.tg-pane input.mail-tag {
|
211 |
-
width:
|
212 |
-
background-color: #404f03;
|
213 |
}
|
214 |
|
215 |
div.tg-mail-tag {
|
@@ -217,12 +178,6 @@ div.tg-mail-tag {
|
|
217 |
text-align: right;
|
218 |
}
|
219 |
|
220 |
-
div.tg-pane span.arrow {
|
221 |
-
font-family: monospace;
|
222 |
-
font-size: 1.2em;
|
223 |
-
color: #333;
|
224 |
-
}
|
225 |
-
|
226 |
div.tg-pane input.tg-name {
|
227 |
border-color: #555;
|
228 |
}
|
@@ -259,14 +214,24 @@ span.tg-closebutton {
|
|
259 |
}
|
260 |
|
261 |
div.tg-panetitle {
|
262 |
-
|
263 |
-
|
264 |
-
|
|
|
|
|
|
|
|
|
|
|
265 |
}
|
266 |
|
267 |
input.shortcode-in-list-table {
|
268 |
width: 100%;
|
269 |
-
|
|
|
|
|
|
|
|
|
|
|
270 |
}
|
271 |
|
272 |
/* welcome panel */
|
13 |
font-weight: bold;
|
14 |
}
|
15 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
16 |
#titlediv {
|
17 |
margin-bottom: 20px;
|
18 |
position: relative;
|
52 |
}
|
53 |
|
54 |
input#wpcf7-title {
|
55 |
+
color: #5f5f5f;
|
56 |
border: none;
|
57 |
+
font-weight: bold;
|
58 |
+
font-size: 1.5em;
|
59 |
cursor: pointer;
|
60 |
background-color: transparent;
|
61 |
box-shadow: none;
|
62 |
+
width: 80%;
|
63 |
}
|
64 |
|
65 |
input#wpcf7-title.focus {
|
66 |
+
color: #3f3f3f;
|
67 |
border: 1px solid #aaa;
|
|
|
68 |
cursor: text;
|
69 |
background-color: transparent;
|
70 |
box-shadow: inset 0 1px 2px rgba(0,0,0,0.07);
|
80 |
}
|
81 |
|
82 |
input#contact-form-anchor-text, input#contact-form-anchor-text-old {
|
|
|
|
|
|
|
83 |
width: 100%;
|
|
|
|
|
84 |
}
|
85 |
|
86 |
.postbox .half, .postbox .half-left, .postbox .half-right {
|
134 |
}
|
135 |
|
136 |
div.tg-pane {
|
137 |
+
border: 1px solid #e1e1e1;
|
138 |
+
background: #f7f7f7;
|
139 |
margin: 1ex 0 0 0;
|
140 |
padding: 10px;
|
|
|
|
|
141 |
line-height: 140%;
|
142 |
}
|
143 |
|
166 |
|
167 |
div.tg-pane input.tag, div.tg-pane input.mail-tag {
|
168 |
width: 100%;
|
169 |
+
font-size: 90%;
|
|
|
|
|
|
|
|
|
170 |
}
|
171 |
|
172 |
div.tg-pane input.mail-tag {
|
173 |
+
width: 65%;
|
|
|
174 |
}
|
175 |
|
176 |
div.tg-mail-tag {
|
178 |
text-align: right;
|
179 |
}
|
180 |
|
|
|
|
|
|
|
|
|
|
|
|
|
181 |
div.tg-pane input.tg-name {
|
182 |
border-color: #555;
|
183 |
}
|
214 |
}
|
215 |
|
216 |
div.tg-panetitle {
|
217 |
+
font-weight: bold;
|
218 |
+
font-size: 1.5em;
|
219 |
+
margin: 0 0 .5em;
|
220 |
+
color: #5f5f5f;
|
221 |
+
}
|
222 |
+
|
223 |
+
.fixed .column-title {
|
224 |
+
width: 32%;
|
225 |
}
|
226 |
|
227 |
input.shortcode-in-list-table {
|
228 |
width: 100%;
|
229 |
+
font-size: 90%;
|
230 |
+
}
|
231 |
+
|
232 |
+
input[readonly].code {
|
233 |
+
background: #f3f3f3;
|
234 |
+
color: #3f3f3f;
|
235 |
}
|
236 |
|
237 |
/* welcome panel */
|
admin/edit-contact-form.php
CHANGED
@@ -42,19 +42,19 @@ if ( $post ) :
|
|
42 |
<div id="poststuff" class="metabox-holder">
|
43 |
|
44 |
<div id="titlediv">
|
45 |
-
<input type="text" id="wpcf7-title" name="wpcf7-title" size="
|
46 |
|
47 |
<?php if ( ! $post->initial ) : ?>
|
48 |
<p class="tagcode">
|
49 |
<?php echo esc_html( __( "Copy this code and paste it into your post, page or text widget content.", 'contact-form-7' ) ); ?><br />
|
50 |
|
51 |
-
<input type="text" id="contact-form-anchor-text" onfocus="this.select();" readonly="readonly" />
|
52 |
</p>
|
53 |
|
54 |
<p class="tagcode" style="display: none;">
|
55 |
<?php echo esc_html( __( "Old code is also available.", 'contact-form-7' ) ); ?><br />
|
56 |
|
57 |
-
<input type="text" id="contact-form-anchor-text-old" onfocus="this.select();" readonly="readonly" />
|
58 |
</p>
|
59 |
<?php endif; ?>
|
60 |
|
42 |
<div id="poststuff" class="metabox-holder">
|
43 |
|
44 |
<div id="titlediv">
|
45 |
+
<input type="text" id="wpcf7-title" name="wpcf7-title" size="80" value="<?php echo esc_attr( $post->title ); ?>"<?php echo $disabled; ?> />
|
46 |
|
47 |
<?php if ( ! $post->initial ) : ?>
|
48 |
<p class="tagcode">
|
49 |
<?php echo esc_html( __( "Copy this code and paste it into your post, page or text widget content.", 'contact-form-7' ) ); ?><br />
|
50 |
|
51 |
+
<input type="text" id="contact-form-anchor-text" onfocus="this.select();" readonly="readonly" class="wp-ui-text-highlight code" />
|
52 |
</p>
|
53 |
|
54 |
<p class="tagcode" style="display: none;">
|
55 |
<?php echo esc_html( __( "Old code is also available.", 'contact-form-7' ) ); ?><br />
|
56 |
|
57 |
+
<input type="text" id="contact-form-anchor-text-old" onfocus="this.select();" readonly="readonly" class="wp-ui-text-highlight code" />
|
58 |
</p>
|
59 |
<?php endif; ?>
|
60 |
|
admin/includes/class-contact-forms-list-table.php
CHANGED
@@ -56,7 +56,7 @@ class WPCF7_Contact_Form_List_Table extends WP_List_Table {
|
|
56 |
|
57 |
$this->items = WPCF7_ContactForm::find( $args );
|
58 |
|
59 |
-
$total_items = WPCF7_ContactForm
|
60 |
$total_pages = ceil( $total_items / $per_page );
|
61 |
|
62 |
$this->set_pagination_args( array(
|
@@ -138,8 +138,10 @@ class WPCF7_Contact_Form_List_Table extends WP_List_Table {
|
|
138 |
$output = '';
|
139 |
|
140 |
foreach ( $shortcodes as $shortcode ) {
|
141 |
-
$output .= "\n" . '<input type="text"
|
142 |
-
|
|
|
|
|
143 |
}
|
144 |
|
145 |
return trim( $output );
|
56 |
|
57 |
$this->items = WPCF7_ContactForm::find( $args );
|
58 |
|
59 |
+
$total_items = WPCF7_ContactForm::count();
|
60 |
$total_pages = ceil( $total_items / $per_page );
|
61 |
|
62 |
$this->set_pagination_args( array(
|
138 |
$output = '';
|
139 |
|
140 |
foreach ( $shortcodes as $shortcode ) {
|
141 |
+
$output .= "\n" . '<input type="text"'
|
142 |
+
. ' onfocus="this.select();" readonly="readonly"'
|
143 |
+
. ' value="' . esc_attr( $shortcode ) . '"'
|
144 |
+
. ' class="shortcode-in-list-table wp-ui-text-highlight code" />';
|
145 |
}
|
146 |
|
147 |
return trim( $output );
|
includes/classes.php
CHANGED
@@ -4,23 +4,62 @@ class WPCF7_ContactForm {
|
|
4 |
|
5 |
const post_type = 'wpcf7_contact_form';
|
6 |
|
7 |
-
|
|
|
|
|
8 |
|
9 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
10 |
|
11 |
-
|
12 |
-
|
13 |
-
|
|
|
|
|
|
|
|
|
14 |
|
15 |
-
|
|
|
|
|
16 |
|
17 |
-
|
18 |
-
|
|
|
19 |
|
20 |
-
|
21 |
-
|
|
|
22 |
|
23 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
|
25 |
public static function register_post_type() {
|
26 |
register_post_type( self::post_type, array(
|
@@ -89,7 +128,43 @@ class WPCF7_ContactForm {
|
|
89 |
do_action_ref_array( 'wpcf7_contact_form', array( &$this ) );
|
90 |
}
|
91 |
|
92 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
93 |
$prop_names = array( 'form', 'mail', 'mail_2', 'messages', 'additional_settings' );
|
94 |
|
95 |
$properties = array();
|
@@ -101,7 +176,7 @@ class WPCF7_ContactForm {
|
|
101 |
}
|
102 |
|
103 |
// Return true if this form is the same one as currently POSTed.
|
104 |
-
function is_posted() {
|
105 |
if ( ! isset( $_POST['_wpcf7_unit_tag'] ) || empty( $_POST['_wpcf7_unit_tag'] ) )
|
106 |
return false;
|
107 |
|
@@ -111,7 +186,7 @@ class WPCF7_ContactForm {
|
|
111 |
return false;
|
112 |
}
|
113 |
|
114 |
-
function clear_post() {
|
115 |
$fes = $this->form_scan_shortcode();
|
116 |
|
117 |
foreach ( $fes as $fe ) {
|
@@ -127,8 +202,12 @@ class WPCF7_ContactForm {
|
|
127 |
|
128 |
/* Generating Form HTML */
|
129 |
|
130 |
-
function form_html() {
|
131 |
-
|
|
|
|
|
|
|
|
|
132 |
|
133 |
$form = '<div class="wpcf7" id="' . $this->unit_tag . '">';
|
134 |
|
@@ -141,20 +220,32 @@ class WPCF7_ContactForm {
|
|
141 |
|
142 |
$url = apply_filters( 'wpcf7_form_action_url', $url );
|
143 |
|
|
|
|
|
|
|
144 |
$class = 'wpcf7-form';
|
145 |
|
|
|
|
|
146 |
if ( $this->is_posted() ) {
|
147 |
-
if ( empty( $
|
148 |
$class .= ' invalid';
|
149 |
-
elseif ( ! empty( $
|
150 |
$class .= ' spam';
|
151 |
-
elseif ( ! empty( $
|
152 |
$class .= ' sent';
|
153 |
else
|
154 |
$class .= ' failed';
|
155 |
}
|
156 |
|
157 |
-
$
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
|
159 |
$enctype = apply_filters( 'wpcf7_form_enctype', '' );
|
160 |
|
@@ -162,6 +253,7 @@ class WPCF7_ContactForm {
|
|
162 |
wpcf7_support_html5() ? ' novalidate="novalidate"' : '' );
|
163 |
|
164 |
$form .= '<form action="' . esc_url_raw( $url ) . '" method="post"'
|
|
|
165 |
. ' class="' . esc_attr( $class ) . '"'
|
166 |
. $enctype . $novalidate . '>' . "\n";
|
167 |
|
@@ -179,7 +271,7 @@ class WPCF7_ContactForm {
|
|
179 |
return $form;
|
180 |
}
|
181 |
|
182 |
-
function form_hidden_fields() {
|
183 |
$hidden_fields = array(
|
184 |
'_wpcf7' => $this->id,
|
185 |
'_wpcf7_version' => WPCF7_VERSION,
|
@@ -200,28 +292,28 @@ class WPCF7_ContactForm {
|
|
200 |
return '<div style="display: none;">' . "\n" . $content . '</div>' . "\n";
|
201 |
}
|
202 |
|
203 |
-
function form_response_output() {
|
204 |
-
global $wpcf7;
|
205 |
-
|
206 |
$class = 'wpcf7-response-output';
|
207 |
$role = '';
|
208 |
$content = '';
|
209 |
|
210 |
if ( $this->is_posted() ) { // Post response output for non-AJAX
|
211 |
|
212 |
-
|
|
|
|
|
213 |
$class .= ' wpcf7-validation-errors';
|
214 |
-
elseif ( ! empty( $
|
215 |
$class .= ' wpcf7-spam-blocked';
|
216 |
-
elseif ( ! empty( $
|
217 |
$class .= ' wpcf7-mail-sent-ok';
|
218 |
else
|
219 |
$class .= ' wpcf7-mail-sent-ng';
|
220 |
|
221 |
$role = 'alert';
|
222 |
|
223 |
-
if ( ! empty( $
|
224 |
-
$content = $
|
225 |
|
226 |
} else {
|
227 |
$class .= ' wpcf7-display-none';
|
@@ -240,16 +332,16 @@ class WPCF7_ContactForm {
|
|
240 |
$output, $class, $content, $this );
|
241 |
}
|
242 |
|
243 |
-
function validation_error( $name ) {
|
244 |
-
global $wpcf7;
|
245 |
-
|
246 |
if ( ! $this->is_posted() )
|
247 |
return '';
|
248 |
|
249 |
-
|
|
|
|
|
250 |
return '';
|
251 |
|
252 |
-
$ve = trim( $
|
253 |
|
254 |
if ( empty( $ve ) )
|
255 |
return '';
|
@@ -262,29 +354,28 @@ class WPCF7_ContactForm {
|
|
262 |
|
263 |
/* Form Elements */
|
264 |
|
265 |
-
function form_do_shortcode() {
|
266 |
-
|
267 |
-
|
268 |
$form = $this->form;
|
269 |
|
270 |
if ( WPCF7_AUTOP ) {
|
271 |
-
$form = $
|
272 |
$form = wpcf7_autop( $form );
|
273 |
}
|
274 |
|
275 |
-
$form = $
|
276 |
-
$this->scanned_form_tags = $
|
277 |
|
278 |
return $form;
|
279 |
}
|
280 |
|
281 |
-
function form_scan_shortcode( $cond = null ) {
|
282 |
-
|
283 |
|
284 |
if ( ! empty( $this->scanned_form_tags ) ) {
|
285 |
$scanned = $this->scanned_form_tags;
|
286 |
} else {
|
287 |
-
$scanned = $
|
288 |
$this->scanned_form_tags = $scanned;
|
289 |
}
|
290 |
|
@@ -328,11 +419,11 @@ class WPCF7_ContactForm {
|
|
328 |
return array_values( $scanned );
|
329 |
}
|
330 |
|
331 |
-
function form_elements() {
|
332 |
return apply_filters( 'wpcf7_form_elements', $this->form_do_shortcode() );
|
333 |
}
|
334 |
|
335 |
-
function setup_posted_data() {
|
336 |
$posted_data = (array) $_POST;
|
337 |
|
338 |
$fes = $this->form_scan_shortcode();
|
@@ -370,7 +461,7 @@ class WPCF7_ContactForm {
|
|
370 |
return $this->posted_data;
|
371 |
}
|
372 |
|
373 |
-
function submit( $ajax = false ) {
|
374 |
$result = array(
|
375 |
'status' => 'init',
|
376 |
'valid' => true,
|
@@ -401,7 +492,12 @@ class WPCF7_ContactForm {
|
|
401 |
$result['spam'] = true;
|
402 |
|
403 |
} elseif ( $this->mail() ) {
|
404 |
-
$
|
|
|
|
|
|
|
|
|
|
|
405 |
$result['mail_sent'] = true;
|
406 |
$result['message'] = $this->message( 'mail_sent_ok' );
|
407 |
|
@@ -437,12 +533,14 @@ class WPCF7_ContactForm {
|
|
437 |
|
438 |
do_action_ref_array( 'wpcf7_submit', array( &$this, $result ) );
|
439 |
|
|
|
|
|
440 |
return $result;
|
441 |
}
|
442 |
|
443 |
/* Validate */
|
444 |
|
445 |
-
function validate() {
|
446 |
$fes = $this->form_scan_shortcode();
|
447 |
|
448 |
$result = array( 'valid' => true, 'reason' => array() );
|
@@ -456,13 +554,13 @@ class WPCF7_ContactForm {
|
|
456 |
return $result;
|
457 |
}
|
458 |
|
459 |
-
function accepted() {
|
460 |
$accepted = true;
|
461 |
|
462 |
return apply_filters( 'wpcf7_acceptance', $accepted );
|
463 |
}
|
464 |
|
465 |
-
function spam() {
|
466 |
$spam = false;
|
467 |
|
468 |
if ( WPCF7_VERIFY_NONCE && ! $this->verify_nonce() )
|
@@ -474,11 +572,11 @@ class WPCF7_ContactForm {
|
|
474 |
return apply_filters( 'wpcf7_spam', $spam );
|
475 |
}
|
476 |
|
477 |
-
function verify_nonce() {
|
478 |
return wpcf7_verify_nonce( $_POST['_wpnonce'], $this->id );
|
479 |
}
|
480 |
|
481 |
-
function blacklist_check() {
|
482 |
$target = wpcf7_array_flatten( $this->posted_data );
|
483 |
$target[] = $_SERVER['REMOTE_ADDR'];
|
484 |
$target[] = $_SERVER['HTTP_USER_AGENT'];
|
@@ -490,7 +588,7 @@ class WPCF7_ContactForm {
|
|
490 |
|
491 |
/* Mail */
|
492 |
|
493 |
-
function mail() {
|
494 |
if ( $this->in_demo_mode() )
|
495 |
$this->skip_mail = true;
|
496 |
|
@@ -519,7 +617,7 @@ class WPCF7_ContactForm {
|
|
519 |
return false;
|
520 |
}
|
521 |
|
522 |
-
function setup_mail_template( $mail_template, $name = '' ) {
|
523 |
$defaults = array(
|
524 |
'subject' => '', 'sender' => '', 'body' => '',
|
525 |
'recipient' => '', 'additional_headers' => '',
|
@@ -535,7 +633,7 @@ class WPCF7_ContactForm {
|
|
535 |
return $mail_template;
|
536 |
}
|
537 |
|
538 |
-
function compose_mail( $mail_template, $send = true ) {
|
539 |
$this->mail_template_in_process = $mail_template;
|
540 |
|
541 |
$use_html = (bool) $mail_template['use_html'];
|
@@ -582,7 +680,7 @@ class WPCF7_ContactForm {
|
|
582 |
return compact( 'subject', 'sender', 'body', 'recipient', 'headers', 'attachments' );
|
583 |
}
|
584 |
|
585 |
-
function replace_mail_tags( $content, $html = false ) {
|
586 |
$regex = '/(\[?)\[[\t ]*'
|
587 |
. '([a-zA-Z_][0-9a-zA-Z:._-]*)' // [2] = name
|
588 |
. '((?:[\t ]+"[^"]*"|[\t ]+\'[^\']*\')*)' // [3] = values
|
@@ -596,11 +694,11 @@ class WPCF7_ContactForm {
|
|
596 |
return preg_replace_callback( $regex, $callback, $content );
|
597 |
}
|
598 |
|
599 |
-
function mail_callback_html( $matches ) {
|
600 |
return $this->mail_callback( $matches, true );
|
601 |
}
|
602 |
|
603 |
-
function mail_callback( $matches, $html = false ) {
|
604 |
// allow [[foo]] syntax for escaping a tag
|
605 |
if ( $matches[1] == '[' && $matches[4] == ']' )
|
606 |
return substr( $matches[0], 1, -1 );
|
@@ -662,7 +760,7 @@ class WPCF7_ContactForm {
|
|
662 |
return $tag;
|
663 |
}
|
664 |
|
665 |
-
function format( $original, $format ) {
|
666 |
$original = (array) $original;
|
667 |
|
668 |
foreach ( $original as $key => $value ) {
|
@@ -674,7 +772,7 @@ class WPCF7_ContactForm {
|
|
674 |
return $original;
|
675 |
}
|
676 |
|
677 |
-
function mail_attachments( $template ) {
|
678 |
$attachments = array();
|
679 |
|
680 |
foreach ( (array) $this->uploaded_files as $name => $path ) {
|
@@ -699,7 +797,7 @@ class WPCF7_ContactForm {
|
|
699 |
|
700 |
/* Message */
|
701 |
|
702 |
-
function message( $status ) {
|
703 |
$messages = $this->messages;
|
704 |
$message = isset( $messages[$status] ) ? $messages[$status] : '';
|
705 |
|
@@ -710,7 +808,7 @@ class WPCF7_ContactForm {
|
|
710 |
|
711 |
/* Additional settings */
|
712 |
|
713 |
-
function additional_setting( $name, $max = 1 ) {
|
714 |
$tmp_settings = (array) explode( "\n", $this->additional_settings );
|
715 |
|
716 |
$count = 0;
|
@@ -731,8 +829,8 @@ class WPCF7_ContactForm {
|
|
731 |
return $values;
|
732 |
}
|
733 |
|
734 |
-
function
|
735 |
-
$settings = $this->additional_setting(
|
736 |
|
737 |
foreach ( $settings as $setting ) {
|
738 |
if ( in_array( $setting, array( 'on', 'true', '1' ) ) )
|
@@ -742,9 +840,13 @@ class WPCF7_ContactForm {
|
|
742 |
return false;
|
743 |
}
|
744 |
|
|
|
|
|
|
|
|
|
745 |
/* Upgrade */
|
746 |
|
747 |
-
function upgrade() {
|
748 |
if ( is_array( $this->mail ) ) {
|
749 |
if ( ! isset( $this->mail['recipient'] ) )
|
750 |
$this->mail['recipient'] = get_option( 'admin_email' );
|
@@ -760,7 +862,7 @@ class WPCF7_ContactForm {
|
|
760 |
|
761 |
/* Save */
|
762 |
|
763 |
-
function save() {
|
764 |
$props = $this->get_properties();
|
765 |
|
766 |
$post_content = implode( "\n", wpcf7_array_flatten( $props ) );
|
@@ -800,8 +902,8 @@ class WPCF7_ContactForm {
|
|
800 |
return $post_id;
|
801 |
}
|
802 |
|
803 |
-
function copy() {
|
804 |
-
$new = new
|
805 |
$new->initial = true;
|
806 |
$new->title = $this->title . '_copy';
|
807 |
$new->locale = $this->locale;
|
@@ -816,7 +918,7 @@ class WPCF7_ContactForm {
|
|
816 |
return $new;
|
817 |
}
|
818 |
|
819 |
-
function delete() {
|
820 |
if ( $this->initial )
|
821 |
return;
|
822 |
|
@@ -859,45 +961,15 @@ function wpcf7_get_contact_form_by_title( $title ) {
|
|
859 |
}
|
860 |
|
861 |
function wpcf7_get_contact_form_default_pack( $args = '' ) {
|
862 |
-
|
863 |
-
|
864 |
-
$defaults = array( 'locale' => null, 'title' => '' );
|
865 |
-
$args = wp_parse_args( $args, $defaults );
|
866 |
-
|
867 |
-
$locale = $args['locale'];
|
868 |
-
$title = $args['title'];
|
869 |
-
|
870 |
-
if ( $locale ) {
|
871 |
-
$mo_orig = $l10n['contact-form-7'];
|
872 |
-
wpcf7_load_textdomain( $locale );
|
873 |
-
}
|
874 |
-
|
875 |
-
$contact_form = new WPCF7_ContactForm();
|
876 |
-
$contact_form->initial = true;
|
877 |
-
$contact_form->title = ( $title ? $title : __( 'Untitled', 'contact-form-7' ) );
|
878 |
-
$contact_form->locale = ( $locale ? $locale : get_locale() );
|
879 |
-
|
880 |
-
$props = $contact_form->get_properties();
|
881 |
-
|
882 |
-
foreach ( $props as $prop => $value )
|
883 |
-
$contact_form->{$prop} = wpcf7_get_default_template( $prop );
|
884 |
-
|
885 |
-
$contact_form = apply_filters_ref_array( 'wpcf7_contact_form_default_pack',
|
886 |
-
array( &$contact_form, $args ) );
|
887 |
-
|
888 |
-
if ( isset( $mo_orig ) )
|
889 |
-
$l10n['contact-form-7'] = $mo_orig;
|
890 |
|
891 |
return $contact_form;
|
892 |
}
|
893 |
|
894 |
function wpcf7_get_current_contact_form() {
|
895 |
-
|
896 |
-
|
897 |
-
|
898 |
-
return null;
|
899 |
-
|
900 |
-
return $wpcf7_contact_form;
|
901 |
}
|
902 |
|
903 |
function wpcf7_is_posted() {
|
4 |
|
5 |
const post_type = 'wpcf7_contact_form';
|
6 |
|
7 |
+
private static $found_items = 0;
|
8 |
+
private static $current = null;
|
9 |
+
private static $submission = array(); // result of submit() process
|
10 |
|
11 |
+
public $initial = false;
|
12 |
+
public $id;
|
13 |
+
public $name;
|
14 |
+
public $title;
|
15 |
+
public $unit_tag;
|
16 |
+
public $responses_count = 0;
|
17 |
+
public $scanned_form_tags;
|
18 |
+
public $posted_data;
|
19 |
+
public $uploaded_files = array();
|
20 |
+
public $skip_mail = false;
|
21 |
|
22 |
+
public static function count() {
|
23 |
+
return self::$found_items;
|
24 |
+
}
|
25 |
+
|
26 |
+
public static function set_current( self $obj ) {
|
27 |
+
self::$current = $obj;
|
28 |
+
}
|
29 |
|
30 |
+
public static function get_current() {
|
31 |
+
return self::$current;
|
32 |
+
}
|
33 |
|
34 |
+
public static function reset_current() {
|
35 |
+
self::$current = null;
|
36 |
+
}
|
37 |
|
38 |
+
private static function add_submission_status( $id, $status ) {
|
39 |
+
self::$submission[$id] = (array) $status;
|
40 |
+
}
|
41 |
|
42 |
+
private static function get_submission_status( $id ) {
|
43 |
+
if ( isset( self::$submission[$id] ) ) {
|
44 |
+
return (array) self::$submission[$id];
|
45 |
+
}
|
46 |
+
}
|
47 |
+
|
48 |
+
private static function get_unit_tag( $id = 0 ) {
|
49 |
+
static $global_count = 0;
|
50 |
+
|
51 |
+
$global_count += 1;
|
52 |
+
|
53 |
+
if ( in_the_loop() ) {
|
54 |
+
$unit_tag = sprintf( 'wpcf7-f%1$d-p%2$d-o%3$d',
|
55 |
+
absint( $id ), get_the_ID(), $global_count );
|
56 |
+
} else {
|
57 |
+
$unit_tag = sprintf( 'wpcf7-f%1$d-o%2$d',
|
58 |
+
absint( $id ), $global_count );
|
59 |
+
}
|
60 |
+
|
61 |
+
return $unit_tag;
|
62 |
+
}
|
63 |
|
64 |
public static function register_post_type() {
|
65 |
register_post_type( self::post_type, array(
|
128 |
do_action_ref_array( 'wpcf7_contact_form', array( &$this ) );
|
129 |
}
|
130 |
|
131 |
+
public static function generate_default_package( $args = '' ) {
|
132 |
+
global $l10n;
|
133 |
+
|
134 |
+
$defaults = array( 'locale' => null, 'title' => '' );
|
135 |
+
$args = wp_parse_args( $args, $defaults );
|
136 |
+
|
137 |
+
$locale = $args['locale'];
|
138 |
+
$title = $args['title'];
|
139 |
+
|
140 |
+
if ( $locale ) {
|
141 |
+
$mo_orig = $l10n['contact-form-7'];
|
142 |
+
wpcf7_load_textdomain( $locale );
|
143 |
+
}
|
144 |
+
|
145 |
+
$contact_form = new self;
|
146 |
+
$contact_form->initial = true;
|
147 |
+
$contact_form->title =
|
148 |
+
( $title ? $title : __( 'Untitled', 'contact-form-7' ) );
|
149 |
+
$contact_form->locale = ( $locale ? $locale : get_locale() );
|
150 |
+
|
151 |
+
$props = $contact_form->get_properties();
|
152 |
+
|
153 |
+
foreach ( $props as $prop => $value ) {
|
154 |
+
$contact_form->{$prop} = wpcf7_get_default_template( $prop );
|
155 |
+
}
|
156 |
+
|
157 |
+
$contact_form = apply_filters( 'wpcf7_contact_form_default_pack',
|
158 |
+
$contact_form, $args );
|
159 |
+
|
160 |
+
if ( isset( $mo_orig ) ) {
|
161 |
+
$l10n['contact-form-7'] = $mo_orig;
|
162 |
+
}
|
163 |
+
|
164 |
+
return $contact_form;
|
165 |
+
}
|
166 |
+
|
167 |
+
public function get_properties() {
|
168 |
$prop_names = array( 'form', 'mail', 'mail_2', 'messages', 'additional_settings' );
|
169 |
|
170 |
$properties = array();
|
176 |
}
|
177 |
|
178 |
// Return true if this form is the same one as currently POSTed.
|
179 |
+
public function is_posted() {
|
180 |
if ( ! isset( $_POST['_wpcf7_unit_tag'] ) || empty( $_POST['_wpcf7_unit_tag'] ) )
|
181 |
return false;
|
182 |
|
186 |
return false;
|
187 |
}
|
188 |
|
189 |
+
public function clear_post() {
|
190 |
$fes = $this->form_scan_shortcode();
|
191 |
|
192 |
foreach ( $fes as $fe ) {
|
202 |
|
203 |
/* Generating Form HTML */
|
204 |
|
205 |
+
public function form_html( $atts = array() ) {
|
206 |
+
$atts = wp_parse_args( $atts, array(
|
207 |
+
'html_id' => '',
|
208 |
+
'html_class' => '' ) );
|
209 |
+
|
210 |
+
$this->unit_tag = self::get_unit_tag( $this->id );
|
211 |
|
212 |
$form = '<div class="wpcf7" id="' . $this->unit_tag . '">';
|
213 |
|
220 |
|
221 |
$url = apply_filters( 'wpcf7_form_action_url', $url );
|
222 |
|
223 |
+
$id_attr = apply_filters( 'wpcf7_form_id_attr',
|
224 |
+
preg_replace( '/[^A-Za-z0-9:._-]/', '', $atts['html_id'] ) );
|
225 |
+
|
226 |
$class = 'wpcf7-form';
|
227 |
|
228 |
+
$result = self::get_submission_status( $this->id );
|
229 |
+
|
230 |
if ( $this->is_posted() ) {
|
231 |
+
if ( empty( $result['valid'] ) )
|
232 |
$class .= ' invalid';
|
233 |
+
elseif ( ! empty( $result['spam'] ) )
|
234 |
$class .= ' spam';
|
235 |
+
elseif ( ! empty( $result['mail_sent'] ) )
|
236 |
$class .= ' sent';
|
237 |
else
|
238 |
$class .= ' failed';
|
239 |
}
|
240 |
|
241 |
+
$atts['html_class'] = array_unique( array_map( 'sanitize_html_class',
|
242 |
+
explode( ' ', $atts['html_class'] ) ) );
|
243 |
+
|
244 |
+
if ( $atts['html_class'] ) {
|
245 |
+
$class .= ' ' . implode( ' ', $atts['html_class'] );
|
246 |
+
}
|
247 |
+
|
248 |
+
$class = apply_filters( 'wpcf7_form_class_attr', trim( $class ) );
|
249 |
|
250 |
$enctype = apply_filters( 'wpcf7_form_enctype', '' );
|
251 |
|
253 |
wpcf7_support_html5() ? ' novalidate="novalidate"' : '' );
|
254 |
|
255 |
$form .= '<form action="' . esc_url_raw( $url ) . '" method="post"'
|
256 |
+
. ( $id_attr ? ' id="' . esc_attr( $id_attr ) . '"' : '' )
|
257 |
. ' class="' . esc_attr( $class ) . '"'
|
258 |
. $enctype . $novalidate . '>' . "\n";
|
259 |
|
271 |
return $form;
|
272 |
}
|
273 |
|
274 |
+
public function form_hidden_fields() {
|
275 |
$hidden_fields = array(
|
276 |
'_wpcf7' => $this->id,
|
277 |
'_wpcf7_version' => WPCF7_VERSION,
|
292 |
return '<div style="display: none;">' . "\n" . $content . '</div>' . "\n";
|
293 |
}
|
294 |
|
295 |
+
public function form_response_output() {
|
|
|
|
|
296 |
$class = 'wpcf7-response-output';
|
297 |
$role = '';
|
298 |
$content = '';
|
299 |
|
300 |
if ( $this->is_posted() ) { // Post response output for non-AJAX
|
301 |
|
302 |
+
$result = self::get_submission_status( $this->id );
|
303 |
+
|
304 |
+
if ( empty( $result['valid'] ) )
|
305 |
$class .= ' wpcf7-validation-errors';
|
306 |
+
elseif ( ! empty( $result['spam'] ) )
|
307 |
$class .= ' wpcf7-spam-blocked';
|
308 |
+
elseif ( ! empty( $result['mail_sent'] ) )
|
309 |
$class .= ' wpcf7-mail-sent-ok';
|
310 |
else
|
311 |
$class .= ' wpcf7-mail-sent-ng';
|
312 |
|
313 |
$role = 'alert';
|
314 |
|
315 |
+
if ( ! empty( $result['message'] ) )
|
316 |
+
$content = $result['message'];
|
317 |
|
318 |
} else {
|
319 |
$class .= ' wpcf7-display-none';
|
332 |
$output, $class, $content, $this );
|
333 |
}
|
334 |
|
335 |
+
public function validation_error( $name ) {
|
|
|
|
|
336 |
if ( ! $this->is_posted() )
|
337 |
return '';
|
338 |
|
339 |
+
$result = self::get_submission_status( $this->id );
|
340 |
+
|
341 |
+
if ( ! isset( $result['invalid_reasons'][$name] ) )
|
342 |
return '';
|
343 |
|
344 |
+
$ve = trim( $result['invalid_reasons'][$name] );
|
345 |
|
346 |
if ( empty( $ve ) )
|
347 |
return '';
|
354 |
|
355 |
/* Form Elements */
|
356 |
|
357 |
+
public function form_do_shortcode() {
|
358 |
+
$manager = WPCF7_ShortcodeManager::get_instance();
|
|
|
359 |
$form = $this->form;
|
360 |
|
361 |
if ( WPCF7_AUTOP ) {
|
362 |
+
$form = $manager->normalize_shortcode( $form );
|
363 |
$form = wpcf7_autop( $form );
|
364 |
}
|
365 |
|
366 |
+
$form = $manager->do_shortcode( $form );
|
367 |
+
$this->scanned_form_tags = $manager->get_scanned_tags();
|
368 |
|
369 |
return $form;
|
370 |
}
|
371 |
|
372 |
+
public function form_scan_shortcode( $cond = null ) {
|
373 |
+
$manager = WPCF7_ShortcodeManager::get_instance();
|
374 |
|
375 |
if ( ! empty( $this->scanned_form_tags ) ) {
|
376 |
$scanned = $this->scanned_form_tags;
|
377 |
} else {
|
378 |
+
$scanned = $manager->scan_shortcode( $this->form );
|
379 |
$this->scanned_form_tags = $scanned;
|
380 |
}
|
381 |
|
419 |
return array_values( $scanned );
|
420 |
}
|
421 |
|
422 |
+
public function form_elements() {
|
423 |
return apply_filters( 'wpcf7_form_elements', $this->form_do_shortcode() );
|
424 |
}
|
425 |
|
426 |
+
public function setup_posted_data() {
|
427 |
$posted_data = (array) $_POST;
|
428 |
|
429 |
$fes = $this->form_scan_shortcode();
|
461 |
return $this->posted_data;
|
462 |
}
|
463 |
|
464 |
+
public function submit( $ajax = false ) {
|
465 |
$result = array(
|
466 |
'status' => 'init',
|
467 |
'valid' => true,
|
492 |
$result['spam'] = true;
|
493 |
|
494 |
} elseif ( $this->mail() ) {
|
495 |
+
if ( $this->in_demo_mode() ) {
|
496 |
+
$result['status'] = 'demo_mode';
|
497 |
+
} else {
|
498 |
+
$result['status'] = 'mail_sent';
|
499 |
+
}
|
500 |
+
|
501 |
$result['mail_sent'] = true;
|
502 |
$result['message'] = $this->message( 'mail_sent_ok' );
|
503 |
|
533 |
|
534 |
do_action_ref_array( 'wpcf7_submit', array( &$this, $result ) );
|
535 |
|
536 |
+
self::add_submission_status( $this->id, $result );
|
537 |
+
|
538 |
return $result;
|
539 |
}
|
540 |
|
541 |
/* Validate */
|
542 |
|
543 |
+
public function validate() {
|
544 |
$fes = $this->form_scan_shortcode();
|
545 |
|
546 |
$result = array( 'valid' => true, 'reason' => array() );
|
554 |
return $result;
|
555 |
}
|
556 |
|
557 |
+
public function accepted() {
|
558 |
$accepted = true;
|
559 |
|
560 |
return apply_filters( 'wpcf7_acceptance', $accepted );
|
561 |
}
|
562 |
|
563 |
+
public function spam() {
|
564 |
$spam = false;
|
565 |
|
566 |
if ( WPCF7_VERIFY_NONCE && ! $this->verify_nonce() )
|
572 |
return apply_filters( 'wpcf7_spam', $spam );
|
573 |
}
|
574 |
|
575 |
+
public function verify_nonce() {
|
576 |
return wpcf7_verify_nonce( $_POST['_wpnonce'], $this->id );
|
577 |
}
|
578 |
|
579 |
+
public function blacklist_check() {
|
580 |
$target = wpcf7_array_flatten( $this->posted_data );
|
581 |
$target[] = $_SERVER['REMOTE_ADDR'];
|
582 |
$target[] = $_SERVER['HTTP_USER_AGENT'];
|
588 |
|
589 |
/* Mail */
|
590 |
|
591 |
+
public function mail() {
|
592 |
if ( $this->in_demo_mode() )
|
593 |
$this->skip_mail = true;
|
594 |
|
617 |
return false;
|
618 |
}
|
619 |
|
620 |
+
public function setup_mail_template( $mail_template, $name = '' ) {
|
621 |
$defaults = array(
|
622 |
'subject' => '', 'sender' => '', 'body' => '',
|
623 |
'recipient' => '', 'additional_headers' => '',
|
633 |
return $mail_template;
|
634 |
}
|
635 |
|
636 |
+
public function compose_mail( $mail_template, $send = true ) {
|
637 |
$this->mail_template_in_process = $mail_template;
|
638 |
|
639 |
$use_html = (bool) $mail_template['use_html'];
|
680 |
return compact( 'subject', 'sender', 'body', 'recipient', 'headers', 'attachments' );
|
681 |
}
|
682 |
|
683 |
+
public function replace_mail_tags( $content, $html = false ) {
|
684 |
$regex = '/(\[?)\[[\t ]*'
|
685 |
. '([a-zA-Z_][0-9a-zA-Z:._-]*)' // [2] = name
|
686 |
. '((?:[\t ]+"[^"]*"|[\t ]+\'[^\']*\')*)' // [3] = values
|
694 |
return preg_replace_callback( $regex, $callback, $content );
|
695 |
}
|
696 |
|
697 |
+
private function mail_callback_html( $matches ) {
|
698 |
return $this->mail_callback( $matches, true );
|
699 |
}
|
700 |
|
701 |
+
private function mail_callback( $matches, $html = false ) {
|
702 |
// allow [[foo]] syntax for escaping a tag
|
703 |
if ( $matches[1] == '[' && $matches[4] == ']' )
|
704 |
return substr( $matches[0], 1, -1 );
|
760 |
return $tag;
|
761 |
}
|
762 |
|
763 |
+
public function format( $original, $format ) {
|
764 |
$original = (array) $original;
|
765 |
|
766 |
foreach ( $original as $key => $value ) {
|
772 |
return $original;
|
773 |
}
|
774 |
|
775 |
+
public function mail_attachments( $template ) {
|
776 |
$attachments = array();
|
777 |
|
778 |
foreach ( (array) $this->uploaded_files as $name => $path ) {
|
797 |
|
798 |
/* Message */
|
799 |
|
800 |
+
public function message( $status ) {
|
801 |
$messages = $this->messages;
|
802 |
$message = isset( $messages[$status] ) ? $messages[$status] : '';
|
803 |
|
808 |
|
809 |
/* Additional settings */
|
810 |
|
811 |
+
public function additional_setting( $name, $max = 1 ) {
|
812 |
$tmp_settings = (array) explode( "\n", $this->additional_settings );
|
813 |
|
814 |
$count = 0;
|
829 |
return $values;
|
830 |
}
|
831 |
|
832 |
+
public function is_true( $name ) {
|
833 |
+
$settings = $this->additional_setting( $name, false );
|
834 |
|
835 |
foreach ( $settings as $setting ) {
|
836 |
if ( in_array( $setting, array( 'on', 'true', '1' ) ) )
|
840 |
return false;
|
841 |
}
|
842 |
|
843 |
+
public function in_demo_mode() {
|
844 |
+
return $this->is_true( 'demo_mode' );
|
845 |
+
}
|
846 |
+
|
847 |
/* Upgrade */
|
848 |
|
849 |
+
public function upgrade() {
|
850 |
if ( is_array( $this->mail ) ) {
|
851 |
if ( ! isset( $this->mail['recipient'] ) )
|
852 |
$this->mail['recipient'] = get_option( 'admin_email' );
|
862 |
|
863 |
/* Save */
|
864 |
|
865 |
+
public function save() {
|
866 |
$props = $this->get_properties();
|
867 |
|
868 |
$post_content = implode( "\n", wpcf7_array_flatten( $props ) );
|
902 |
return $post_id;
|
903 |
}
|
904 |
|
905 |
+
public function copy() {
|
906 |
+
$new = new self;
|
907 |
$new->initial = true;
|
908 |
$new->title = $this->title . '_copy';
|
909 |
$new->locale = $this->locale;
|
918 |
return $new;
|
919 |
}
|
920 |
|
921 |
+
public function delete() {
|
922 |
if ( $this->initial )
|
923 |
return;
|
924 |
|
961 |
}
|
962 |
|
963 |
function wpcf7_get_contact_form_default_pack( $args = '' ) {
|
964 |
+
$contact_form = WPCF7_ContactForm::generate_default_package( $args );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
965 |
|
966 |
return $contact_form;
|
967 |
}
|
968 |
|
969 |
function wpcf7_get_current_contact_form() {
|
970 |
+
if ( $current = WPCF7_ContactForm::get_current() ) {
|
971 |
+
return $current;
|
972 |
+
}
|
|
|
|
|
|
|
973 |
}
|
974 |
|
975 |
function wpcf7_is_posted() {
|
includes/controller.php
CHANGED
@@ -9,19 +9,19 @@ function wpcf7_control_init() {
|
|
9 |
}
|
10 |
|
11 |
function wpcf7_ajax_onload() {
|
12 |
-
|
13 |
-
|
14 |
-
if ( 'GET' != $_SERVER['REQUEST_METHOD'] || ! isset( $_GET['_wpcf7_is_ajax_call'] ) )
|
15 |
return;
|
|
|
16 |
|
17 |
$echo = '';
|
|
|
18 |
|
19 |
if ( isset( $_GET['_wpcf7'] ) ) {
|
20 |
-
$
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
$wpcf7_contact_form = null;
|
25 |
}
|
26 |
}
|
27 |
|
@@ -36,8 +36,6 @@ function wpcf7_ajax_onload() {
|
|
36 |
}
|
37 |
|
38 |
function wpcf7_ajax_json_echo() {
|
39 |
-
global $wpcf7_contact_form;
|
40 |
-
|
41 |
if ( 'POST' != $_SERVER['REQUEST_METHOD'] || ! isset( $_POST['_wpcf7_is_ajax_call'] ) )
|
42 |
return;
|
43 |
|
@@ -47,14 +45,15 @@ function wpcf7_ajax_json_echo() {
|
|
47 |
$id = (int) $_POST['_wpcf7'];
|
48 |
$unit_tag = wpcf7_sanitize_unit_tag( $_POST['_wpcf7_unit_tag'] );
|
49 |
|
50 |
-
if ( $
|
|
|
51 |
|
52 |
$items = array(
|
53 |
'mailSent' => false,
|
54 |
'into' => '#' . $unit_tag,
|
55 |
'captcha' => null );
|
56 |
|
57 |
-
$result = $
|
58 |
|
59 |
if ( ! empty( $result['message'] ) )
|
60 |
$items['message'] = $result['message'];
|
@@ -85,7 +84,7 @@ function wpcf7_ajax_json_echo() {
|
|
85 |
|
86 |
$items = apply_filters( 'wpcf7_ajax_json_echo', $items, $result );
|
87 |
|
88 |
-
|
89 |
}
|
90 |
}
|
91 |
|
@@ -110,52 +109,26 @@ function wpcf7_is_xhr() {
|
|
110 |
}
|
111 |
|
112 |
function wpcf7_submit_nonajax() {
|
113 |
-
global $wpcf7, $wpcf7_contact_form;
|
114 |
-
|
115 |
if ( ! isset( $_POST['_wpcf7'] ) )
|
116 |
return;
|
117 |
|
118 |
-
$
|
119 |
-
|
120 |
-
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) )
|
121 |
-
$wpcf7->result = $wpcf7_contact_form->submit();
|
122 |
-
|
123 |
-
$wpcf7_contact_form = null;
|
124 |
-
}
|
125 |
-
|
126 |
-
add_action( 'the_post', 'wpcf7_the_post' );
|
127 |
-
|
128 |
-
function wpcf7_the_post() {
|
129 |
-
global $wpcf7;
|
130 |
-
|
131 |
-
$wpcf7->processing_within = 'p' . get_the_ID();
|
132 |
-
$wpcf7->unit_count = 0;
|
133 |
-
}
|
134 |
|
135 |
-
|
136 |
|
137 |
-
|
138 |
-
|
139 |
-
|
140 |
-
$wpcf7->processing_within = '';
|
141 |
}
|
142 |
|
143 |
add_filter( 'widget_text', 'wpcf7_widget_text_filter', 9 );
|
144 |
|
145 |
function wpcf7_widget_text_filter( $content ) {
|
146 |
-
global $wpcf7;
|
147 |
-
|
148 |
if ( ! preg_match( '/\[[\r\n\t ]*contact-form(-7)?[\r\n\t ].*?\]/', $content ) )
|
149 |
return $content;
|
150 |
|
151 |
-
$wpcf7->widget_count += 1;
|
152 |
-
$wpcf7->processing_within = 'w' . $wpcf7->widget_count;
|
153 |
-
$wpcf7->unit_count = 0;
|
154 |
-
|
155 |
$content = do_shortcode( $content );
|
156 |
|
157 |
-
$wpcf7->processing_within = '';
|
158 |
-
|
159 |
return $content;
|
160 |
}
|
161 |
|
@@ -169,54 +142,40 @@ function wpcf7_add_shortcodes() {
|
|
169 |
}
|
170 |
|
171 |
function wpcf7_contact_form_tag_func( $atts, $content = null, $code = '' ) {
|
172 |
-
global $wpcf7, $wpcf7_contact_form;
|
173 |
-
|
174 |
if ( is_feed() )
|
175 |
return '[contact-form-7]';
|
176 |
|
177 |
if ( 'contact-form-7' == $code ) {
|
178 |
-
$atts = shortcode_atts( array(
|
|
|
|
|
|
|
|
|
179 |
|
180 |
$id = (int) $atts['id'];
|
181 |
$title = trim( $atts['title'] );
|
182 |
|
183 |
-
if ( ! $
|
184 |
-
$
|
185 |
|
186 |
} else {
|
187 |
if ( is_string( $atts ) )
|
188 |
$atts = explode( ' ', $atts, 2 );
|
189 |
|
190 |
$id = (int) array_shift( $atts );
|
191 |
-
$
|
192 |
}
|
193 |
|
194 |
-
if ( ! $
|
195 |
return '[contact-form-7 404 "Not Found"]';
|
196 |
|
197 |
-
|
198 |
-
$wpcf7->unit_count += 1;
|
199 |
-
$unit_count = $wpcf7->unit_count;
|
200 |
-
$processing_within = $wpcf7->processing_within;
|
201 |
-
|
202 |
-
} else { // Inside template
|
203 |
-
|
204 |
-
if ( ! isset( $wpcf7->global_unit_count ) )
|
205 |
-
$wpcf7->global_unit_count = 0;
|
206 |
-
|
207 |
-
$wpcf7->global_unit_count += 1;
|
208 |
-
$unit_count = 1;
|
209 |
-
$processing_within = 't' . $wpcf7->global_unit_count;
|
210 |
-
}
|
211 |
-
|
212 |
-
$unit_tag = 'wpcf7-f' . $wpcf7_contact_form->id . '-' . $processing_within . '-o' . $unit_count;
|
213 |
-
$wpcf7_contact_form->unit_tag = $unit_tag;
|
214 |
|
215 |
-
$
|
216 |
|
217 |
-
|
218 |
|
219 |
-
return $
|
220 |
}
|
221 |
|
222 |
if ( WPCF7_LOAD_JS )
|
@@ -228,7 +187,7 @@ function wpcf7_enqueue_scripts() {
|
|
228 |
wp_deregister_script( 'jquery-form' );
|
229 |
wp_register_script( 'jquery-form',
|
230 |
wpcf7_plugin_url( 'includes/js/jquery.form.min.js' ),
|
231 |
-
array( 'jquery' ), '3.
|
232 |
|
233 |
$in_footer = true;
|
234 |
if ( 'header' === WPCF7_LOAD_JS )
|
9 |
}
|
10 |
|
11 |
function wpcf7_ajax_onload() {
|
12 |
+
if ( 'GET' != $_SERVER['REQUEST_METHOD']
|
13 |
+
|| ! isset( $_GET['_wpcf7_is_ajax_call'] ) ) {
|
|
|
14 |
return;
|
15 |
+
}
|
16 |
|
17 |
$echo = '';
|
18 |
+
$items = array();
|
19 |
|
20 |
if ( isset( $_GET['_wpcf7'] ) ) {
|
21 |
+
if ( $contact_form = wpcf7_contact_form( (int) $_GET['_wpcf7'] ) ) {
|
22 |
+
WPCF7_ContactForm::set_current( $contact_form );
|
23 |
+
$items = apply_filters( 'wpcf7_ajax_onload', $items );
|
24 |
+
WPCF7_ContactForm::reset_current();
|
|
|
25 |
}
|
26 |
}
|
27 |
|
36 |
}
|
37 |
|
38 |
function wpcf7_ajax_json_echo() {
|
|
|
|
|
39 |
if ( 'POST' != $_SERVER['REQUEST_METHOD'] || ! isset( $_POST['_wpcf7_is_ajax_call'] ) )
|
40 |
return;
|
41 |
|
45 |
$id = (int) $_POST['_wpcf7'];
|
46 |
$unit_tag = wpcf7_sanitize_unit_tag( $_POST['_wpcf7_unit_tag'] );
|
47 |
|
48 |
+
if ( $contact_form = wpcf7_contact_form( $id ) ) {
|
49 |
+
WPCF7_ContactForm::set_current( $contact_form );
|
50 |
|
51 |
$items = array(
|
52 |
'mailSent' => false,
|
53 |
'into' => '#' . $unit_tag,
|
54 |
'captcha' => null );
|
55 |
|
56 |
+
$result = $contact_form->submit( true );
|
57 |
|
58 |
if ( ! empty( $result['message'] ) )
|
59 |
$items['message'] = $result['message'];
|
84 |
|
85 |
$items = apply_filters( 'wpcf7_ajax_json_echo', $items, $result );
|
86 |
|
87 |
+
WPCF7_ContactForm::reset_current();
|
88 |
}
|
89 |
}
|
90 |
|
109 |
}
|
110 |
|
111 |
function wpcf7_submit_nonajax() {
|
|
|
|
|
112 |
if ( ! isset( $_POST['_wpcf7'] ) )
|
113 |
return;
|
114 |
|
115 |
+
if ( $contact_form = wpcf7_contact_form( (int) $_POST['_wpcf7'] ) ) {
|
116 |
+
WPCF7_ContactForm::set_current( $contact_form );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
117 |
|
118 |
+
$contact_form->submit();
|
119 |
|
120 |
+
WPCF7_ContactForm::reset_current();
|
121 |
+
}
|
|
|
|
|
122 |
}
|
123 |
|
124 |
add_filter( 'widget_text', 'wpcf7_widget_text_filter', 9 );
|
125 |
|
126 |
function wpcf7_widget_text_filter( $content ) {
|
|
|
|
|
127 |
if ( ! preg_match( '/\[[\r\n\t ]*contact-form(-7)?[\r\n\t ].*?\]/', $content ) )
|
128 |
return $content;
|
129 |
|
|
|
|
|
|
|
|
|
130 |
$content = do_shortcode( $content );
|
131 |
|
|
|
|
|
132 |
return $content;
|
133 |
}
|
134 |
|
142 |
}
|
143 |
|
144 |
function wpcf7_contact_form_tag_func( $atts, $content = null, $code = '' ) {
|
|
|
|
|
145 |
if ( is_feed() )
|
146 |
return '[contact-form-7]';
|
147 |
|
148 |
if ( 'contact-form-7' == $code ) {
|
149 |
+
$atts = shortcode_atts( array(
|
150 |
+
'id' => 0,
|
151 |
+
'title' => '',
|
152 |
+
'html_id' => '',
|
153 |
+
'html_class' => '' ), $atts );
|
154 |
|
155 |
$id = (int) $atts['id'];
|
156 |
$title = trim( $atts['title'] );
|
157 |
|
158 |
+
if ( ! $contact_form = wpcf7_contact_form( $id ) )
|
159 |
+
$contact_form = wpcf7_get_contact_form_by_title( $title );
|
160 |
|
161 |
} else {
|
162 |
if ( is_string( $atts ) )
|
163 |
$atts = explode( ' ', $atts, 2 );
|
164 |
|
165 |
$id = (int) array_shift( $atts );
|
166 |
+
$contact_form = wpcf7_get_contact_form_by_old_id( $id );
|
167 |
}
|
168 |
|
169 |
+
if ( ! $contact_form )
|
170 |
return '[contact-form-7 404 "Not Found"]';
|
171 |
|
172 |
+
WPCF7_ContactForm::set_current( $contact_form );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
173 |
|
174 |
+
$html = $contact_form->form_html( $atts );
|
175 |
|
176 |
+
WPCF7_ContactForm::reset_current();
|
177 |
|
178 |
+
return $html;
|
179 |
}
|
180 |
|
181 |
if ( WPCF7_LOAD_JS )
|
187 |
wp_deregister_script( 'jquery-form' );
|
188 |
wp_register_script( 'jquery-form',
|
189 |
wpcf7_plugin_url( 'includes/js/jquery.form.min.js' ),
|
190 |
+
array( 'jquery' ), '3.48.0-2013.12.28', true );
|
191 |
|
192 |
$in_footer = true;
|
193 |
if ( 'header' === WPCF7_LOAD_JS )
|
includes/css/styles-rtl.css
CHANGED
@@ -2,6 +2,11 @@ span.wpcf7-not-valid-tip {
|
|
2 |
direction: rtl;
|
3 |
}
|
4 |
|
|
|
|
|
|
|
|
|
|
|
5 |
span.wpcf7-list-item {
|
6 |
margin-left: 0;
|
7 |
margin-right: 0.5em;
|
2 |
direction: rtl;
|
3 |
}
|
4 |
|
5 |
+
.use-floating-validation-tip span.wpcf7-not-valid-tip {
|
6 |
+
left: auto;
|
7 |
+
right: 20%;
|
8 |
+
}
|
9 |
+
|
10 |
span.wpcf7-list-item {
|
11 |
margin-left: 0;
|
12 |
margin-right: 0.5em;
|
includes/css/styles.css
CHANGED
@@ -34,6 +34,16 @@ span.wpcf7-not-valid-tip {
|
|
34 |
display: block;
|
35 |
}
|
36 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
37 |
span.wpcf7-list-item {
|
38 |
margin-left: 0.5em;
|
39 |
}
|
34 |
display: block;
|
35 |
}
|
36 |
|
37 |
+
.use-floating-validation-tip span.wpcf7-not-valid-tip {
|
38 |
+
position: absolute;
|
39 |
+
top: 20%;
|
40 |
+
left: 20%;
|
41 |
+
z-index: 100;
|
42 |
+
border: 1px solid #ff0000;
|
43 |
+
background: #fff;
|
44 |
+
padding: .2em .8em;
|
45 |
+
}
|
46 |
+
|
47 |
span.wpcf7-list-item {
|
48 |
margin-left: 0.5em;
|
49 |
}
|
includes/formatting.php
CHANGED
@@ -1,9 +1,10 @@
|
|
1 |
<?php
|
2 |
|
3 |
function wpcf7_autop( $pee, $br = 1 ) {
|
4 |
-
|
5 |
-
if ( trim( $pee ) === '' )
|
6 |
return '';
|
|
|
|
|
7 |
$pee = $pee . "\n"; // just to make things a little easier, pad the end
|
8 |
$pee = preg_replace( '|<br />\s*<br />|', "\n\n", $pee );
|
9 |
// Space things out a little
|
@@ -11,17 +12,26 @@ function wpcf7_autop( $pee, $br = 1 ) {
|
|
11 |
$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
|
12 |
$pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee );
|
13 |
$pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee );
|
|
|
|
|
|
|
|
|
14 |
$pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines
|
|
|
15 |
if ( strpos( $pee, '<object' ) !== false ) {
|
16 |
$pee = preg_replace( '|\s*<param([^>]*)>\s*|', "<param$1>", $pee ); // no pee inside object/embed
|
17 |
$pee = preg_replace( '|\s*</embed>\s*|', '</embed>', $pee );
|
18 |
}
|
|
|
19 |
$pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // take care of duplicates
|
20 |
// make paragraphs, including one at the end
|
21 |
$pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY );
|
22 |
$pee = '';
|
23 |
-
|
|
|
24 |
$pee .= '<p>' . trim( $tinkle, "\n" ) . "</p>\n";
|
|
|
|
|
25 |
$pee = preg_replace( '|<p>\s*</p>|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace
|
26 |
$pee = preg_replace( '!<p>([^<]+)</(div|address|form|fieldset)>!', "<p>$1</p></$2>", $pee );
|
27 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); // don't pee all over a tag
|
@@ -30,6 +40,10 @@ function wpcf7_autop( $pee, $br = 1 ) {
|
|
30 |
$pee = str_replace( '</blockquote></p>', '</p></blockquote>', $pee );
|
31 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee );
|
32 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee );
|
|
|
|
|
|
|
|
|
33 |
if ( $br ) {
|
34 |
/* wpcf7: add textarea */
|
35 |
$pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "<WPPreserveNewline />", $matches[0]);' ), $pee );
|
1 |
<?php
|
2 |
|
3 |
function wpcf7_autop( $pee, $br = 1 ) {
|
4 |
+
if ( trim( $pee ) === '' ) {
|
|
|
5 |
return '';
|
6 |
+
}
|
7 |
+
|
8 |
$pee = $pee . "\n"; // just to make things a little easier, pad the end
|
9 |
$pee = preg_replace( '|<br />\s*<br />|', "\n\n", $pee );
|
10 |
// Space things out a little
|
12 |
$allblocks = '(?:table|thead|tfoot|caption|col|colgroup|tbody|tr|td|th|div|dl|dd|dt|ul|ol|li|pre|form|map|area|blockquote|address|math|style|p|h[1-6]|hr|fieldset|legend|section|article|aside|hgroup|header|footer|nav|figure|figcaption|details|menu|summary)';
|
13 |
$pee = preg_replace( '!(<' . $allblocks . '[^>]*>)!', "\n$1", $pee );
|
14 |
$pee = preg_replace( '!(</' . $allblocks . '>)!', "$1\n\n", $pee );
|
15 |
+
|
16 |
+
/* wpcf7: take care of [response] tag */
|
17 |
+
$pee = preg_replace( '!(\[response[^]]*\])!', "\n$1\n\n", $pee );
|
18 |
+
|
19 |
$pee = str_replace( array( "\r\n", "\r" ), "\n", $pee ); // cross-platform newlines
|
20 |
+
|
21 |
if ( strpos( $pee, '<object' ) !== false ) {
|
22 |
$pee = preg_replace( '|\s*<param([^>]*)>\s*|', "<param$1>", $pee ); // no pee inside object/embed
|
23 |
$pee = preg_replace( '|\s*</embed>\s*|', '</embed>', $pee );
|
24 |
}
|
25 |
+
|
26 |
$pee = preg_replace( "/\n\n+/", "\n\n", $pee ); // take care of duplicates
|
27 |
// make paragraphs, including one at the end
|
28 |
$pees = preg_split( '/\n\s*\n/', $pee, -1, PREG_SPLIT_NO_EMPTY );
|
29 |
$pee = '';
|
30 |
+
|
31 |
+
foreach ( $pees as $tinkle ) {
|
32 |
$pee .= '<p>' . trim( $tinkle, "\n" ) . "</p>\n";
|
33 |
+
}
|
34 |
+
|
35 |
$pee = preg_replace( '|<p>\s*</p>|', '', $pee ); // under certain strange conditions it could create a P of entirely whitespace
|
36 |
$pee = preg_replace( '!<p>([^<]+)</(div|address|form|fieldset)>!', "<p>$1</p></$2>", $pee );
|
37 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee ); // don't pee all over a tag
|
40 |
$pee = str_replace( '</blockquote></p>', '</p></blockquote>', $pee );
|
41 |
$pee = preg_replace( '!<p>\s*(</?' . $allblocks . '[^>]*>)!', "$1", $pee );
|
42 |
$pee = preg_replace( '!(</?' . $allblocks . '[^>]*>)\s*</p>!', "$1", $pee );
|
43 |
+
|
44 |
+
/* wpcf7: take care of [response] tag */
|
45 |
+
$pee = preg_replace( '!<p>\s*(\[response[^]]*\])\s*</p>!', "$1", $pee );
|
46 |
+
|
47 |
if ( $br ) {
|
48 |
/* wpcf7: add textarea */
|
49 |
$pee = preg_replace_callback( '/<(script|style|textarea).*?<\/\\1>/s', create_function( '$matches', 'return str_replace("\n", "<WPPreserveNewline />", $matches[0]);' ), $pee );
|
includes/functions.php
CHANGED
@@ -144,22 +144,13 @@ function wpcf7_upload_dir( $type = false ) {
|
|
144 |
return $uploads;
|
145 |
}
|
146 |
|
147 |
-
if ( ! function_exists( 'wp_is_writable' ) ) {
|
148 |
-
/*
|
149 |
-
* wp_is_writable exists in WordPress 3.6+
|
150 |
-
* http://core.trac.wordpress.org/browser/tags/3.6/wp-includes/functions.php#L1437
|
151 |
-
* We will be able to remove this function definition
|
152 |
-
* after moving required WordPress version up to 3.6.
|
153 |
-
*/
|
154 |
-
function wp_is_writable( $path ) {
|
155 |
-
if ( 'WIN' === strtoupper( substr( PHP_OS, 0, 3 ) ) )
|
156 |
-
return win_is_writable( $path );
|
157 |
-
else
|
158 |
-
return @is_writable( $path );
|
159 |
-
}
|
160 |
-
}
|
161 |
-
|
162 |
function wpcf7_l10n() {
|
|
|
|
|
|
|
|
|
|
|
|
|
163 |
$l10n = array(
|
164 |
'af' => __( 'Afrikaans', 'contact-form-7' ),
|
165 |
'sq' => __( 'Albanian', 'contact-form-7' ),
|
@@ -190,6 +181,7 @@ function wpcf7_l10n() {
|
|
190 |
'ka_GE' => __( 'Georgian', 'contact-form-7' ),
|
191 |
'de_DE' => __( 'German', 'contact-form-7' ),
|
192 |
'el' => __( 'Greek', 'contact-form-7' ),
|
|
|
193 |
'he_IL' => __( 'Hebrew', 'contact-form-7' ),
|
194 |
'hi_IN' => __( 'Hindi', 'contact-form-7' ),
|
195 |
'hu_HU' => __( 'Hungarian', 'contact-form-7' ),
|
@@ -389,9 +381,13 @@ function wpcf7_load_modules() {
|
|
389 |
}
|
390 |
|
391 |
function wpcf7_get_request_uri() {
|
392 |
-
|
|
|
|
|
|
|
|
|
393 |
|
394 |
-
return (
|
395 |
}
|
396 |
|
397 |
function wpcf7_register_post_types() {
|
144 |
return $uploads;
|
145 |
}
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
function wpcf7_l10n() {
|
148 |
+
static $l10n = array();
|
149 |
+
|
150 |
+
if ( ! empty( $l10n ) ) {
|
151 |
+
return $l10n;
|
152 |
+
}
|
153 |
+
|
154 |
$l10n = array(
|
155 |
'af' => __( 'Afrikaans', 'contact-form-7' ),
|
156 |
'sq' => __( 'Albanian', 'contact-form-7' ),
|
181 |
'ka_GE' => __( 'Georgian', 'contact-form-7' ),
|
182 |
'de_DE' => __( 'German', 'contact-form-7' ),
|
183 |
'el' => __( 'Greek', 'contact-form-7' ),
|
184 |
+
'ht' => __( 'Haitian', 'contact-form-7' ),
|
185 |
'he_IL' => __( 'Hebrew', 'contact-form-7' ),
|
186 |
'hi_IN' => __( 'Hindi', 'contact-form-7' ),
|
187 |
'hu_HU' => __( 'Hungarian', 'contact-form-7' ),
|
381 |
}
|
382 |
|
383 |
function wpcf7_get_request_uri() {
|
384 |
+
static $request_uri = '';
|
385 |
+
|
386 |
+
if ( empty( $request_uri ) ) {
|
387 |
+
$request_uri = add_query_arg( array() );
|
388 |
+
}
|
389 |
|
390 |
+
return esc_url_raw( $request_uri );
|
391 |
}
|
392 |
|
393 |
function wpcf7_register_post_types() {
|
includes/js/jquery.form.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1 |
/*!
|
2 |
* jQuery Form Plugin
|
3 |
-
* version: 3.
|
4 |
* Requires jQuery v1.5 or later
|
5 |
* Copyright (c) 2013 M. Alsup
|
6 |
* Examples and documentation at: http://malsup.com/jquery/form/
|
@@ -12,6 +12,7 @@
|
|
12 |
|
13 |
// AMD support
|
14 |
(function (factory) {
|
|
|
15 |
if (typeof define === 'function' && define.amd) {
|
16 |
// using AMD; register as anon module
|
17 |
define(['jquery'], factory);
|
@@ -75,11 +76,13 @@ var hasProp = !!$.fn.prop;
|
|
75 |
// contains inputs with names like "action" or "method"; in those
|
76 |
// cases "prop" returns the element
|
77 |
$.fn.attr2 = function() {
|
78 |
-
if ( ! hasProp )
|
79 |
return this.attr.apply(this, arguments);
|
|
|
80 |
var val = this.prop.apply(this, arguments);
|
81 |
-
if ( ( val && val.jquery ) || typeof val === 'string' )
|
82 |
return val;
|
|
|
83 |
return this.attr.apply(this, arguments);
|
84 |
};
|
85 |
|
@@ -257,8 +260,9 @@ $.fn.ajaxSubmit = function(options) {
|
|
257 |
$form.removeData('jqxhr').data('jqxhr', jqxhr);
|
258 |
|
259 |
// clear element array
|
260 |
-
for (var k=0; k < elements.length; k++)
|
261 |
elements[k] = null;
|
|
|
262 |
|
263 |
// fire 'notify' event
|
264 |
this.trigger('form-submit-notify', [this, options]);
|
@@ -290,9 +294,11 @@ $.fn.ajaxSubmit = function(options) {
|
|
290 |
|
291 |
if (options.extraData) {
|
292 |
var serializedData = deepSerialize(options.extraData);
|
293 |
-
for (i=0; i < serializedData.length; i++)
|
294 |
-
if (serializedData[i])
|
295 |
formdata.append(serializedData[i][0], serializedData[i][1]);
|
|
|
|
|
296 |
}
|
297 |
|
298 |
options.data = null;
|
@@ -327,12 +333,15 @@ $.fn.ajaxSubmit = function(options) {
|
|
327 |
var beforeSend = s.beforeSend;
|
328 |
s.beforeSend = function(xhr, o) {
|
329 |
//Send FormData() provided by user
|
330 |
-
if (options.formData)
|
331 |
o.data = options.formData;
|
332 |
-
|
|
|
333 |
o.data = formdata;
|
334 |
-
|
|
|
335 |
beforeSend.call(this, xhr, o);
|
|
|
336 |
};
|
337 |
return $.ajax(s);
|
338 |
}
|
@@ -351,10 +360,12 @@ $.fn.ajaxSubmit = function(options) {
|
|
351 |
// ensure that every serialized input is still enabled
|
352 |
for (i=0; i < elements.length; i++) {
|
353 |
el = $(elements[i]);
|
354 |
-
if ( hasProp )
|
355 |
el.prop('disabled', false);
|
356 |
-
|
|
|
357 |
el.removeAttr('disabled');
|
|
|
358 |
}
|
359 |
}
|
360 |
|
@@ -364,10 +375,12 @@ $.fn.ajaxSubmit = function(options) {
|
|
364 |
if (s.iframeTarget) {
|
365 |
$io = $(s.iframeTarget);
|
366 |
n = $io.attr2('name');
|
367 |
-
if (!n)
|
368 |
-
|
369 |
-
|
|
|
370 |
id = n;
|
|
|
371 |
}
|
372 |
else {
|
373 |
$io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
|
@@ -399,12 +412,15 @@ $.fn.ajaxSubmit = function(options) {
|
|
399 |
|
400 |
$io.attr('src', s.iframeSrc); // abort op in progress
|
401 |
xhr.error = e;
|
402 |
-
if (s.error)
|
403 |
s.error.call(s.context, xhr, e, status);
|
404 |
-
|
|
|
405 |
$.event.trigger("ajaxError", [xhr, s, e]);
|
406 |
-
|
|
|
407 |
s.complete.call(s.context, xhr, e);
|
|
|
408 |
}
|
409 |
};
|
410 |
|
@@ -491,7 +507,10 @@ $.fn.ajaxSubmit = function(options) {
|
|
491 |
// take a breath so that pending repaints get some cpu time before the upload starts
|
492 |
function doSubmit() {
|
493 |
// make sure form attrs are set
|
494 |
-
var t = $form.attr2('target'),
|
|
|
|
|
|
|
495 |
|
496 |
// update form attrs in IE friendly way
|
497 |
form.setAttribute('target',id);
|
@@ -520,14 +539,16 @@ $.fn.ajaxSubmit = function(options) {
|
|
520 |
try {
|
521 |
var state = getDoc(io).readyState;
|
522 |
log('state = ' + state);
|
523 |
-
if (state && state.toLowerCase() == 'uninitialized')
|
524 |
setTimeout(checkState,50);
|
|
|
525 |
}
|
526 |
catch(e) {
|
527 |
log('Server abort: ' , e, ' (', e.name, ')');
|
528 |
cb(SERVER_ABORT);
|
529 |
-
if (timeoutHandle)
|
530 |
clearTimeout(timeoutHandle);
|
|
|
531 |
timeoutHandle = undefined;
|
532 |
}
|
533 |
}
|
@@ -556,10 +577,12 @@ $.fn.ajaxSubmit = function(options) {
|
|
556 |
// add iframe to doc and submit the form
|
557 |
$io.appendTo('body');
|
558 |
}
|
559 |
-
if (io.attachEvent)
|
560 |
io.attachEvent('onload', cb);
|
561 |
-
|
|
|
562 |
io.addEventListener('load', cb, false);
|
|
|
563 |
setTimeout(checkState,15);
|
564 |
|
565 |
try {
|
@@ -573,6 +596,7 @@ $.fn.ajaxSubmit = function(options) {
|
|
573 |
finally {
|
574 |
// reset attrs and remove "extra" input elements
|
575 |
form.setAttribute('action',a);
|
|
|
576 |
if(t) {
|
577 |
form.setAttribute('target', t);
|
578 |
} else {
|
@@ -614,13 +638,16 @@ $.fn.ajaxSubmit = function(options) {
|
|
614 |
|
615 |
if (!doc || doc.location.href == s.iframeSrc) {
|
616 |
// response not received yet
|
617 |
-
if (!timedOut)
|
618 |
return;
|
|
|
619 |
}
|
620 |
-
if (io.detachEvent)
|
621 |
io.detachEvent('onload', cb);
|
622 |
-
|
|
|
623 |
io.removeEventListener('load', cb, false);
|
|
|
624 |
|
625 |
var status = 'success', errMsg;
|
626 |
try {
|
@@ -647,8 +674,9 @@ $.fn.ajaxSubmit = function(options) {
|
|
647 |
var docRoot = doc.body ? doc.body : doc.documentElement;
|
648 |
xhr.responseText = docRoot ? docRoot.innerHTML : null;
|
649 |
xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
|
650 |
-
if (isXml)
|
651 |
s.dataType = 'xml';
|
|
|
652 |
xhr.getResponseHeader = function(header){
|
653 |
var headers = {'content-type': s.dataType};
|
654 |
return headers[header.toLowerCase()];
|
@@ -711,42 +739,52 @@ $.fn.ajaxSubmit = function(options) {
|
|
711 |
|
712 |
// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
|
713 |
if (status === 'success') {
|
714 |
-
if (s.success)
|
715 |
s.success.call(s.context, data, 'success', xhr);
|
|
|
716 |
deferred.resolve(xhr.responseText, 'success', xhr);
|
717 |
-
if (g)
|
718 |
$.event.trigger("ajaxSuccess", [xhr, s]);
|
|
|
719 |
}
|
720 |
else if (status) {
|
721 |
-
if (errMsg === undefined)
|
722 |
errMsg = xhr.statusText;
|
723 |
-
|
|
|
724 |
s.error.call(s.context, xhr, status, errMsg);
|
|
|
725 |
deferred.reject(xhr, 'error', errMsg);
|
726 |
-
if (g)
|
727 |
$.event.trigger("ajaxError", [xhr, s, errMsg]);
|
|
|
728 |
}
|
729 |
|
730 |
-
if (g)
|
731 |
$.event.trigger("ajaxComplete", [xhr, s]);
|
|
|
732 |
|
733 |
if (g && ! --$.active) {
|
734 |
$.event.trigger("ajaxStop");
|
735 |
}
|
736 |
|
737 |
-
if (s.complete)
|
738 |
s.complete.call(s.context, xhr, status);
|
|
|
739 |
|
740 |
callbackProcessed = true;
|
741 |
-
if (s.timeout)
|
742 |
clearTimeout(timeoutHandle);
|
|
|
743 |
|
744 |
// clean up
|
745 |
setTimeout(function() {
|
746 |
-
if (!s.iframeTarget)
|
747 |
$io.remove();
|
748 |
-
|
|
|
749 |
$io.attr('src', s.iframeSrc);
|
|
|
750 |
xhr.responseXML = null;
|
751 |
}, 100);
|
752 |
}
|
@@ -774,8 +812,9 @@ $.fn.ajaxSubmit = function(options) {
|
|
774 |
data = xml ? xhr.responseXML : xhr.responseText;
|
775 |
|
776 |
if (xml && data.documentElement.nodeName === 'parsererror') {
|
777 |
-
if ($.error)
|
778 |
$.error('parsererror');
|
|
|
779 |
}
|
780 |
if (s && s.dataFilter) {
|
781 |
data = s.dataFilter(data, type);
|
@@ -907,8 +946,23 @@ $.fn.formToArray = function(semantic, elements) {
|
|
907 |
}
|
908 |
|
909 |
var form = this[0];
|
|
|
910 |
var els = semantic ? form.getElementsByTagName('*') : form.elements;
|
911 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
912 |
return a;
|
913 |
}
|
914 |
|
@@ -931,15 +985,17 @@ $.fn.formToArray = function(semantic, elements) {
|
|
931 |
|
932 |
v = $.fieldValue(el, true);
|
933 |
if (v && v.constructor == Array) {
|
934 |
-
if (elements)
|
935 |
elements.push(el);
|
|
|
936 |
for(j=0, jmax=v.length; j < jmax; j++) {
|
937 |
a.push({name: n, value: v[j]});
|
938 |
}
|
939 |
}
|
940 |
else if (feature.fileapi && el.type == 'file') {
|
941 |
-
if (elements)
|
942 |
elements.push(el);
|
|
|
943 |
var files = el.files;
|
944 |
if (files.length) {
|
945 |
for (j=0; j < files.length; j++) {
|
@@ -952,8 +1008,9 @@ $.fn.formToArray = function(semantic, elements) {
|
|
952 |
}
|
953 |
}
|
954 |
else if (v !== null && typeof v != 'undefined') {
|
955 |
-
if (elements)
|
956 |
elements.push(el);
|
|
|
957 |
a.push({name: n, value: v, type: el.type, required: el.required});
|
958 |
}
|
959 |
}
|
@@ -1049,10 +1106,12 @@ $.fn.fieldValue = function(successful) {
|
|
1049 |
if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
|
1050 |
continue;
|
1051 |
}
|
1052 |
-
if (v.constructor == Array)
|
1053 |
$.merge(val, v);
|
1054 |
-
|
|
|
1055 |
val.push(v);
|
|
|
1056 |
}
|
1057 |
return val;
|
1058 |
};
|
@@ -1086,7 +1145,7 @@ $.fieldValue = function(el, successful) {
|
|
1086 |
if (op.selected) {
|
1087 |
var v = op.value;
|
1088 |
if (!v) { // extra pain for IE...
|
1089 |
-
v = (op.attributes && op.attributes
|
1090 |
}
|
1091 |
if (one) {
|
1092 |
return v;
|
@@ -1142,8 +1201,9 @@ $.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
|
|
1142 |
// $('#myForm').clearForm('.special:hidden')
|
1143 |
// the above would clean hidden inputs that have the class of 'special'
|
1144 |
if ( (includeHidden === true && /hidden/.test(t)) ||
|
1145 |
-
(typeof includeHidden == 'string' && $(this).is(includeHidden)) )
|
1146 |
this.value = '';
|
|
|
1147 |
}
|
1148 |
});
|
1149 |
};
|
@@ -1202,8 +1262,9 @@ $.fn.ajaxSubmit.debug = false;
|
|
1202 |
|
1203 |
// helper fn for console logging
|
1204 |
function log() {
|
1205 |
-
if (!$.fn.ajaxSubmit.debug)
|
1206 |
return;
|
|
|
1207 |
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
|
1208 |
if (window.console && window.console.log) {
|
1209 |
window.console.log(msg);
|
1 |
/*!
|
2 |
* jQuery Form Plugin
|
3 |
+
* version: 3.48.0-2013.12.28
|
4 |
* Requires jQuery v1.5 or later
|
5 |
* Copyright (c) 2013 M. Alsup
|
6 |
* Examples and documentation at: http://malsup.com/jquery/form/
|
12 |
|
13 |
// AMD support
|
14 |
(function (factory) {
|
15 |
+
"use strict";
|
16 |
if (typeof define === 'function' && define.amd) {
|
17 |
// using AMD; register as anon module
|
18 |
define(['jquery'], factory);
|
76 |
// contains inputs with names like "action" or "method"; in those
|
77 |
// cases "prop" returns the element
|
78 |
$.fn.attr2 = function() {
|
79 |
+
if ( ! hasProp ) {
|
80 |
return this.attr.apply(this, arguments);
|
81 |
+
}
|
82 |
var val = this.prop.apply(this, arguments);
|
83 |
+
if ( ( val && val.jquery ) || typeof val === 'string' ) {
|
84 |
return val;
|
85 |
+
}
|
86 |
return this.attr.apply(this, arguments);
|
87 |
};
|
88 |
|
260 |
$form.removeData('jqxhr').data('jqxhr', jqxhr);
|
261 |
|
262 |
// clear element array
|
263 |
+
for (var k=0; k < elements.length; k++) {
|
264 |
elements[k] = null;
|
265 |
+
}
|
266 |
|
267 |
// fire 'notify' event
|
268 |
this.trigger('form-submit-notify', [this, options]);
|
294 |
|
295 |
if (options.extraData) {
|
296 |
var serializedData = deepSerialize(options.extraData);
|
297 |
+
for (i=0; i < serializedData.length; i++) {
|
298 |
+
if (serializedData[i]) {
|
299 |
formdata.append(serializedData[i][0], serializedData[i][1]);
|
300 |
+
}
|
301 |
+
}
|
302 |
}
|
303 |
|
304 |
options.data = null;
|
333 |
var beforeSend = s.beforeSend;
|
334 |
s.beforeSend = function(xhr, o) {
|
335 |
//Send FormData() provided by user
|
336 |
+
if (options.formData) {
|
337 |
o.data = options.formData;
|
338 |
+
}
|
339 |
+
else {
|
340 |
o.data = formdata;
|
341 |
+
}
|
342 |
+
if(beforeSend) {
|
343 |
beforeSend.call(this, xhr, o);
|
344 |
+
}
|
345 |
};
|
346 |
return $.ajax(s);
|
347 |
}
|
360 |
// ensure that every serialized input is still enabled
|
361 |
for (i=0; i < elements.length; i++) {
|
362 |
el = $(elements[i]);
|
363 |
+
if ( hasProp ) {
|
364 |
el.prop('disabled', false);
|
365 |
+
}
|
366 |
+
else {
|
367 |
el.removeAttr('disabled');
|
368 |
+
}
|
369 |
}
|
370 |
}
|
371 |
|
375 |
if (s.iframeTarget) {
|
376 |
$io = $(s.iframeTarget);
|
377 |
n = $io.attr2('name');
|
378 |
+
if (!n) {
|
379 |
+
$io.attr2('name', id);
|
380 |
+
}
|
381 |
+
else {
|
382 |
id = n;
|
383 |
+
}
|
384 |
}
|
385 |
else {
|
386 |
$io = $('<iframe name="' + id + '" src="'+ s.iframeSrc +'" />');
|
412 |
|
413 |
$io.attr('src', s.iframeSrc); // abort op in progress
|
414 |
xhr.error = e;
|
415 |
+
if (s.error) {
|
416 |
s.error.call(s.context, xhr, e, status);
|
417 |
+
}
|
418 |
+
if (g) {
|
419 |
$.event.trigger("ajaxError", [xhr, s, e]);
|
420 |
+
}
|
421 |
+
if (s.complete) {
|
422 |
s.complete.call(s.context, xhr, e);
|
423 |
+
}
|
424 |
}
|
425 |
};
|
426 |
|
507 |
// take a breath so that pending repaints get some cpu time before the upload starts
|
508 |
function doSubmit() {
|
509 |
// make sure form attrs are set
|
510 |
+
var t = $form.attr2('target'),
|
511 |
+
a = $form.attr2('action'),
|
512 |
+
mp = 'multipart/form-data',
|
513 |
+
et = $form.attr('enctype') || $form.attr('encoding') || mp;
|
514 |
|
515 |
// update form attrs in IE friendly way
|
516 |
form.setAttribute('target',id);
|
539 |
try {
|
540 |
var state = getDoc(io).readyState;
|
541 |
log('state = ' + state);
|
542 |
+
if (state && state.toLowerCase() == 'uninitialized') {
|
543 |
setTimeout(checkState,50);
|
544 |
+
}
|
545 |
}
|
546 |
catch(e) {
|
547 |
log('Server abort: ' , e, ' (', e.name, ')');
|
548 |
cb(SERVER_ABORT);
|
549 |
+
if (timeoutHandle) {
|
550 |
clearTimeout(timeoutHandle);
|
551 |
+
}
|
552 |
timeoutHandle = undefined;
|
553 |
}
|
554 |
}
|
577 |
// add iframe to doc and submit the form
|
578 |
$io.appendTo('body');
|
579 |
}
|
580 |
+
if (io.attachEvent) {
|
581 |
io.attachEvent('onload', cb);
|
582 |
+
}
|
583 |
+
else {
|
584 |
io.addEventListener('load', cb, false);
|
585 |
+
}
|
586 |
setTimeout(checkState,15);
|
587 |
|
588 |
try {
|
596 |
finally {
|
597 |
// reset attrs and remove "extra" input elements
|
598 |
form.setAttribute('action',a);
|
599 |
+
form.setAttribute('enctype', et); // #380
|
600 |
if(t) {
|
601 |
form.setAttribute('target', t);
|
602 |
} else {
|
638 |
|
639 |
if (!doc || doc.location.href == s.iframeSrc) {
|
640 |
// response not received yet
|
641 |
+
if (!timedOut) {
|
642 |
return;
|
643 |
+
}
|
644 |
}
|
645 |
+
if (io.detachEvent) {
|
646 |
io.detachEvent('onload', cb);
|
647 |
+
}
|
648 |
+
else {
|
649 |
io.removeEventListener('load', cb, false);
|
650 |
+
}
|
651 |
|
652 |
var status = 'success', errMsg;
|
653 |
try {
|
674 |
var docRoot = doc.body ? doc.body : doc.documentElement;
|
675 |
xhr.responseText = docRoot ? docRoot.innerHTML : null;
|
676 |
xhr.responseXML = doc.XMLDocument ? doc.XMLDocument : doc;
|
677 |
+
if (isXml) {
|
678 |
s.dataType = 'xml';
|
679 |
+
}
|
680 |
xhr.getResponseHeader = function(header){
|
681 |
var headers = {'content-type': s.dataType};
|
682 |
return headers[header.toLowerCase()];
|
739 |
|
740 |
// ordering of these callbacks/triggers is odd, but that's how $.ajax does it
|
741 |
if (status === 'success') {
|
742 |
+
if (s.success) {
|
743 |
s.success.call(s.context, data, 'success', xhr);
|
744 |
+
}
|
745 |
deferred.resolve(xhr.responseText, 'success', xhr);
|
746 |
+
if (g) {
|
747 |
$.event.trigger("ajaxSuccess", [xhr, s]);
|
748 |
+
}
|
749 |
}
|
750 |
else if (status) {
|
751 |
+
if (errMsg === undefined) {
|
752 |
errMsg = xhr.statusText;
|
753 |
+
}
|
754 |
+
if (s.error) {
|
755 |
s.error.call(s.context, xhr, status, errMsg);
|
756 |
+
}
|
757 |
deferred.reject(xhr, 'error', errMsg);
|
758 |
+
if (g) {
|
759 |
$.event.trigger("ajaxError", [xhr, s, errMsg]);
|
760 |
+
}
|
761 |
}
|
762 |
|
763 |
+
if (g) {
|
764 |
$.event.trigger("ajaxComplete", [xhr, s]);
|
765 |
+
}
|
766 |
|
767 |
if (g && ! --$.active) {
|
768 |
$.event.trigger("ajaxStop");
|
769 |
}
|
770 |
|
771 |
+
if (s.complete) {
|
772 |
s.complete.call(s.context, xhr, status);
|
773 |
+
}
|
774 |
|
775 |
callbackProcessed = true;
|
776 |
+
if (s.timeout) {
|
777 |
clearTimeout(timeoutHandle);
|
778 |
+
}
|
779 |
|
780 |
// clean up
|
781 |
setTimeout(function() {
|
782 |
+
if (!s.iframeTarget) {
|
783 |
$io.remove();
|
784 |
+
}
|
785 |
+
else { //adding else to clean up existing iframe response.
|
786 |
$io.attr('src', s.iframeSrc);
|
787 |
+
}
|
788 |
xhr.responseXML = null;
|
789 |
}, 100);
|
790 |
}
|
812 |
data = xml ? xhr.responseXML : xhr.responseText;
|
813 |
|
814 |
if (xml && data.documentElement.nodeName === 'parsererror') {
|
815 |
+
if ($.error) {
|
816 |
$.error('parsererror');
|
817 |
+
}
|
818 |
}
|
819 |
if (s && s.dataFilter) {
|
820 |
data = s.dataFilter(data, type);
|
946 |
}
|
947 |
|
948 |
var form = this[0];
|
949 |
+
var formId = this.attr('id');
|
950 |
var els = semantic ? form.getElementsByTagName('*') : form.elements;
|
951 |
+
var els2;
|
952 |
+
|
953 |
+
if ( els ) {
|
954 |
+
els = $(els).get(); // convert to standard array
|
955 |
+
}
|
956 |
+
|
957 |
+
// #386; account for inputs outside the form which use the 'form' attribute
|
958 |
+
if ( formId ) {
|
959 |
+
els2 = $(':input[form=' + formId + ']').get();
|
960 |
+
if ( els2.length ) {
|
961 |
+
els = (els || []).concat(els2);
|
962 |
+
}
|
963 |
+
}
|
964 |
+
|
965 |
+
if (!els || !els.length) {
|
966 |
return a;
|
967 |
}
|
968 |
|
985 |
|
986 |
v = $.fieldValue(el, true);
|
987 |
if (v && v.constructor == Array) {
|
988 |
+
if (elements) {
|
989 |
elements.push(el);
|
990 |
+
}
|
991 |
for(j=0, jmax=v.length; j < jmax; j++) {
|
992 |
a.push({name: n, value: v[j]});
|
993 |
}
|
994 |
}
|
995 |
else if (feature.fileapi && el.type == 'file') {
|
996 |
+
if (elements) {
|
997 |
elements.push(el);
|
998 |
+
}
|
999 |
var files = el.files;
|
1000 |
if (files.length) {
|
1001 |
for (j=0; j < files.length; j++) {
|
1008 |
}
|
1009 |
}
|
1010 |
else if (v !== null && typeof v != 'undefined') {
|
1011 |
+
if (elements) {
|
1012 |
elements.push(el);
|
1013 |
+
}
|
1014 |
a.push({name: n, value: v, type: el.type, required: el.required});
|
1015 |
}
|
1016 |
}
|
1106 |
if (v === null || typeof v == 'undefined' || (v.constructor == Array && !v.length)) {
|
1107 |
continue;
|
1108 |
}
|
1109 |
+
if (v.constructor == Array) {
|
1110 |
$.merge(val, v);
|
1111 |
+
}
|
1112 |
+
else {
|
1113 |
val.push(v);
|
1114 |
+
}
|
1115 |
}
|
1116 |
return val;
|
1117 |
};
|
1145 |
if (op.selected) {
|
1146 |
var v = op.value;
|
1147 |
if (!v) { // extra pain for IE...
|
1148 |
+
v = (op.attributes && op.attributes.value && !(op.attributes.value.specified)) ? op.text : op.value;
|
1149 |
}
|
1150 |
if (one) {
|
1151 |
return v;
|
1201 |
// $('#myForm').clearForm('.special:hidden')
|
1202 |
// the above would clean hidden inputs that have the class of 'special'
|
1203 |
if ( (includeHidden === true && /hidden/.test(t)) ||
|
1204 |
+
(typeof includeHidden == 'string' && $(this).is(includeHidden)) ) {
|
1205 |
this.value = '';
|
1206 |
+
}
|
1207 |
}
|
1208 |
});
|
1209 |
};
|
1262 |
|
1263 |
// helper fn for console logging
|
1264 |
function log() {
|
1265 |
+
if (!$.fn.ajaxSubmit.debug) {
|
1266 |
return;
|
1267 |
+
}
|
1268 |
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
|
1269 |
if (window.console && window.console.log) {
|
1270 |
window.console.log(msg);
|
includes/js/jquery.form.min.js
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
/*
|
2 |
-
* jQuery Form Plugin;
|
3 |
* http://jquery.malsup.com/form/
|
4 |
* Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL
|
5 |
* https://github.com/malsup/form#copyright-and-license
|
6 |
*/
|
7 |
-
;(function(e){"function"==typeof define&&define.amd?define(["jquery"],e):e("undefined"!=typeof jQuery?jQuery:window.Zepto)})(function(e){"use strict";function t(t){var r=t.data;t.isDefaultPrevented()||(t.preventDefault(),e(t.target).ajaxSubmit(r))}function r(t){var r=t.target,a=e(r);if(!a.is("[type=submit],[type=image]")){var n=a.closest("[type=submit]");if(0===n.length)return;r=n[0]}var i=this;if(i.clk=r,"image"==r.type)if(void 0!==t.offsetX)i.clk_x=t.offsetX,i.clk_y=t.offsetY;else if("function"==typeof e.fn.offset){var o=a.offset();i.clk_x=t.pageX-o.left,i.clk_y=t.pageY-o.top}else i.clk_x=t.pageX-r.offsetLeft,i.clk_y=t.pageY-r.offsetTop;setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}function a(){if(e.fn.ajaxSubmit.debug){var t="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(t):window.opera&&window.opera.postError&&window.opera.postError(t)}}var n={};n.fileapi=void 0!==e("<input type='file'/>").get(0).files,n.formdata=void 0!==window.FormData;var i=!!e.fn.prop;e.fn.attr2=function(){if(!i)return this.attr.apply(this,arguments);var e=this.prop.apply(this,arguments);return e&&e.jquery||"string"==typeof e?e:this.attr.apply(this,arguments)},e.fn.ajaxSubmit=function(t){function r(r){var a,n,i=e.param(r,t.traditional).split("&"),o=i.length,s=[];for(a=0;o>a;a++)i[a]=i[a].replace(/\+/g," "),n=i[a].split("="),s.push([decodeURIComponent(n[0]),decodeURIComponent(n[1])]);return s}function o(a){for(var n=new FormData,i=0;a.length>i;i++)n.append(a[i].name,a[i].value);if(t.extraData){var o=r(t.extraData);for(i=0;o.length>i;i++)o[i]&&n.append(o[i][0],o[i][1])}t.data=null;var s=e.extend(!0,{},e.ajaxSettings,t,{contentType:!1,processData:!1,cache:!1,type:u||"POST"});t.uploadProgress&&(s.xhr=function(){var r=e.ajaxSettings.xhr();return r.upload&&r.upload.addEventListener("progress",function(e){var r=0,a=e.loaded||e.position,n=e.total;e.lengthComputable&&(r=Math.ceil(100*(a/n))),t.uploadProgress(e,a,n,r)},!1),r}),s.data=null;var c=s.beforeSend;return s.beforeSend=function(e,r){r.data=t.formData?t.formData:n,c&&c.call(this,e,r)},e.ajax(s)}function s(r){function n(e){var t=null;try{e.contentWindow&&(t=e.contentWindow.document)}catch(r){a("cannot get iframe.contentWindow document: "+r)}if(t)return t;try{t=e.contentDocument?e.contentDocument:e.document}catch(r){a("cannot get iframe.contentDocument: "+r),t=e.document}return t}function o(){function t(){try{var e=n(g).readyState;a("state = "+e),e&&"uninitialized"==e.toLowerCase()&&setTimeout(t,50)}catch(r){a("Server abort: ",r," (",r.name,")"),s(k),j&&clearTimeout(j),j=void 0}}var r=f.attr2("target"),i=f.attr2("action");w.setAttribute("target",p),(!u||/post/i.test(u))&&w.setAttribute("method","POST"),i!=m.url&&w.setAttribute("action",m.url),m.skipEncodingOverride||u&&!/post/i.test(u)||f.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(j=setTimeout(function(){T=!0,s(D)},m.timeout));var o=[];try{if(m.extraData)for(var c in m.extraData)m.extraData.hasOwnProperty(c)&&(e.isPlainObject(m.extraData[c])&&m.extraData[c].hasOwnProperty("name")&&m.extraData[c].hasOwnProperty("value")?o.push(e('<input type="hidden" name="'+m.extraData[c].name+'">').val(m.extraData[c].value).appendTo(w)[0]):o.push(e('<input type="hidden" name="'+c+'">').val(m.extraData[c]).appendTo(w)[0]));m.iframeTarget||v.appendTo("body"),g.attachEvent?g.attachEvent("onload",s):g.addEventListener("load",s,!1),setTimeout(t,15);try{w.submit()}catch(l){var d=document.createElement("form").submit;d.apply(w)}}finally{w.setAttribute("action",i),r?w.setAttribute("target",r):f.removeAttr("target"),e(o).remove()}}function s(t){if(!x.aborted&&!F){if(M=n(g),M||(a("cannot access response document"),t=k),t===D&&x)return x.abort("timeout"),S.reject(x,"timeout"),void 0;if(t==k&&x)return x.abort("server abort"),S.reject(x,"error","server abort"),void 0;if(M&&M.location.href!=m.iframeSrc||T){g.detachEvent?g.detachEvent("onload",s):g.removeEventListener("load",s,!1);var r,i="success";try{if(T)throw"timeout";var o="xml"==m.dataType||M.XMLDocument||e.isXMLDoc(M);if(a("isXml="+o),!o&&window.opera&&(null===M.body||!M.body.innerHTML)&&--O)return a("requeing onLoad callback, DOM not available"),setTimeout(s,250),void 0;var u=M.body?M.body:M.documentElement;x.responseText=u?u.innerHTML:null,x.responseXML=M.XMLDocument?M.XMLDocument:M,o&&(m.dataType="xml"),x.getResponseHeader=function(e){var t={"content-type":m.dataType};return t[e.toLowerCase()]},u&&(x.status=Number(u.getAttribute("status"))||x.status,x.statusText=u.getAttribute("statusText")||x.statusText);var c=(m.dataType||"").toLowerCase(),l=/(json|script|text)/.test(c);if(l||m.textarea){var f=M.getElementsByTagName("textarea")[0];if(f)x.responseText=f.value,x.status=Number(f.getAttribute("status"))||x.status,x.statusText=f.getAttribute("statusText")||x.statusText;else if(l){var p=M.getElementsByTagName("pre")[0],h=M.getElementsByTagName("body")[0];p?x.responseText=p.textContent?p.textContent:p.innerText:h&&(x.responseText=h.textContent?h.textContent:h.innerText)}}else"xml"==c&&!x.responseXML&&x.responseText&&(x.responseXML=X(x.responseText));try{E=_(x,c,m)}catch(b){i="parsererror",x.error=r=b||i}}catch(b){a("error caught: ",b),i="error",x.error=r=b||i}x.aborted&&(a("upload aborted"),i=null),x.status&&(i=x.status>=200&&300>x.status||304===x.status?"success":"error"),"success"===i?(m.success&&m.success.call(m.context,E,"success",x),S.resolve(x.responseText,"success",x),d&&e.event.trigger("ajaxSuccess",[x,m])):i&&(void 0===r&&(r=x.statusText),m.error&&m.error.call(m.context,x,i,r),S.reject(x,"error",r),d&&e.event.trigger("ajaxError",[x,m,r])),d&&e.event.trigger("ajaxComplete",[x,m]),d&&!--e.active&&e.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,x,i),F=!0,m.timeout&&clearTimeout(j),setTimeout(function(){m.iframeTarget?v.attr("src",m.iframeSrc):v.remove(),x.responseXML=null},100)}}}var c,l,m,d,p,v,g,x,b,y,T,j,w=f[0],S=e.Deferred();if(S.abort=function(e){x.abort(e)},r)for(l=0;h.length>l;l++)c=e(h[l]),i?c.prop("disabled",!1):c.removeAttr("disabled");if(m=e.extend(!0,{},e.ajaxSettings,t),m.context=m.context||m,p="jqFormIO"+(new Date).getTime(),m.iframeTarget?(v=e(m.iframeTarget),y=v.attr2("name"),y?p=y:v.attr2("name",p)):(v=e('<iframe name="'+p+'" src="'+m.iframeSrc+'" />'),v.css({position:"absolute",top:"-1000px",left:"-1000px"})),g=v[0],x={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(t){var r="timeout"===t?"timeout":"aborted";a("aborting upload... "+r),this.aborted=1;try{g.contentWindow.document.execCommand&&g.contentWindow.document.execCommand("Stop")}catch(n){}v.attr("src",m.iframeSrc),x.error=r,m.error&&m.error.call(m.context,x,r,t),d&&e.event.trigger("ajaxError",[x,m,r]),m.complete&&m.complete.call(m.context,x,r)}},d=m.global,d&&0===e.active++&&e.event.trigger("ajaxStart"),d&&e.event.trigger("ajaxSend",[x,m]),m.beforeSend&&m.beforeSend.call(m.context,x,m)===!1)return m.global&&e.active--,S.reject(),S;if(x.aborted)return S.reject(),S;b=w.clk,b&&(y=b.name,y&&!b.disabled&&(m.extraData=m.extraData||{},m.extraData[y]=b.value,"image"==b.type&&(m.extraData[y+".x"]=w.clk_x,m.extraData[y+".y"]=w.clk_y)));var D=1,k=2,A=e("meta[name=csrf-token]").attr("content"),L=e("meta[name=csrf-param]").attr("content");L&&A&&(m.extraData=m.extraData||{},m.extraData[L]=A),m.forceSync?o():setTimeout(o,10);var E,M,F,O=50,X=e.parseXML||function(e,t){return window.ActiveXObject?(t=new ActiveXObject("Microsoft.XMLDOM"),t.async="false",t.loadXML(e)):t=(new DOMParser).parseFromString(e,"text/xml"),t&&t.documentElement&&"parsererror"!=t.documentElement.nodeName?t:null},C=e.parseJSON||function(e){return window.eval("("+e+")")},_=function(t,r,a){var n=t.getResponseHeader("content-type")||"",i="xml"===r||!r&&n.indexOf("xml")>=0,o=i?t.responseXML:t.responseText;return i&&"parsererror"===o.documentElement.nodeName&&e.error&&e.error("parsererror"),a&&a.dataFilter&&(o=a.dataFilter(o,r)),"string"==typeof o&&("json"===r||!r&&n.indexOf("json")>=0?o=C(o):("script"===r||!r&&n.indexOf("javascript")>=0)&&e.globalEval(o)),o};return S}if(!this.length)return a("ajaxSubmit: skipping submit process - no element selected"),this;var u,c,l,f=this;"function"==typeof t?t={success:t}:void 0===t&&(t={}),u=t.type||this.attr2("method"),c=t.url||this.attr2("action"),l="string"==typeof c?e.trim(c):"",l=l||window.location.href||"",l&&(l=(l.match(/^([^#]+)/)||[])[1]),t=e.extend(!0,{url:l,success:e.ajaxSettings.success,type:u||e.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},t);var m={};if(this.trigger("form-pre-serialize",[this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(t.beforeSerialize&&t.beforeSerialize(this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var d=t.traditional;void 0===d&&(d=e.ajaxSettings.traditional);var p,h=[],v=this.formToArray(t.semantic,h);if(t.data&&(t.extraData=t.data,p=e.param(t.data,d)),t.beforeSubmit&&t.beforeSubmit(v,this,t)===!1)return a("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[v,this,t,m]),m.veto)return a("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var g=e.param(v,d);p&&(g=g?g+"&"+p:p),"GET"==t.type.toUpperCase()?(t.url+=(t.url.indexOf("?")>=0?"&":"?")+g,t.data=null):t.data=g;var x=[];if(t.resetForm&&x.push(function(){f.resetForm()}),t.clearForm&&x.push(function(){f.clearForm(t.includeHidden)}),!t.dataType&&t.target){var b=t.success||function(){};x.push(function(r){var a=t.replaceTarget?"replaceWith":"html";e(t.target)[a](r).each(b,arguments)})}else t.success&&x.push(t.success);if(t.success=function(e,r,a){for(var n=t.context||this,i=0,o=x.length;o>i;i++)x[i].apply(n,[e,r,a||f,f])},t.error){var y=t.error;t.error=function(e,r,a){var n=t.context||this;y.apply(n,[e,r,a,f])}}if(t.complete){var T=t.complete;t.complete=function(e,r){var a=t.context||this;T.apply(a,[e,r,f])}}var j=e("input[type=file]:enabled",this).filter(function(){return""!==e(this).val()}),w=j.length>0,S="multipart/form-data",D=f.attr("enctype")==S||f.attr("encoding")==S,k=n.fileapi&&n.formdata;a("fileAPI :"+k);var A,L=(w||D)&&!k;t.iframe!==!1&&(t.iframe||L)?t.closeKeepAlive?e.get(t.closeKeepAlive,function(){A=s(v)}):A=s(v):A=(w||D)&&k?o(v):e.ajax(t),f.removeData("jqxhr").data("jqxhr",A);for(var E=0;h.length>E;E++)h[E]=null;return this.trigger("form-submit-notify",[this,t]),this},e.fn.ajaxForm=function(n){if(n=n||{},n.delegation=n.delegation&&e.isFunction(e.fn.on),!n.delegation&&0===this.length){var i={s:this.selector,c:this.context};return!e.isReady&&i.s?(a("DOM not ready, queuing ajaxForm"),e(function(){e(i.s,i.c).ajaxForm(n)}),this):(a("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)")),this)}return n.delegation?(e(document).off("submit.form-plugin",this.selector,t).off("click.form-plugin",this.selector,r).on("submit.form-plugin",this.selector,n,t).on("click.form-plugin",this.selector,n,r),this):this.ajaxFormUnbind().bind("submit.form-plugin",n,t).bind("click.form-plugin",n,r)},e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},e.fn.formToArray=function(t,r){var a=[];if(0===this.length)return a;var i=this[0],o=t?i.getElementsByTagName("*"):i.elements;if(!o)return a;var s,u,c,l,f,m,d;for(s=0,m=o.length;m>s;s++)if(f=o[s],c=f.name,c&&!f.disabled)if(t&&i.clk&&"image"==f.type)i.clk==f&&(a.push({name:c,value:e(f).val(),type:f.type}),a.push({name:c+".x",value:i.clk_x},{name:c+".y",value:i.clk_y}));else if(l=e.fieldValue(f,!0),l&&l.constructor==Array)for(r&&r.push(f),u=0,d=l.length;d>u;u++)a.push({name:c,value:l[u]});else if(n.fileapi&&"file"==f.type){r&&r.push(f);var p=f.files;if(p.length)for(u=0;p.length>u;u++)a.push({name:c,value:p[u],type:f.type});else a.push({name:c,value:"",type:f.type})}else null!==l&&l!==void 0&&(r&&r.push(f),a.push({name:c,value:l,type:f.type,required:f.required}));if(!t&&i.clk){var h=e(i.clk),v=h[0];c=v.name,c&&!v.disabled&&"image"==v.type&&(a.push({name:c,value:h.val()}),a.push({name:c+".x",value:i.clk_x},{name:c+".y",value:i.clk_y}))}return a},e.fn.formSerialize=function(t){return e.param(this.formToArray(t))},e.fn.fieldSerialize=function(t){var r=[];return this.each(function(){var a=this.name;if(a){var n=e.fieldValue(this,t);if(n&&n.constructor==Array)for(var i=0,o=n.length;o>i;i++)r.push({name:a,value:n[i]});else null!==n&&n!==void 0&&r.push({name:this.name,value:n})}}),e.param(r)},e.fn.fieldValue=function(t){for(var r=[],a=0,n=this.length;n>a;a++){var i=this[a],o=e.fieldValue(i,t);null===o||void 0===o||o.constructor==Array&&!o.length||(o.constructor==Array?e.merge(r,o):r.push(o))}return r},e.fieldValue=function(t,r){var a=t.name,n=t.type,i=t.tagName.toLowerCase();if(void 0===r&&(r=!0),r&&(!a||t.disabled||"reset"==n||"button"==n||("checkbox"==n||"radio"==n)&&!t.checked||("submit"==n||"image"==n)&&t.form&&t.form.clk!=t||"select"==i&&-1==t.selectedIndex))return null;if("select"==i){var o=t.selectedIndex;if(0>o)return null;for(var s=[],u=t.options,c="select-one"==n,l=c?o+1:u.length,f=c?o:0;l>f;f++){var m=u[f];if(m.selected){var d=m.value;if(d||(d=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),c)return d;s.push(d)}}return s}return e(t).val()},e.fn.clearForm=function(t){return this.each(function(){e("input,select,textarea",this).clearFields(t)})},e.fn.clearFields=e.fn.clearInputs=function(t){var r=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var a=this.type,n=this.tagName.toLowerCase();r.test(a)||"textarea"==n?this.value="":"checkbox"==a||"radio"==a?this.checked=!1:"select"==n?this.selectedIndex=-1:"file"==a?/MSIE/.test(navigator.userAgent)?e(this).replaceWith(e(this).clone(!0)):e(this).val(""):t&&(t===!0&&/hidden/.test(a)||"string"==typeof t&&e(this).is(t))&&(this.value="")})},e.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},e.fn.enable=function(e){return void 0===e&&(e=!0),this.each(function(){this.disabled=!e})},e.fn.selected=function(t){return void 0===t&&(t=!0),this.each(function(){var r=this.type;if("checkbox"==r||"radio"==r)this.checked=t;else if("option"==this.tagName.toLowerCase()){var a=e(this).parent("select");t&&a[0]&&"select-one"==a[0].type&&a.find("option").selected(!1),this.selected=t}})},e.fn.ajaxSubmit.debug=!1});
|
1 |
/*
|
2 |
+
* jQuery Form Plugin; v20131228
|
3 |
* http://jquery.malsup.com/form/
|
4 |
* Copyright (c) 2013 M. Alsup; Dual licensed: MIT/GPL
|
5 |
* https://github.com/malsup/form#copyright-and-license
|
6 |
*/
|
7 |
+
;!function(a){"use strict";"function"==typeof define&&define.amd?define(["jquery"],a):a("undefined"!=typeof jQuery?jQuery:window.Zepto)}(function(a){"use strict";function b(b){var c=b.data;b.isDefaultPrevented()||(b.preventDefault(),a(b.target).ajaxSubmit(c))}function c(b){var c=b.target,d=a(c);if(!d.is("[type=submit],[type=image]")){var e=d.closest("[type=submit]");if(0===e.length)return;c=e[0]}var f=this;if(f.clk=c,"image"==c.type)if(void 0!==b.offsetX)f.clk_x=b.offsetX,f.clk_y=b.offsetY;else if("function"==typeof a.fn.offset){var g=d.offset();f.clk_x=b.pageX-g.left,f.clk_y=b.pageY-g.top}else f.clk_x=b.pageX-c.offsetLeft,f.clk_y=b.pageY-c.offsetTop;setTimeout(function(){f.clk=f.clk_x=f.clk_y=null},100)}function d(){if(a.fn.ajaxSubmit.debug){var b="[jquery.form] "+Array.prototype.join.call(arguments,"");window.console&&window.console.log?window.console.log(b):window.opera&&window.opera.postError&&window.opera.postError(b)}}var e={};e.fileapi=void 0!==a("<input type='file'/>").get(0).files,e.formdata=void 0!==window.FormData;var f=!!a.fn.prop;a.fn.attr2=function(){if(!f)return this.attr.apply(this,arguments);var a=this.prop.apply(this,arguments);return a&&a.jquery||"string"==typeof a?a:this.attr.apply(this,arguments)},a.fn.ajaxSubmit=function(b){function c(c){var d,e,f=a.param(c,b.traditional).split("&"),g=f.length,h=[];for(d=0;g>d;d++)f[d]=f[d].replace(/\+/g," "),e=f[d].split("="),h.push([decodeURIComponent(e[0]),decodeURIComponent(e[1])]);return h}function g(d){for(var e=new FormData,f=0;f<d.length;f++)e.append(d[f].name,d[f].value);if(b.extraData){var g=c(b.extraData);for(f=0;f<g.length;f++)g[f]&&e.append(g[f][0],g[f][1])}b.data=null;var h=a.extend(!0,{},a.ajaxSettings,b,{contentType:!1,processData:!1,cache:!1,type:i||"POST"});b.uploadProgress&&(h.xhr=function(){var c=a.ajaxSettings.xhr();return c.upload&&c.upload.addEventListener("progress",function(a){var c=0,d=a.loaded||a.position,e=a.total;a.lengthComputable&&(c=Math.ceil(d/e*100)),b.uploadProgress(a,d,e,c)},!1),c}),h.data=null;var j=h.beforeSend;return h.beforeSend=function(a,c){c.data=b.formData?b.formData:e,j&&j.call(this,a,c)},a.ajax(h)}function h(c){function e(a){var b=null;try{a.contentWindow&&(b=a.contentWindow.document)}catch(c){d("cannot get iframe.contentWindow document: "+c)}if(b)return b;try{b=a.contentDocument?a.contentDocument:a.document}catch(c){d("cannot get iframe.contentDocument: "+c),b=a.document}return b}function g(){function b(){try{var a=e(r).readyState;d("state = "+a),a&&"uninitialized"==a.toLowerCase()&&setTimeout(b,50)}catch(c){d("Server abort: ",c," (",c.name,")"),h(A),w&&clearTimeout(w),w=void 0}}var c=l.attr2("target"),f=l.attr2("action"),g="multipart/form-data",j=l.attr("enctype")||l.attr("encoding")||g;x.setAttribute("target",o),(!i||/post/i.test(i))&&x.setAttribute("method","POST"),f!=m.url&&x.setAttribute("action",m.url),m.skipEncodingOverride||i&&!/post/i.test(i)||l.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"}),m.timeout&&(w=setTimeout(function(){v=!0,h(z)},m.timeout));var k=[];try{if(m.extraData)for(var n in m.extraData)m.extraData.hasOwnProperty(n)&&(a.isPlainObject(m.extraData[n])&&m.extraData[n].hasOwnProperty("name")&&m.extraData[n].hasOwnProperty("value")?k.push(a('<input type="hidden" name="'+m.extraData[n].name+'">').val(m.extraData[n].value).appendTo(x)[0]):k.push(a('<input type="hidden" name="'+n+'">').val(m.extraData[n]).appendTo(x)[0]));m.iframeTarget||q.appendTo("body"),r.attachEvent?r.attachEvent("onload",h):r.addEventListener("load",h,!1),setTimeout(b,15);try{x.submit()}catch(p){var s=document.createElement("form").submit;s.apply(x)}}finally{x.setAttribute("action",f),x.setAttribute("enctype",j),c?x.setAttribute("target",c):l.removeAttr("target"),a(k).remove()}}function h(b){if(!s.aborted&&!F){if(E=e(r),E||(d("cannot access response document"),b=A),b===z&&s)return s.abort("timeout"),y.reject(s,"timeout"),void 0;if(b==A&&s)return s.abort("server abort"),y.reject(s,"error","server abort"),void 0;if(E&&E.location.href!=m.iframeSrc||v){r.detachEvent?r.detachEvent("onload",h):r.removeEventListener("load",h,!1);var c,f="success";try{if(v)throw"timeout";var g="xml"==m.dataType||E.XMLDocument||a.isXMLDoc(E);if(d("isXml="+g),!g&&window.opera&&(null===E.body||!E.body.innerHTML)&&--G)return d("requeing onLoad callback, DOM not available"),setTimeout(h,250),void 0;var i=E.body?E.body:E.documentElement;s.responseText=i?i.innerHTML:null,s.responseXML=E.XMLDocument?E.XMLDocument:E,g&&(m.dataType="xml"),s.getResponseHeader=function(a){var b={"content-type":m.dataType};return b[a.toLowerCase()]},i&&(s.status=Number(i.getAttribute("status"))||s.status,s.statusText=i.getAttribute("statusText")||s.statusText);var j=(m.dataType||"").toLowerCase(),k=/(json|script|text)/.test(j);if(k||m.textarea){var l=E.getElementsByTagName("textarea")[0];if(l)s.responseText=l.value,s.status=Number(l.getAttribute("status"))||s.status,s.statusText=l.getAttribute("statusText")||s.statusText;else if(k){var o=E.getElementsByTagName("pre")[0],p=E.getElementsByTagName("body")[0];o?s.responseText=o.textContent?o.textContent:o.innerText:p&&(s.responseText=p.textContent?p.textContent:p.innerText)}}else"xml"==j&&!s.responseXML&&s.responseText&&(s.responseXML=H(s.responseText));try{D=J(s,j,m)}catch(t){f="parsererror",s.error=c=t||f}}catch(t){d("error caught: ",t),f="error",s.error=c=t||f}s.aborted&&(d("upload aborted"),f=null),s.status&&(f=s.status>=200&&s.status<300||304===s.status?"success":"error"),"success"===f?(m.success&&m.success.call(m.context,D,"success",s),y.resolve(s.responseText,"success",s),n&&a.event.trigger("ajaxSuccess",[s,m])):f&&(void 0===c&&(c=s.statusText),m.error&&m.error.call(m.context,s,f,c),y.reject(s,"error",c),n&&a.event.trigger("ajaxError",[s,m,c])),n&&a.event.trigger("ajaxComplete",[s,m]),n&&!--a.active&&a.event.trigger("ajaxStop"),m.complete&&m.complete.call(m.context,s,f),F=!0,m.timeout&&clearTimeout(w),setTimeout(function(){m.iframeTarget?q.attr("src",m.iframeSrc):q.remove(),s.responseXML=null},100)}}}var j,k,m,n,o,q,r,s,t,u,v,w,x=l[0],y=a.Deferred();if(y.abort=function(a){s.abort(a)},c)for(k=0;k<p.length;k++)j=a(p[k]),f?j.prop("disabled",!1):j.removeAttr("disabled");if(m=a.extend(!0,{},a.ajaxSettings,b),m.context=m.context||m,o="jqFormIO"+(new Date).getTime(),m.iframeTarget?(q=a(m.iframeTarget),u=q.attr2("name"),u?o=u:q.attr2("name",o)):(q=a('<iframe name="'+o+'" src="'+m.iframeSrc+'" />'),q.css({position:"absolute",top:"-1000px",left:"-1000px"})),r=q[0],s={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(b){var c="timeout"===b?"timeout":"aborted";d("aborting upload... "+c),this.aborted=1;try{r.contentWindow.document.execCommand&&r.contentWindow.document.execCommand("Stop")}catch(e){}q.attr("src",m.iframeSrc),s.error=c,m.error&&m.error.call(m.context,s,c,b),n&&a.event.trigger("ajaxError",[s,m,c]),m.complete&&m.complete.call(m.context,s,c)}},n=m.global,n&&0===a.active++&&a.event.trigger("ajaxStart"),n&&a.event.trigger("ajaxSend",[s,m]),m.beforeSend&&m.beforeSend.call(m.context,s,m)===!1)return m.global&&a.active--,y.reject(),y;if(s.aborted)return y.reject(),y;t=x.clk,t&&(u=t.name,u&&!t.disabled&&(m.extraData=m.extraData||{},m.extraData[u]=t.value,"image"==t.type&&(m.extraData[u+".x"]=x.clk_x,m.extraData[u+".y"]=x.clk_y)));var z=1,A=2,B=a("meta[name=csrf-token]").attr("content"),C=a("meta[name=csrf-param]").attr("content");C&&B&&(m.extraData=m.extraData||{},m.extraData[C]=B),m.forceSync?g():setTimeout(g,10);var D,E,F,G=50,H=a.parseXML||function(a,b){return window.ActiveXObject?(b=new ActiveXObject("Microsoft.XMLDOM"),b.async="false",b.loadXML(a)):b=(new DOMParser).parseFromString(a,"text/xml"),b&&b.documentElement&&"parsererror"!=b.documentElement.nodeName?b:null},I=a.parseJSON||function(a){return window.eval("("+a+")")},J=function(b,c,d){var e=b.getResponseHeader("content-type")||"",f="xml"===c||!c&&e.indexOf("xml")>=0,g=f?b.responseXML:b.responseText;return f&&"parsererror"===g.documentElement.nodeName&&a.error&&a.error("parsererror"),d&&d.dataFilter&&(g=d.dataFilter(g,c)),"string"==typeof g&&("json"===c||!c&&e.indexOf("json")>=0?g=I(g):("script"===c||!c&&e.indexOf("javascript")>=0)&&a.globalEval(g)),g};return y}if(!this.length)return d("ajaxSubmit: skipping submit process - no element selected"),this;var i,j,k,l=this;"function"==typeof b?b={success:b}:void 0===b&&(b={}),i=b.type||this.attr2("method"),j=b.url||this.attr2("action"),k="string"==typeof j?a.trim(j):"",k=k||window.location.href||"",k&&(k=(k.match(/^([^#]+)/)||[])[1]),b=a.extend(!0,{url:k,success:a.ajaxSettings.success,type:i||a.ajaxSettings.type,iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},b);var m={};if(this.trigger("form-pre-serialize",[this,b,m]),m.veto)return d("ajaxSubmit: submit vetoed via form-pre-serialize trigger"),this;if(b.beforeSerialize&&b.beforeSerialize(this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSerialize callback"),this;var n=b.traditional;void 0===n&&(n=a.ajaxSettings.traditional);var o,p=[],q=this.formToArray(b.semantic,p);if(b.data&&(b.extraData=b.data,o=a.param(b.data,n)),b.beforeSubmit&&b.beforeSubmit(q,this,b)===!1)return d("ajaxSubmit: submit aborted via beforeSubmit callback"),this;if(this.trigger("form-submit-validate",[q,this,b,m]),m.veto)return d("ajaxSubmit: submit vetoed via form-submit-validate trigger"),this;var r=a.param(q,n);o&&(r=r?r+"&"+o:o),"GET"==b.type.toUpperCase()?(b.url+=(b.url.indexOf("?")>=0?"&":"?")+r,b.data=null):b.data=r;var s=[];if(b.resetForm&&s.push(function(){l.resetForm()}),b.clearForm&&s.push(function(){l.clearForm(b.includeHidden)}),!b.dataType&&b.target){var t=b.success||function(){};s.push(function(c){var d=b.replaceTarget?"replaceWith":"html";a(b.target)[d](c).each(t,arguments)})}else b.success&&s.push(b.success);if(b.success=function(a,c,d){for(var e=b.context||this,f=0,g=s.length;g>f;f++)s[f].apply(e,[a,c,d||l,l])},b.error){var u=b.error;b.error=function(a,c,d){var e=b.context||this;u.apply(e,[a,c,d,l])}}if(b.complete){var v=b.complete;b.complete=function(a,c){var d=b.context||this;v.apply(d,[a,c,l])}}var w=a("input[type=file]:enabled",this).filter(function(){return""!==a(this).val()}),x=w.length>0,y="multipart/form-data",z=l.attr("enctype")==y||l.attr("encoding")==y,A=e.fileapi&&e.formdata;d("fileAPI :"+A);var B,C=(x||z)&&!A;b.iframe!==!1&&(b.iframe||C)?b.closeKeepAlive?a.get(b.closeKeepAlive,function(){B=h(q)}):B=h(q):B=(x||z)&&A?g(q):a.ajax(b),l.removeData("jqxhr").data("jqxhr",B);for(var D=0;D<p.length;D++)p[D]=null;return this.trigger("form-submit-notify",[this,b]),this},a.fn.ajaxForm=function(e){if(e=e||{},e.delegation=e.delegation&&a.isFunction(a.fn.on),!e.delegation&&0===this.length){var f={s:this.selector,c:this.context};return!a.isReady&&f.s?(d("DOM not ready, queuing ajaxForm"),a(function(){a(f.s,f.c).ajaxForm(e)}),this):(d("terminating; zero elements found by selector"+(a.isReady?"":" (DOM not ready)")),this)}return e.delegation?(a(document).off("submit.form-plugin",this.selector,b).off("click.form-plugin",this.selector,c).on("submit.form-plugin",this.selector,e,b).on("click.form-plugin",this.selector,e,c),this):this.ajaxFormUnbind().bind("submit.form-plugin",e,b).bind("click.form-plugin",e,c)},a.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")},a.fn.formToArray=function(b,c){var d=[];if(0===this.length)return d;var f,g=this[0],h=this.attr("id"),i=b?g.getElementsByTagName("*"):g.elements;if(i&&(i=a(i).get()),h&&(f=a(":input[form="+h+"]").get(),f.length&&(i=(i||[]).concat(f))),!i||!i.length)return d;var j,k,l,m,n,o,p;for(j=0,o=i.length;o>j;j++)if(n=i[j],l=n.name,l&&!n.disabled)if(b&&g.clk&&"image"==n.type)g.clk==n&&(d.push({name:l,value:a(n).val(),type:n.type}),d.push({name:l+".x",value:g.clk_x},{name:l+".y",value:g.clk_y}));else if(m=a.fieldValue(n,!0),m&&m.constructor==Array)for(c&&c.push(n),k=0,p=m.length;p>k;k++)d.push({name:l,value:m[k]});else if(e.fileapi&&"file"==n.type){c&&c.push(n);var q=n.files;if(q.length)for(k=0;k<q.length;k++)d.push({name:l,value:q[k],type:n.type});else d.push({name:l,value:"",type:n.type})}else null!==m&&"undefined"!=typeof m&&(c&&c.push(n),d.push({name:l,value:m,type:n.type,required:n.required}));if(!b&&g.clk){var r=a(g.clk),s=r[0];l=s.name,l&&!s.disabled&&"image"==s.type&&(d.push({name:l,value:r.val()}),d.push({name:l+".x",value:g.clk_x},{name:l+".y",value:g.clk_y}))}return d},a.fn.formSerialize=function(b){return a.param(this.formToArray(b))},a.fn.fieldSerialize=function(b){var c=[];return this.each(function(){var d=this.name;if(d){var e=a.fieldValue(this,b);if(e&&e.constructor==Array)for(var f=0,g=e.length;g>f;f++)c.push({name:d,value:e[f]});else null!==e&&"undefined"!=typeof e&&c.push({name:this.name,value:e})}}),a.param(c)},a.fn.fieldValue=function(b){for(var c=[],d=0,e=this.length;e>d;d++){var f=this[d],g=a.fieldValue(f,b);null===g||"undefined"==typeof g||g.constructor==Array&&!g.length||(g.constructor==Array?a.merge(c,g):c.push(g))}return c},a.fieldValue=function(b,c){var d=b.name,e=b.type,f=b.tagName.toLowerCase();if(void 0===c&&(c=!0),c&&(!d||b.disabled||"reset"==e||"button"==e||("checkbox"==e||"radio"==e)&&!b.checked||("submit"==e||"image"==e)&&b.form&&b.form.clk!=b||"select"==f&&-1==b.selectedIndex))return null;if("select"==f){var g=b.selectedIndex;if(0>g)return null;for(var h=[],i=b.options,j="select-one"==e,k=j?g+1:i.length,l=j?g:0;k>l;l++){var m=i[l];if(m.selected){var n=m.value;if(n||(n=m.attributes&&m.attributes.value&&!m.attributes.value.specified?m.text:m.value),j)return n;h.push(n)}}return h}return a(b).val()},a.fn.clearForm=function(b){return this.each(function(){a("input,select,textarea",this).clearFields(b)})},a.fn.clearFields=a.fn.clearInputs=function(b){var c=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)$/i;return this.each(function(){var d=this.type,e=this.tagName.toLowerCase();c.test(d)||"textarea"==e?this.value="":"checkbox"==d||"radio"==d?this.checked=!1:"select"==e?this.selectedIndex=-1:"file"==d?/MSIE/.test(navigator.userAgent)?a(this).replaceWith(a(this).clone(!0)):a(this).val(""):b&&(b===!0&&/hidden/.test(d)||"string"==typeof b&&a(this).is(b))&&(this.value="")})},a.fn.resetForm=function(){return this.each(function(){("function"==typeof this.reset||"object"==typeof this.reset&&!this.reset.nodeType)&&this.reset()})},a.fn.enable=function(a){return void 0===a&&(a=!0),this.each(function(){this.disabled=!a})},a.fn.selected=function(b){return void 0===b&&(b=!0),this.each(function(){var c=this.type;if("checkbox"==c||"radio"==c)this.checked=b;else if("option"==this.tagName.toLowerCase()){var d=a(this).parent("select");b&&d[0]&&"select-one"==d[0].type&&d.find("option").selected(!1),this.selected=b}})},a.fn.ajaxSubmit.debug=!1});
|
includes/js/scripts.js
CHANGED
@@ -46,6 +46,8 @@
|
|
46 |
|
47 |
this.find('.wpcf7-exclusive-checkbox').wpcf7ExclusiveCheckbox();
|
48 |
|
|
|
|
|
49 |
this.find('[placeholder]').wpcf7Placeholder();
|
50 |
|
51 |
if (_wpcf7.jqueryUi && ! _wpcf7.supportHtml5.date) {
|
@@ -199,10 +201,53 @@
|
|
199 |
});
|
200 |
};
|
201 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
202 |
$.fn.wpcf7NotValidTip = function(message) {
|
203 |
return this.each(function() {
|
204 |
-
var into = $(this);
|
205 |
-
into.hide().append('<span role="alert" class="wpcf7-not-valid-tip">' + message + '</span>').slideDown('fast');
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
206 |
});
|
207 |
};
|
208 |
|
46 |
|
47 |
this.find('.wpcf7-exclusive-checkbox').wpcf7ExclusiveCheckbox();
|
48 |
|
49 |
+
this.find('.wpcf7-list-item.has-free-text').wpcf7ToggleCheckboxFreetext();
|
50 |
+
|
51 |
this.find('[placeholder]').wpcf7Placeholder();
|
52 |
|
53 |
if (_wpcf7.jqueryUi && ! _wpcf7.supportHtml5.date) {
|
201 |
});
|
202 |
};
|
203 |
|
204 |
+
$.fn.wpcf7ToggleCheckboxFreetext = function() {
|
205 |
+
return this.each(function() {
|
206 |
+
var $wrap = $(this).closest('.wpcf7-form-control');
|
207 |
+
|
208 |
+
if ($(this).find(':checkbox, :radio').is(':checked')) {
|
209 |
+
$(this).find(':input.wpcf7-free-text').prop('disabled', false);
|
210 |
+
} else {
|
211 |
+
$(this).find(':input.wpcf7-free-text').prop('disabled', true);
|
212 |
+
}
|
213 |
+
|
214 |
+
$wrap.find(':checkbox, :radio').change(function() {
|
215 |
+
var $cb = $('.has-free-text', $wrap).find(':checkbox, :radio');
|
216 |
+
var $freetext = $(':input.wpcf7-free-text', $wrap);
|
217 |
+
|
218 |
+
if ($cb.is(':checked')) {
|
219 |
+
$freetext.prop('disabled', false).focus();
|
220 |
+
} else {
|
221 |
+
$freetext.prop('disabled', true);
|
222 |
+
}
|
223 |
+
});
|
224 |
+
});
|
225 |
+
};
|
226 |
+
|
227 |
$.fn.wpcf7NotValidTip = function(message) {
|
228 |
return this.each(function() {
|
229 |
+
var $into = $(this);
|
230 |
+
$into.hide().append('<span role="alert" class="wpcf7-not-valid-tip">' + message + '</span>').slideDown('fast');
|
231 |
+
|
232 |
+
if ($into.is('.use-floating-validation-tip *')) {
|
233 |
+
$('.wpcf7-not-valid-tip', $into).mouseover(function() {
|
234 |
+
$(this).wpcf7FadeOut();
|
235 |
+
});
|
236 |
+
|
237 |
+
$(':input', $into).focus(function() {
|
238 |
+
$('.wpcf7-not-valid-tip', $into).not(':hidden').wpcf7FadeOut();
|
239 |
+
});
|
240 |
+
}
|
241 |
+
});
|
242 |
+
};
|
243 |
+
|
244 |
+
$.fn.wpcf7FadeOut = function() {
|
245 |
+
return this.each(function() {
|
246 |
+
$(this).animate({
|
247 |
+
opacity: 0
|
248 |
+
}, 'fast', function() {
|
249 |
+
$(this).css({'z-index': -100});
|
250 |
+
});
|
251 |
});
|
252 |
};
|
253 |
|
includes/pipe.php
CHANGED
@@ -2,11 +2,14 @@
|
|
2 |
|
3 |
class WPCF7_Pipe {
|
4 |
|
5 |
-
|
6 |
-
|
|
|
|
|
|
|
7 |
|
8 |
-
function WPCF7_Pipe( $text ) {
|
9 |
$pipe_pos = strpos( $text, '|' );
|
|
|
10 |
if ( false === $pipe_pos ) {
|
11 |
$this->before = $this->after = trim( $text );
|
12 |
} else {
|
@@ -18,31 +21,30 @@ class WPCF7_Pipe {
|
|
18 |
|
19 |
class WPCF7_Pipes {
|
20 |
|
21 |
-
|
22 |
-
|
23 |
-
function WPCF7_Pipes( $texts ) {
|
24 |
-
if ( ! is_array( $texts ) )
|
25 |
-
return;
|
26 |
|
|
|
27 |
foreach ( $texts as $text ) {
|
28 |
$this->add_pipe( $text );
|
29 |
}
|
30 |
}
|
31 |
|
32 |
-
function add_pipe( $text ) {
|
33 |
$pipe = new WPCF7_Pipe( $text );
|
34 |
$this->pipes[] = $pipe;
|
35 |
}
|
36 |
|
37 |
-
function do_pipe( $before ) {
|
38 |
foreach ( $this->pipes as $pipe ) {
|
39 |
-
if ( $pipe->before == $before )
|
40 |
return $pipe->after;
|
|
|
41 |
}
|
|
|
42 |
return $before;
|
43 |
}
|
44 |
|
45 |
-
function collect_befores() {
|
46 |
$befores = array();
|
47 |
|
48 |
foreach ( $this->pipes as $pipe ) {
|
@@ -52,11 +54,21 @@ class WPCF7_Pipes {
|
|
52 |
return $befores;
|
53 |
}
|
54 |
|
55 |
-
function
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
56 |
return empty( $this->pipes );
|
57 |
}
|
58 |
|
59 |
-
function random_pipe() {
|
60 |
if ( $this->zero() )
|
61 |
return null;
|
62 |
|
2 |
|
3 |
class WPCF7_Pipe {
|
4 |
|
5 |
+
public $before = '';
|
6 |
+
public $after = '';
|
7 |
+
|
8 |
+
public function __construct( $text ) {
|
9 |
+
$text = (string) $text;
|
10 |
|
|
|
11 |
$pipe_pos = strpos( $text, '|' );
|
12 |
+
|
13 |
if ( false === $pipe_pos ) {
|
14 |
$this->before = $this->after = trim( $text );
|
15 |
} else {
|
21 |
|
22 |
class WPCF7_Pipes {
|
23 |
|
24 |
+
private $pipes = array();
|
|
|
|
|
|
|
|
|
25 |
|
26 |
+
public function __construct( array $texts ) {
|
27 |
foreach ( $texts as $text ) {
|
28 |
$this->add_pipe( $text );
|
29 |
}
|
30 |
}
|
31 |
|
32 |
+
private function add_pipe( $text ) {
|
33 |
$pipe = new WPCF7_Pipe( $text );
|
34 |
$this->pipes[] = $pipe;
|
35 |
}
|
36 |
|
37 |
+
public function do_pipe( $before ) {
|
38 |
foreach ( $this->pipes as $pipe ) {
|
39 |
+
if ( $pipe->before == $before ) {
|
40 |
return $pipe->after;
|
41 |
+
}
|
42 |
}
|
43 |
+
|
44 |
return $before;
|
45 |
}
|
46 |
|
47 |
+
public function collect_befores() {
|
48 |
$befores = array();
|
49 |
|
50 |
foreach ( $this->pipes as $pipe ) {
|
54 |
return $befores;
|
55 |
}
|
56 |
|
57 |
+
public function collect_afters() {
|
58 |
+
$afters = array();
|
59 |
+
|
60 |
+
foreach ( $this->pipes as $pipe ) {
|
61 |
+
$afters[] = $pipe->after;
|
62 |
+
}
|
63 |
+
|
64 |
+
return $afters;
|
65 |
+
}
|
66 |
+
|
67 |
+
public function zero() {
|
68 |
return empty( $this->pipes );
|
69 |
}
|
70 |
|
71 |
+
public function random_pipe() {
|
72 |
if ( $this->zero() )
|
73 |
return null;
|
74 |
|
includes/shortcodes.php
CHANGED
@@ -2,15 +2,31 @@
|
|
2 |
|
3 |
class WPCF7_ShortcodeManager {
|
4 |
|
5 |
-
|
|
|
|
|
6 |
|
7 |
// Taggs scanned at the last time of do_shortcode()
|
8 |
-
|
9 |
|
10 |
// Executing shortcodes (true) or just scanning (false)
|
11 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
12 |
|
13 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
14 |
if ( ! is_callable( $func ) )
|
15 |
return;
|
16 |
|
@@ -23,11 +39,11 @@ class WPCF7_ShortcodeManager {
|
|
23 |
}
|
24 |
}
|
25 |
|
26 |
-
function remove_shortcode( $tag ) {
|
27 |
unset( $this->shortcode_tags[$tag] );
|
28 |
}
|
29 |
|
30 |
-
function normalize_shortcode( $content ) {
|
31 |
if ( empty( $this->shortcode_tags ) || ! is_array( $this->shortcode_tags ) )
|
32 |
return $content;
|
33 |
|
@@ -36,7 +52,7 @@ class WPCF7_ShortcodeManager {
|
|
36 |
array( &$this, 'normalize_space_cb' ), $content );
|
37 |
}
|
38 |
|
39 |
-
function normalize_space_cb( $m ) {
|
40 |
// allow [[foo]] syntax for escaping a tag
|
41 |
if ( $m[1] == '[' && $m[6] == ']' )
|
42 |
return $m[0];
|
@@ -57,7 +73,7 @@ class WPCF7_ShortcodeManager {
|
|
57 |
return $result;
|
58 |
}
|
59 |
|
60 |
-
function do_shortcode( $content, $exec = true ) {
|
61 |
$this->exec = (bool) $exec;
|
62 |
$this->scanned_tags = array();
|
63 |
|
@@ -69,12 +85,12 @@ class WPCF7_ShortcodeManager {
|
|
69 |
array( &$this, 'do_shortcode_tag' ), $content );
|
70 |
}
|
71 |
|
72 |
-
function scan_shortcode( $content ) {
|
73 |
$this->do_shortcode( $content, false );
|
74 |
return $this->scanned_tags;
|
75 |
}
|
76 |
|
77 |
-
function get_shortcode_regex() {
|
78 |
$tagnames = array_keys( $this->shortcode_tags );
|
79 |
$tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) );
|
80 |
|
@@ -84,7 +100,7 @@ class WPCF7_ShortcodeManager {
|
|
84 |
. '(\]?)';
|
85 |
}
|
86 |
|
87 |
-
function do_shortcode_tag( $m ) {
|
88 |
// allow [[foo]] syntax for escaping a tag
|
89 |
if ( $m[1] == '[' && $m[6] == ']' ) {
|
90 |
return substr( $m[0], 1, -1 );
|
@@ -152,7 +168,7 @@ class WPCF7_ShortcodeManager {
|
|
152 |
}
|
153 |
}
|
154 |
|
155 |
-
function shortcode_parse_atts( $text ) {
|
156 |
$atts = array( 'options' => array(), 'values' => array() );
|
157 |
$text = preg_replace( "/[\x{00a0}\x{200b}]+/u", " ", $text );
|
158 |
$text = stripcslashes( trim( $text ) );
|
@@ -177,31 +193,21 @@ class WPCF7_ShortcodeManager {
|
|
177 |
}
|
178 |
|
179 |
function wpcf7_add_shortcode( $tag, $func, $has_name = false ) {
|
180 |
-
|
181 |
|
182 |
-
|
183 |
-
return $wpcf7_shortcode_manager->add_shortcode( $tag, $func, $has_name );
|
184 |
}
|
185 |
|
186 |
function wpcf7_remove_shortcode( $tag ) {
|
187 |
-
|
188 |
|
189 |
-
|
190 |
-
return $wpcf7_shortcode_manager->remove_shortcode( $tag );
|
191 |
}
|
192 |
|
193 |
function wpcf7_do_shortcode( $content ) {
|
194 |
-
|
195 |
-
|
196 |
-
if ( is_a( $wpcf7_shortcode_manager, 'WPCF7_ShortcodeManager' ) )
|
197 |
-
return $wpcf7_shortcode_manager->do_shortcode( $content );
|
198 |
-
}
|
199 |
-
|
200 |
-
function wpcf7_get_shortcode_regex() {
|
201 |
-
global $wpcf7_shortcode_manager;
|
202 |
|
203 |
-
|
204 |
-
return $wpcf7_shortcode_manager->get_shortcode_regex();
|
205 |
}
|
206 |
|
207 |
class WPCF7_Shortcode {
|
@@ -331,6 +337,32 @@ class WPCF7_Shortcode {
|
|
331 |
return $default;
|
332 |
}
|
333 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
334 |
public function get_first_match_option( $pattern ) {
|
335 |
foreach( (array) $this->options as $option ) {
|
336 |
if ( preg_match( $pattern, $option, $matches ) )
|
2 |
|
3 |
class WPCF7_ShortcodeManager {
|
4 |
|
5 |
+
private static $instance;
|
6 |
+
|
7 |
+
private $shortcode_tags = array();
|
8 |
|
9 |
// Taggs scanned at the last time of do_shortcode()
|
10 |
+
private $scanned_tags = null;
|
11 |
|
12 |
// Executing shortcodes (true) or just scanning (false)
|
13 |
+
private $exec = true;
|
14 |
+
|
15 |
+
private function __construct() {}
|
16 |
+
|
17 |
+
public static function get_instance() {
|
18 |
+
if ( empty( self::$instance ) ) {
|
19 |
+
self::$instance = new self;
|
20 |
+
}
|
21 |
|
22 |
+
return self::$instance;
|
23 |
+
}
|
24 |
+
|
25 |
+
public function get_scanned_tags() {
|
26 |
+
return $this->scanned_tags;
|
27 |
+
}
|
28 |
+
|
29 |
+
public function add_shortcode( $tag, $func, $has_name = false ) {
|
30 |
if ( ! is_callable( $func ) )
|
31 |
return;
|
32 |
|
39 |
}
|
40 |
}
|
41 |
|
42 |
+
public function remove_shortcode( $tag ) {
|
43 |
unset( $this->shortcode_tags[$tag] );
|
44 |
}
|
45 |
|
46 |
+
public function normalize_shortcode( $content ) {
|
47 |
if ( empty( $this->shortcode_tags ) || ! is_array( $this->shortcode_tags ) )
|
48 |
return $content;
|
49 |
|
52 |
array( &$this, 'normalize_space_cb' ), $content );
|
53 |
}
|
54 |
|
55 |
+
private function normalize_space_cb( $m ) {
|
56 |
// allow [[foo]] syntax for escaping a tag
|
57 |
if ( $m[1] == '[' && $m[6] == ']' )
|
58 |
return $m[0];
|
73 |
return $result;
|
74 |
}
|
75 |
|
76 |
+
public function do_shortcode( $content, $exec = true ) {
|
77 |
$this->exec = (bool) $exec;
|
78 |
$this->scanned_tags = array();
|
79 |
|
85 |
array( &$this, 'do_shortcode_tag' ), $content );
|
86 |
}
|
87 |
|
88 |
+
public function scan_shortcode( $content ) {
|
89 |
$this->do_shortcode( $content, false );
|
90 |
return $this->scanned_tags;
|
91 |
}
|
92 |
|
93 |
+
private function get_shortcode_regex() {
|
94 |
$tagnames = array_keys( $this->shortcode_tags );
|
95 |
$tagregexp = join( '|', array_map( 'preg_quote', $tagnames ) );
|
96 |
|
100 |
. '(\]?)';
|
101 |
}
|
102 |
|
103 |
+
private function do_shortcode_tag( $m ) {
|
104 |
// allow [[foo]] syntax for escaping a tag
|
105 |
if ( $m[1] == '[' && $m[6] == ']' ) {
|
106 |
return substr( $m[0], 1, -1 );
|
168 |
}
|
169 |
}
|
170 |
|
171 |
+
private function shortcode_parse_atts( $text ) {
|
172 |
$atts = array( 'options' => array(), 'values' => array() );
|
173 |
$text = preg_replace( "/[\x{00a0}\x{200b}]+/u", " ", $text );
|
174 |
$text = stripcslashes( trim( $text ) );
|
193 |
}
|
194 |
|
195 |
function wpcf7_add_shortcode( $tag, $func, $has_name = false ) {
|
196 |
+
$manager = WPCF7_ShortcodeManager::get_instance();
|
197 |
|
198 |
+
return $manager->add_shortcode( $tag, $func, $has_name );
|
|
|
199 |
}
|
200 |
|
201 |
function wpcf7_remove_shortcode( $tag ) {
|
202 |
+
$manager = WPCF7_ShortcodeManager::get_instance();
|
203 |
|
204 |
+
return $manager->remove_shortcode( $tag );
|
|
|
205 |
}
|
206 |
|
207 |
function wpcf7_do_shortcode( $content ) {
|
208 |
+
$manager = WPCF7_ShortcodeManager::get_instance();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
209 |
|
210 |
+
return $manager->do_shortcode( $content );
|
|
|
211 |
}
|
212 |
|
213 |
class WPCF7_Shortcode {
|
337 |
return $default;
|
338 |
}
|
339 |
|
340 |
+
public function get_default_option() {
|
341 |
+
$options = (array) $this->get_option( 'default' );
|
342 |
+
|
343 |
+
if ( empty( $options ) ) {
|
344 |
+
return false;
|
345 |
+
}
|
346 |
+
|
347 |
+
foreach ( $options as $opt ) {
|
348 |
+
$opt = sanitize_key( $opt );
|
349 |
+
|
350 |
+
if ( 'user_' == substr( $opt, 0, 5 ) && is_user_logged_in() ) {
|
351 |
+
$primary_props = array( 'user_login', 'user_email', 'user_url' );
|
352 |
+
$opt = in_array( $opt, $primary_props ) ? $opt : substr( $opt, 5 );
|
353 |
+
|
354 |
+
$user = wp_get_current_user();
|
355 |
+
$user_prop = $user->get( $opt );
|
356 |
+
|
357 |
+
if ( ! empty( $user_prop ) ) {
|
358 |
+
return $user_prop;
|
359 |
+
}
|
360 |
+
}
|
361 |
+
}
|
362 |
+
|
363 |
+
return false;
|
364 |
+
}
|
365 |
+
|
366 |
public function get_first_match_option( $pattern ) {
|
367 |
foreach( (array) $this->options as $option ) {
|
368 |
if ( preg_match( $pattern, $option, $matches ) )
|
languages/contact-form-7-cs_CZ.mo
CHANGED
Binary file
|
languages/contact-form-7-de_DE.mo
CHANGED
Binary file
|
languages/contact-form-7-eu.mo
CHANGED
Binary file
|
languages/contact-form-7-fr_FR.mo
CHANGED
Binary file
|
languages/contact-form-7-ht.mo
ADDED
Binary file
|
languages/contact-form-7-hu_HU.mo
CHANGED
Binary file
|
languages/contact-form-7-ja.mo
CHANGED
Binary file
|
languages/contact-form-7-lt_LT.mo
CHANGED
Binary file
|
languages/contact-form-7-pt_BR.mo
CHANGED
Binary file
|
languages/contact-form-7-tr_TR.mo
CHANGED
Binary file
|
languages/contact-form-7.pot
CHANGED
@@ -2,8 +2,8 @@ msgid ""
|
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
-
"POT-Creation-Date:
|
6 |
-
"PO-Revision-Date:
|
7 |
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
@@ -20,12 +20,12 @@ msgstr ""
|
|
20 |
msgid "Just another contact form plugin. Simple but flexible."
|
21 |
msgstr ""
|
22 |
|
23 |
-
#: contact-form-7/settings.php:
|
24 |
#, php-format
|
25 |
msgid "Contact form %d"
|
26 |
msgstr ""
|
27 |
|
28 |
-
#: contact-form-7/admin/admin.php:15 contact-form-7/modules/flamingo.php:
|
29 |
msgid "Contact Form 7"
|
30 |
msgstr ""
|
31 |
|
@@ -38,18 +38,18 @@ msgstr ""
|
|
38 |
msgid "Edit Contact Form"
|
39 |
msgstr ""
|
40 |
|
41 |
-
#: contact-form-7/admin/admin.php:22 contact-form-7/admin/admin.php:
|
42 |
-
#: contact-form-7/admin/admin.php:
|
43 |
msgid "Contact Forms"
|
44 |
msgstr ""
|
45 |
|
46 |
-
#: contact-form-7/admin/admin.php:29 contact-form-7/admin/admin.php:
|
47 |
#: contact-form-7/admin/edit-contact-form.php:13
|
48 |
msgid "Add New Contact Form"
|
49 |
msgstr ""
|
50 |
|
51 |
-
#: contact-form-7/admin/admin.php:30 contact-form-7/admin/admin.php:
|
52 |
-
#: contact-form-7/admin/admin.php:
|
53 |
#: contact-form-7/admin/edit-contact-form.php:17
|
54 |
msgid "Add New"
|
55 |
msgstr ""
|
@@ -58,11 +58,11 @@ msgstr ""
|
|
58 |
msgid "You are not allowed to edit this item."
|
59 |
msgstr ""
|
60 |
|
61 |
-
#: contact-form-7/admin/admin.php:
|
62 |
msgid "You are not allowed to delete this item."
|
63 |
msgstr ""
|
64 |
|
65 |
-
#: contact-form-7/admin/admin.php:
|
66 |
msgid "Error in deleting."
|
67 |
msgstr ""
|
68 |
|
@@ -70,192 +70,192 @@ msgstr ""
|
|
70 |
msgid "Generate Tag"
|
71 |
msgstr ""
|
72 |
|
73 |
-
#: contact-form-7/admin/admin.php:
|
74 |
#, php-format
|
75 |
msgid "Search results for “%s”"
|
76 |
msgstr ""
|
77 |
|
78 |
-
#: contact-form-7/admin/admin.php:
|
79 |
msgid "Search Contact Forms"
|
80 |
msgstr ""
|
81 |
|
82 |
-
#: contact-form-7/admin/admin.php:
|
83 |
#, php-format
|
84 |
msgid "Use the default language (%s)"
|
85 |
msgstr ""
|
86 |
|
87 |
-
#: contact-form-7/admin/admin.php:
|
88 |
msgid "Or"
|
89 |
msgstr ""
|
90 |
|
91 |
-
#: contact-form-7/admin/admin.php:
|
92 |
msgid "(select language)"
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: contact-form-7/admin/admin.php:
|
96 |
msgid "Form"
|
97 |
msgstr ""
|
98 |
|
99 |
-
#: contact-form-7/admin/admin.php:
|
100 |
msgid "Mail"
|
101 |
msgstr ""
|
102 |
|
103 |
-
#: contact-form-7/admin/admin.php:
|
104 |
msgid "Mail (2)"
|
105 |
msgstr ""
|
106 |
|
107 |
-
#: contact-form-7/admin/admin.php:
|
108 |
msgid "Use mail (2)"
|
109 |
msgstr ""
|
110 |
|
111 |
-
#: contact-form-7/admin/admin.php:
|
112 |
msgid "Messages"
|
113 |
msgstr ""
|
114 |
|
115 |
-
#: contact-form-7/admin/admin.php:
|
116 |
msgid "Additional Settings"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: contact-form-7/admin/admin.php:
|
120 |
msgid "Contact form created."
|
121 |
msgstr ""
|
122 |
|
123 |
-
#: contact-form-7/admin/admin.php:
|
124 |
msgid "Contact form saved."
|
125 |
msgstr ""
|
126 |
|
127 |
-
#: contact-form-7/admin/admin.php:
|
128 |
msgid "Contact form deleted."
|
129 |
msgstr ""
|
130 |
|
131 |
-
#: contact-form-7/admin/admin.php:
|
132 |
msgid "Settings"
|
133 |
msgstr ""
|
134 |
|
135 |
-
#: contact-form-7/admin/admin.php:
|
136 |
msgid "http://contactform7.com/docs/"
|
137 |
msgstr ""
|
138 |
|
139 |
-
#: contact-form-7/admin/admin.php:
|
140 |
msgid "Docs"
|
141 |
msgstr ""
|
142 |
|
143 |
-
#: contact-form-7/admin/admin.php:
|
144 |
msgid "http://contactform7.com/faq/"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: contact-form-7/admin/admin.php:
|
148 |
msgid "FAQ"
|
149 |
msgstr ""
|
150 |
|
151 |
-
#: contact-form-7/admin/admin.php:
|
152 |
msgid "http://contactform7.com/support/"
|
153 |
msgstr ""
|
154 |
|
155 |
-
#: contact-form-7/admin/admin.php:
|
156 |
msgid "Support"
|
157 |
msgstr ""
|
158 |
|
159 |
-
#: contact-form-7/admin/admin.php:
|
160 |
msgid "http://contactform7.com/donate/"
|
161 |
msgstr ""
|
162 |
|
163 |
-
#: contact-form-7/admin/admin.php:
|
164 |
msgid "Donate"
|
165 |
msgstr ""
|
166 |
|
167 |
-
#: contact-form-7/admin/admin.php:
|
168 |
#, php-format
|
169 |
msgid ""
|
170 |
"<strong>Contact Form 7 %1$s requires WordPress %2$s or higher.</strong> "
|
171 |
"Please <a href=\"%3$s\">update WordPress</a> first."
|
172 |
msgstr ""
|
173 |
|
174 |
-
#: contact-form-7/admin/admin.php:
|
175 |
msgid "Dismiss"
|
176 |
msgstr ""
|
177 |
|
178 |
-
#: contact-form-7/admin/admin.php:
|
179 |
msgid "Contact Form 7 Needs Your Support"
|
180 |
msgstr ""
|
181 |
|
182 |
-
#: contact-form-7/admin/admin.php:
|
183 |
msgid ""
|
184 |
"It is hard to continue development and support for this plugin without "
|
185 |
"contributions from users like you. If you enjoy using Contact Form 7 and "
|
186 |
"find it useful, please consider making a donation."
|
187 |
msgstr ""
|
188 |
|
189 |
-
#: contact-form-7/admin/admin.php:
|
190 |
msgid "Get Started"
|
191 |
msgstr ""
|
192 |
|
193 |
-
#: contact-form-7/admin/admin.php:
|
194 |
msgid "http://contactform7.com/getting-started-with-contact-form-7/"
|
195 |
msgstr ""
|
196 |
|
197 |
-
#: contact-form-7/admin/admin.php:
|
198 |
msgid "Getting Started with Contact Form 7"
|
199 |
msgstr ""
|
200 |
|
201 |
-
#: contact-form-7/admin/admin.php:
|
202 |
msgid "http://contactform7.com/admin-screen/"
|
203 |
msgstr ""
|
204 |
|
205 |
-
#: contact-form-7/admin/admin.php:
|
206 |
msgid "Admin Screen"
|
207 |
msgstr ""
|
208 |
|
209 |
-
#: contact-form-7/admin/admin.php:
|
210 |
msgid "http://contactform7.com/tag-syntax/"
|
211 |
msgstr ""
|
212 |
|
213 |
-
#: contact-form-7/admin/admin.php:
|
214 |
msgid "How Tags Work"
|
215 |
msgstr ""
|
216 |
|
217 |
-
#: contact-form-7/admin/admin.php:
|
218 |
msgid "http://contactform7.com/setting-up-mail/"
|
219 |
msgstr ""
|
220 |
|
221 |
-
#: contact-form-7/admin/admin.php:
|
222 |
msgid "Setting Up Mail"
|
223 |
msgstr ""
|
224 |
|
225 |
-
#: contact-form-7/admin/admin.php:
|
226 |
msgid "Did You Know?"
|
227 |
msgstr ""
|
228 |
|
229 |
-
#: contact-form-7/admin/admin.php:
|
230 |
msgid "http://contactform7.com/spam-filtering-with-akismet/"
|
231 |
msgstr ""
|
232 |
|
233 |
-
#: contact-form-7/admin/admin.php:
|
234 |
msgid "Spam Filtering with Akismet"
|
235 |
msgstr ""
|
236 |
|
237 |
-
#: contact-form-7/admin/admin.php:
|
238 |
msgid "http://contactform7.com/save-submitted-messages-with-flamingo/"
|
239 |
msgstr ""
|
240 |
|
241 |
-
#: contact-form-7/admin/admin.php:
|
242 |
msgid "Save Messages with Flamingo"
|
243 |
msgstr ""
|
244 |
|
245 |
-
#: contact-form-7/admin/admin.php:
|
246 |
msgid "http://contactform7.com/selectable-recipient-with-pipes/"
|
247 |
msgstr ""
|
248 |
|
249 |
-
#: contact-form-7/admin/admin.php:
|
250 |
msgid "Selectable Recipient with Pipes"
|
251 |
msgstr ""
|
252 |
|
253 |
-
#: contact-form-7/admin/admin.php:
|
254 |
msgid ""
|
255 |
"http://contactform7.com/tracking-form-submissions-with-google-analytics/"
|
256 |
msgstr ""
|
257 |
|
258 |
-
#: contact-form-7/admin/admin.php:
|
259 |
msgid "Tracking with Google Analytics"
|
260 |
msgstr ""
|
261 |
|
@@ -300,7 +300,7 @@ msgid "Author"
|
|
300 |
msgstr ""
|
301 |
|
302 |
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:14
|
303 |
-
#: contact-form-7/modules/date.php:
|
304 |
msgid "Date"
|
305 |
msgstr ""
|
306 |
|
@@ -317,16 +317,16 @@ msgstr ""
|
|
317 |
msgid "Edit “%s”"
|
318 |
msgstr ""
|
319 |
|
320 |
-
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:
|
321 |
msgid "Y/m/d g:i:s A"
|
322 |
msgstr ""
|
323 |
|
324 |
-
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:
|
325 |
#, php-format
|
326 |
msgid "%s ago"
|
327 |
msgstr ""
|
328 |
|
329 |
-
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:
|
330 |
msgid "Y/m/d"
|
331 |
msgstr ""
|
332 |
|
@@ -358,15 +358,15 @@ msgstr ""
|
|
358 |
msgid "Message body:"
|
359 |
msgstr ""
|
360 |
|
361 |
-
#: contact-form-7/includes/classes.php:
|
362 |
msgid "Contact Form"
|
363 |
msgstr ""
|
364 |
|
365 |
-
#: contact-form-7/includes/classes.php:
|
366 |
msgid "Untitled"
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: contact-form-7/includes/controller.php:
|
370 |
msgid "Sending ..."
|
371 |
msgstr ""
|
372 |
|
@@ -479,323 +479,327 @@ msgstr ""
|
|
479 |
msgid "This e-mail was sent from a contact form on %1$s (%2$s)"
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: contact-form-7/includes/functions.php:
|
483 |
msgid "Afrikaans"
|
484 |
msgstr ""
|
485 |
|
486 |
-
#: contact-form-7/includes/functions.php:
|
487 |
msgid "Albanian"
|
488 |
msgstr ""
|
489 |
|
490 |
-
#: contact-form-7/includes/functions.php:
|
491 |
msgid "Arabic"
|
492 |
msgstr ""
|
493 |
|
494 |
-
#: contact-form-7/includes/functions.php:
|
495 |
msgid "Armenian"
|
496 |
msgstr ""
|
497 |
|
498 |
-
#: contact-form-7/includes/functions.php:
|
499 |
msgid "Azerbaijani"
|
500 |
msgstr ""
|
501 |
|
502 |
-
#: contact-form-7/includes/functions.php:
|
503 |
msgid "Bangla"
|
504 |
msgstr ""
|
505 |
|
506 |
-
#: contact-form-7/includes/functions.php:
|
507 |
msgid "Basque"
|
508 |
msgstr ""
|
509 |
|
510 |
-
#: contact-form-7/includes/functions.php:
|
511 |
msgid "Belarusian"
|
512 |
msgstr ""
|
513 |
|
514 |
-
#: contact-form-7/includes/functions.php:
|
515 |
msgid "Bosnian"
|
516 |
msgstr ""
|
517 |
|
518 |
-
#: contact-form-7/includes/functions.php:
|
519 |
msgid "Brazilian Portuguese"
|
520 |
msgstr ""
|
521 |
|
522 |
-
#: contact-form-7/includes/functions.php:
|
523 |
msgid "Bulgarian"
|
524 |
msgstr ""
|
525 |
|
526 |
-
#: contact-form-7/includes/functions.php:
|
527 |
msgid "Catalan"
|
528 |
msgstr ""
|
529 |
|
530 |
-
#: contact-form-7/includes/functions.php:
|
531 |
msgid "Central Kurdish"
|
532 |
msgstr ""
|
533 |
|
534 |
-
#: contact-form-7/includes/functions.php:
|
535 |
msgid "Chinese (Simplified)"
|
536 |
msgstr ""
|
537 |
|
538 |
-
#: contact-form-7/includes/functions.php:
|
539 |
msgid "Chinese (Traditional)"
|
540 |
msgstr ""
|
541 |
|
542 |
-
#: contact-form-7/includes/functions.php:
|
543 |
msgid "Croatian"
|
544 |
msgstr ""
|
545 |
|
546 |
-
#: contact-form-7/includes/functions.php:
|
547 |
msgid "Czech"
|
548 |
msgstr ""
|
549 |
|
550 |
-
#: contact-form-7/includes/functions.php:
|
551 |
msgid "Danish"
|
552 |
msgstr ""
|
553 |
|
554 |
-
#: contact-form-7/includes/functions.php:
|
555 |
msgid "Dutch"
|
556 |
msgstr ""
|
557 |
|
558 |
-
#: contact-form-7/includes/functions.php:
|
559 |
msgid "English"
|
560 |
msgstr ""
|
561 |
|
562 |
-
#: contact-form-7/includes/functions.php:
|
563 |
msgid "Esperanto"
|
564 |
msgstr ""
|
565 |
|
566 |
-
#: contact-form-7/includes/functions.php:
|
567 |
msgid "Estonian"
|
568 |
msgstr ""
|
569 |
|
570 |
-
#: contact-form-7/includes/functions.php:
|
571 |
msgid "Finnish"
|
572 |
msgstr ""
|
573 |
|
574 |
-
#: contact-form-7/includes/functions.php:
|
575 |
msgid "French"
|
576 |
msgstr ""
|
577 |
|
578 |
-
#: contact-form-7/includes/functions.php:
|
579 |
msgid "Galician"
|
580 |
msgstr ""
|
581 |
|
582 |
-
#: contact-form-7/includes/functions.php:
|
583 |
msgid "Gujarati"
|
584 |
msgstr ""
|
585 |
|
586 |
-
#: contact-form-7/includes/functions.php:
|
587 |
msgid "Georgian"
|
588 |
msgstr ""
|
589 |
|
590 |
-
#: contact-form-7/includes/functions.php:
|
591 |
msgid "German"
|
592 |
msgstr ""
|
593 |
|
594 |
-
#: contact-form-7/includes/functions.php:
|
595 |
msgid "Greek"
|
596 |
msgstr ""
|
597 |
|
598 |
-
#: contact-form-7/includes/functions.php:
|
|
|
|
|
|
|
|
|
599 |
msgid "Hebrew"
|
600 |
msgstr ""
|
601 |
|
602 |
-
#: contact-form-7/includes/functions.php:
|
603 |
msgid "Hindi"
|
604 |
msgstr ""
|
605 |
|
606 |
-
#: contact-form-7/includes/functions.php:
|
607 |
msgid "Hungarian"
|
608 |
msgstr ""
|
609 |
|
610 |
-
#: contact-form-7/includes/functions.php:
|
611 |
msgid "Indian Bengali"
|
612 |
msgstr ""
|
613 |
|
614 |
-
#: contact-form-7/includes/functions.php:
|
615 |
msgid "Indonesian"
|
616 |
msgstr ""
|
617 |
|
618 |
-
#: contact-form-7/includes/functions.php:
|
619 |
msgid "Irish"
|
620 |
msgstr ""
|
621 |
|
622 |
-
#: contact-form-7/includes/functions.php:
|
623 |
msgid "Italian"
|
624 |
msgstr ""
|
625 |
|
626 |
-
#: contact-form-7/includes/functions.php:
|
627 |
msgid "Japanese"
|
628 |
msgstr ""
|
629 |
|
630 |
-
#: contact-form-7/includes/functions.php:
|
631 |
msgid "Korean"
|
632 |
msgstr ""
|
633 |
|
634 |
-
#: contact-form-7/includes/functions.php:
|
635 |
msgid "Latvian"
|
636 |
msgstr ""
|
637 |
|
638 |
-
#: contact-form-7/includes/functions.php:
|
639 |
msgid "Lithuanian"
|
640 |
msgstr ""
|
641 |
|
642 |
-
#: contact-form-7/includes/functions.php:
|
643 |
msgid "Macedonian"
|
644 |
msgstr ""
|
645 |
|
646 |
-
#: contact-form-7/includes/functions.php:
|
647 |
msgid "Malay"
|
648 |
msgstr ""
|
649 |
|
650 |
-
#: contact-form-7/includes/functions.php:
|
651 |
msgid "Malayalam"
|
652 |
msgstr ""
|
653 |
|
654 |
-
#: contact-form-7/includes/functions.php:
|
655 |
msgid "Maltese"
|
656 |
msgstr ""
|
657 |
|
658 |
-
#: contact-form-7/includes/functions.php:
|
659 |
msgid "Norwegian"
|
660 |
msgstr ""
|
661 |
|
662 |
-
#: contact-form-7/includes/functions.php:
|
663 |
msgid "Persian"
|
664 |
msgstr ""
|
665 |
|
666 |
-
#: contact-form-7/includes/functions.php:
|
667 |
msgid "Polish"
|
668 |
msgstr ""
|
669 |
|
670 |
-
#: contact-form-7/includes/functions.php:
|
671 |
msgid "Portuguese"
|
672 |
msgstr ""
|
673 |
|
674 |
-
#: contact-form-7/includes/functions.php:
|
675 |
msgid "Russian"
|
676 |
msgstr ""
|
677 |
|
678 |
-
#: contact-form-7/includes/functions.php:
|
679 |
msgid "Romanian"
|
680 |
msgstr ""
|
681 |
|
682 |
-
#: contact-form-7/includes/functions.php:
|
683 |
msgid "Serbian"
|
684 |
msgstr ""
|
685 |
|
686 |
-
#: contact-form-7/includes/functions.php:
|
687 |
msgid "Sinhala"
|
688 |
msgstr ""
|
689 |
|
690 |
-
#: contact-form-7/includes/functions.php:
|
691 |
msgid "Slovak"
|
692 |
msgstr ""
|
693 |
|
694 |
-
#: contact-form-7/includes/functions.php:
|
695 |
msgid "Slovene"
|
696 |
msgstr ""
|
697 |
|
698 |
-
#: contact-form-7/includes/functions.php:
|
699 |
msgid "Spanish"
|
700 |
msgstr ""
|
701 |
|
702 |
-
#: contact-form-7/includes/functions.php:
|
703 |
msgid "Swedish"
|
704 |
msgstr ""
|
705 |
|
706 |
-
#: contact-form-7/includes/functions.php:
|
707 |
msgid "Tamil"
|
708 |
msgstr ""
|
709 |
|
710 |
-
#: contact-form-7/includes/functions.php:
|
711 |
msgid "Thai"
|
712 |
msgstr ""
|
713 |
|
714 |
-
#: contact-form-7/includes/functions.php:
|
715 |
msgid "Tagalog"
|
716 |
msgstr ""
|
717 |
|
718 |
-
#: contact-form-7/includes/functions.php:
|
719 |
msgid "Turkish"
|
720 |
msgstr ""
|
721 |
|
722 |
-
#: contact-form-7/includes/functions.php:
|
723 |
msgid "Ukrainian"
|
724 |
msgstr ""
|
725 |
|
726 |
-
#: contact-form-7/includes/functions.php:
|
727 |
msgid "Vietnamese"
|
728 |
msgstr ""
|
729 |
|
730 |
-
#: contact-form-7/modules/acceptance.php:
|
731 |
msgid "Acceptance"
|
732 |
msgstr ""
|
733 |
|
734 |
-
#: contact-form-7/modules/acceptance.php:
|
735 |
-
#: contact-form-7/modules/captcha.php:
|
736 |
-
#: contact-form-7/modules/checkbox.php:
|
737 |
-
#: contact-form-7/modules/file.php:
|
738 |
-
#: contact-form-7/modules/quiz.php:
|
739 |
-
#: contact-form-7/modules/text.php:
|
740 |
msgid "Name"
|
741 |
msgstr ""
|
742 |
|
743 |
-
#: contact-form-7/modules/acceptance.php:
|
744 |
-
#: contact-form-7/modules/acceptance.php:
|
745 |
-
#: contact-form-7/modules/captcha.php:
|
746 |
-
#: contact-form-7/modules/captcha.php:
|
747 |
-
#: contact-form-7/modules/captcha.php:
|
748 |
-
#: contact-form-7/modules/captcha.php:
|
749 |
-
#: contact-form-7/modules/captcha.php:
|
750 |
-
#: contact-form-7/modules/captcha.php:
|
751 |
-
#: contact-form-7/modules/captcha.php:
|
752 |
-
#: contact-form-7/modules/captcha.php:
|
753 |
-
#: contact-form-7/modules/captcha.php:
|
754 |
-
#: contact-form-7/modules/checkbox.php:
|
755 |
-
#: contact-form-7/modules/checkbox.php:
|
756 |
-
#: contact-form-7/modules/date.php:
|
757 |
-
#: contact-form-7/modules/date.php:
|
758 |
-
#: contact-form-7/modules/date.php:
|
759 |
-
#: contact-form-7/modules/file.php:
|
760 |
-
#: contact-form-7/modules/file.php:
|
761 |
-
#: contact-form-7/modules/number.php:
|
762 |
-
#: contact-form-7/modules/number.php:
|
763 |
-
#: contact-form-7/modules/number.php:
|
764 |
-
#: contact-form-7/modules/quiz.php:
|
765 |
-
#: contact-form-7/modules/quiz.php:
|
766 |
-
#: contact-form-7/modules/select.php:
|
767 |
#: contact-form-7/modules/submit.php:62 contact-form-7/modules/submit.php:67
|
768 |
-
#: contact-form-7/modules/text.php:
|
769 |
-
#: contact-form-7/modules/text.php:
|
770 |
-
#: contact-form-7/modules/text.php:
|
771 |
-
#: contact-form-7/modules/textarea.php:
|
772 |
-
#: contact-form-7/modules/textarea.php:
|
773 |
-
#: contact-form-7/modules/textarea.php:
|
774 |
-
#: contact-form-7/modules/textarea.php:
|
775 |
-
#: contact-form-7/modules/textarea.php:
|
776 |
-
#: contact-form-7/modules/textarea.php:
|
777 |
msgid "optional"
|
778 |
msgstr ""
|
779 |
|
780 |
-
#: contact-form-7/modules/acceptance.php:
|
781 |
msgid "Make this checkbox checked by default?"
|
782 |
msgstr ""
|
783 |
|
784 |
-
#: contact-form-7/modules/acceptance.php:
|
785 |
msgid "Make this checkbox work inversely?"
|
786 |
msgstr ""
|
787 |
|
788 |
-
#: contact-form-7/modules/acceptance.php:
|
789 |
msgid "* That means visitor who accepts the term unchecks it."
|
790 |
msgstr ""
|
791 |
|
792 |
-
#: contact-form-7/modules/acceptance.php:
|
793 |
-
#: contact-form-7/modules/captcha.php:
|
794 |
-
#: contact-form-7/modules/checkbox.php:
|
795 |
-
#: contact-form-7/modules/file.php:
|
796 |
-
#: contact-form-7/modules/quiz.php:
|
797 |
-
#: contact-form-7/modules/submit.php:74 contact-form-7/modules/text.php:
|
798 |
-
#: contact-form-7/modules/textarea.php:
|
799 |
msgid "Copy this code and paste it into the form left."
|
800 |
msgstr ""
|
801 |
|
@@ -805,63 +809,63 @@ msgid ""
|
|
805 |
"really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
806 |
msgstr ""
|
807 |
|
808 |
-
#: contact-form-7/modules/captcha.php:
|
809 |
msgid "The code that sender entered does not match the CAPTCHA"
|
810 |
msgstr ""
|
811 |
|
812 |
-
#: contact-form-7/modules/captcha.php:
|
813 |
msgid "Your entered code is incorrect."
|
814 |
msgstr ""
|
815 |
|
816 |
-
#: contact-form-7/modules/captcha.php:
|
817 |
msgid "CAPTCHA"
|
818 |
msgstr ""
|
819 |
|
820 |
-
#: contact-form-7/modules/captcha.php:
|
821 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
822 |
msgstr ""
|
823 |
|
824 |
-
#: contact-form-7/modules/captcha.php:
|
825 |
msgid "Image settings"
|
826 |
msgstr ""
|
827 |
|
828 |
-
#: contact-form-7/modules/captcha.php:
|
829 |
msgid "Foreground color"
|
830 |
msgstr ""
|
831 |
|
832 |
-
#: contact-form-7/modules/captcha.php:
|
833 |
msgid "Background color"
|
834 |
msgstr ""
|
835 |
|
836 |
-
#: contact-form-7/modules/captcha.php:
|
837 |
msgid "Image size"
|
838 |
msgstr ""
|
839 |
|
840 |
-
#: contact-form-7/modules/captcha.php:
|
841 |
msgid "Small"
|
842 |
msgstr ""
|
843 |
|
844 |
-
#: contact-form-7/modules/captcha.php:
|
845 |
msgid "Medium"
|
846 |
msgstr ""
|
847 |
|
848 |
-
#: contact-form-7/modules/captcha.php:
|
849 |
msgid "Large"
|
850 |
msgstr ""
|
851 |
|
852 |
-
#: contact-form-7/modules/captcha.php:
|
853 |
msgid "Input field settings"
|
854 |
msgstr ""
|
855 |
|
856 |
-
#: contact-form-7/modules/captcha.php:
|
857 |
msgid "For image"
|
858 |
msgstr ""
|
859 |
|
860 |
-
#: contact-form-7/modules/captcha.php:
|
861 |
msgid "For input field"
|
862 |
msgstr ""
|
863 |
|
864 |
-
#: contact-form-7/modules/captcha.php:
|
865 |
#, php-format
|
866 |
msgid ""
|
867 |
"This contact form contains CAPTCHA fields, but the temporary folder for the "
|
@@ -869,142 +873,142 @@ msgid ""
|
|
869 |
"change its permission manually."
|
870 |
msgstr ""
|
871 |
|
872 |
-
#: contact-form-7/modules/captcha.php:
|
873 |
msgid ""
|
874 |
"This contact form contains CAPTCHA fields, but the necessary libraries (GD "
|
875 |
"and FreeType) are not available on your server."
|
876 |
msgstr ""
|
877 |
|
878 |
-
#: contact-form-7/modules/checkbox.php:
|
879 |
msgid "Checkboxes"
|
880 |
msgstr ""
|
881 |
|
882 |
-
#: contact-form-7/modules/checkbox.php:
|
883 |
msgid "Radio buttons"
|
884 |
msgstr ""
|
885 |
|
886 |
-
#: contact-form-7/modules/checkbox.php:
|
887 |
-
#: contact-form-7/modules/file.php:
|
888 |
-
#: contact-form-7/modules/select.php:
|
889 |
-
#: contact-form-7/modules/textarea.php:
|
890 |
msgid "Required field?"
|
891 |
msgstr ""
|
892 |
|
893 |
-
#: contact-form-7/modules/checkbox.php:
|
894 |
-
#: contact-form-7/modules/select.php:
|
895 |
msgid "Choices"
|
896 |
msgstr ""
|
897 |
|
898 |
-
#: contact-form-7/modules/checkbox.php:
|
899 |
-
#: contact-form-7/modules/select.php:
|
900 |
msgid "* One choice per line."
|
901 |
msgstr ""
|
902 |
|
903 |
-
#: contact-form-7/modules/checkbox.php:
|
904 |
msgid "Put a label first, a checkbox last?"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: contact-form-7/modules/checkbox.php:
|
908 |
msgid "Wrap each item with <label> tag?"
|
909 |
msgstr ""
|
910 |
|
911 |
-
#: contact-form-7/modules/checkbox.php:
|
912 |
msgid "Make checkboxes exclusive?"
|
913 |
msgstr ""
|
914 |
|
915 |
-
#: contact-form-7/modules/checkbox.php:
|
916 |
-
#: contact-form-7/modules/number.php:
|
917 |
-
#: contact-form-7/modules/text.php:
|
918 |
msgid "And, put this code into the Mail fields below."
|
919 |
msgstr ""
|
920 |
|
921 |
-
#: contact-form-7/modules/date.php:
|
922 |
msgid "Date format that the sender entered is invalid"
|
923 |
msgstr ""
|
924 |
|
925 |
-
#: contact-form-7/modules/date.php:
|
926 |
msgid "Date format seems invalid."
|
927 |
msgstr ""
|
928 |
|
929 |
-
#: contact-form-7/modules/date.php:
|
930 |
msgid "Date is earlier than minimum limit"
|
931 |
msgstr ""
|
932 |
|
933 |
-
#: contact-form-7/modules/date.php:
|
934 |
msgid "This date is too early."
|
935 |
msgstr ""
|
936 |
|
937 |
-
#: contact-form-7/modules/date.php:
|
938 |
msgid "Date is later than maximum limit"
|
939 |
msgstr ""
|
940 |
|
941 |
-
#: contact-form-7/modules/date.php:
|
942 |
msgid "This date is too late."
|
943 |
msgstr ""
|
944 |
|
945 |
-
#: contact-form-7/modules/date.php:
|
946 |
-
#: contact-form-7/modules/text.php:
|
947 |
msgid "Default value"
|
948 |
msgstr ""
|
949 |
|
950 |
-
#: contact-form-7/modules/date.php:
|
951 |
-
#: contact-form-7/modules/text.php:
|
952 |
msgid "Use this text as placeholder?"
|
953 |
msgstr ""
|
954 |
|
955 |
-
#: contact-form-7/modules/file.php:
|
956 |
msgid "Uploading a file fails for any reason"
|
957 |
msgstr ""
|
958 |
|
959 |
-
#: contact-form-7/modules/file.php:
|
960 |
msgid "Failed to upload file."
|
961 |
msgstr ""
|
962 |
|
963 |
-
#: contact-form-7/modules/file.php:
|
964 |
msgid "Uploaded file is not allowed file type"
|
965 |
msgstr ""
|
966 |
|
967 |
-
#: contact-form-7/modules/file.php:
|
968 |
msgid "This file type is not allowed."
|
969 |
msgstr ""
|
970 |
|
971 |
-
#: contact-form-7/modules/file.php:
|
972 |
msgid "Uploaded file is too large"
|
973 |
msgstr ""
|
974 |
|
975 |
-
#: contact-form-7/modules/file.php:
|
976 |
msgid "This file is too large."
|
977 |
msgstr ""
|
978 |
|
979 |
-
#: contact-form-7/modules/file.php:
|
980 |
msgid "Uploading a file fails for PHP error"
|
981 |
msgstr ""
|
982 |
|
983 |
-
#: contact-form-7/modules/file.php:
|
984 |
msgid "Failed to upload file. Error occurred."
|
985 |
msgstr ""
|
986 |
|
987 |
-
#: contact-form-7/modules/file.php:
|
988 |
msgid "File upload"
|
989 |
msgstr ""
|
990 |
|
991 |
-
#: contact-form-7/modules/file.php:
|
992 |
msgid "File size limit"
|
993 |
msgstr ""
|
994 |
|
995 |
-
#: contact-form-7/modules/file.php:
|
996 |
msgid "bytes"
|
997 |
msgstr ""
|
998 |
|
999 |
-
#: contact-form-7/modules/file.php:
|
1000 |
msgid "Acceptable file types"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
-
#: contact-form-7/modules/file.php:
|
1004 |
msgid "And, put this code into the File Attachments field below."
|
1005 |
msgstr ""
|
1006 |
|
1007 |
-
#: contact-form-7/modules/file.php:
|
1008 |
#, php-format
|
1009 |
msgid ""
|
1010 |
"This contact form contains file uploading fields, but the temporary folder "
|
@@ -1019,67 +1023,67 @@ msgid ""
|
|
1019 |
"strong> <a href=\"%s\" target=\"_blank\">See how to avoid it.</a>"
|
1020 |
msgstr ""
|
1021 |
|
1022 |
-
#: contact-form-7/modules/number.php:
|
1023 |
msgid "Number format that the sender entered is invalid"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
-
#: contact-form-7/modules/number.php:
|
1027 |
msgid "Number format seems invalid."
|
1028 |
msgstr ""
|
1029 |
|
1030 |
-
#: contact-form-7/modules/number.php:
|
1031 |
msgid "Number is smaller than minimum limit"
|
1032 |
msgstr ""
|
1033 |
|
1034 |
-
#: contact-form-7/modules/number.php:
|
1035 |
msgid "This number is too small."
|
1036 |
msgstr ""
|
1037 |
|
1038 |
-
#: contact-form-7/modules/number.php:
|
1039 |
msgid "Number is larger than maximum limit"
|
1040 |
msgstr ""
|
1041 |
|
1042 |
-
#: contact-form-7/modules/number.php:
|
1043 |
msgid "This number is too large."
|
1044 |
msgstr ""
|
1045 |
|
1046 |
-
#: contact-form-7/modules/number.php:
|
1047 |
msgid "Number (spinbox)"
|
1048 |
msgstr ""
|
1049 |
|
1050 |
-
#: contact-form-7/modules/number.php:
|
1051 |
msgid "Number (slider)"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
-
#: contact-form-7/modules/quiz.php:
|
1055 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
-
#: contact-form-7/modules/quiz.php:
|
1059 |
msgid "Your answer is not correct."
|
1060 |
msgstr ""
|
1061 |
|
1062 |
-
#: contact-form-7/modules/quiz.php:
|
1063 |
msgid "Quiz"
|
1064 |
msgstr ""
|
1065 |
|
1066 |
-
#: contact-form-7/modules/quiz.php:
|
1067 |
msgid "Quizzes"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
-
#: contact-form-7/modules/quiz.php:
|
1071 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
-
#: contact-form-7/modules/select.php:
|
1075 |
msgid "Drop-down menu"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
-
#: contact-form-7/modules/select.php:
|
1079 |
msgid "Allow multiple selections?"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
-
#: contact-form-7/modules/select.php:
|
1083 |
msgid "Insert a blank item as the first option?"
|
1084 |
msgstr ""
|
1085 |
|
@@ -1091,62 +1095,62 @@ msgstr ""
|
|
1091 |
msgid "Label"
|
1092 |
msgstr ""
|
1093 |
|
1094 |
-
#: contact-form-7/modules/text.php:
|
1095 |
msgid "Email address that the sender entered is invalid"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
-
#: contact-form-7/modules/text.php:
|
1099 |
msgid "Email address seems invalid."
|
1100 |
msgstr ""
|
1101 |
|
1102 |
-
#: contact-form-7/modules/text.php:
|
1103 |
msgid "URL that the sender entered is invalid"
|
1104 |
msgstr ""
|
1105 |
|
1106 |
-
#: contact-form-7/modules/text.php:
|
1107 |
msgid "URL seems invalid."
|
1108 |
msgstr ""
|
1109 |
|
1110 |
-
#: contact-form-7/modules/text.php:
|
1111 |
msgid "Telephone number that the sender entered is invalid"
|
1112 |
msgstr ""
|
1113 |
|
1114 |
-
#: contact-form-7/modules/text.php:
|
1115 |
msgid "Telephone number seems invalid."
|
1116 |
msgstr ""
|
1117 |
|
1118 |
-
#: contact-form-7/modules/text.php:
|
1119 |
msgid "Text field"
|
1120 |
msgstr ""
|
1121 |
|
1122 |
-
#: contact-form-7/modules/text.php:
|
1123 |
msgid "Email"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
-
#: contact-form-7/modules/text.php:
|
1127 |
msgid "URL"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
-
#: contact-form-7/modules/text.php:
|
1131 |
msgid "Telephone number"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
-
#: contact-form-7/modules/text.php:
|
1135 |
msgid "Akismet"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
-
#: contact-form-7/modules/text.php:
|
1139 |
msgid "This field requires author's name"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
-
#: contact-form-7/modules/text.php:
|
1143 |
msgid "This field requires author's email address"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
-
#: contact-form-7/modules/text.php:
|
1147 |
msgid "This field requires author's URL"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
-
#: contact-form-7/modules/textarea.php:
|
1151 |
msgid "Text area"
|
1152 |
msgstr ""
|
2 |
msgstr ""
|
3 |
"Project-Id-Version: Contact Form 7\n"
|
4 |
"Report-Msgid-Bugs-To: \n"
|
5 |
+
"POT-Creation-Date: 2014-02-04 04:26+0900\n"
|
6 |
+
"PO-Revision-Date: 2014-02-04 04:26+0900\n"
|
7 |
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
|
8 |
"Language-Team: \n"
|
9 |
"MIME-Version: 1.0\n"
|
20 |
msgid "Just another contact form plugin. Simple but flexible."
|
21 |
msgstr ""
|
22 |
|
23 |
+
#: contact-form-7/settings.php:70
|
24 |
#, php-format
|
25 |
msgid "Contact form %d"
|
26 |
msgstr ""
|
27 |
|
28 |
+
#: contact-form-7/admin/admin.php:15 contact-form-7/modules/flamingo.php:123
|
29 |
msgid "Contact Form 7"
|
30 |
msgstr ""
|
31 |
|
38 |
msgid "Edit Contact Form"
|
39 |
msgstr ""
|
40 |
|
41 |
+
#: contact-form-7/admin/admin.php:22 contact-form-7/admin/admin.php:214
|
42 |
+
#: contact-form-7/admin/admin.php:275 contact-form-7/includes/classes.php:67
|
43 |
msgid "Contact Forms"
|
44 |
msgstr ""
|
45 |
|
46 |
+
#: contact-form-7/admin/admin.php:29 contact-form-7/admin/admin.php:318
|
47 |
#: contact-form-7/admin/edit-contact-form.php:13
|
48 |
msgid "Add New Contact Form"
|
49 |
msgstr ""
|
50 |
|
51 |
+
#: contact-form-7/admin/admin.php:30 contact-form-7/admin/admin.php:277
|
52 |
+
#: contact-form-7/admin/admin.php:323 contact-form-7/admin/admin.php:335
|
53 |
#: contact-form-7/admin/edit-contact-form.php:17
|
54 |
msgid "Add New"
|
55 |
msgstr ""
|
58 |
msgid "You are not allowed to edit this item."
|
59 |
msgstr ""
|
60 |
|
61 |
+
#: contact-form-7/admin/admin.php:171
|
62 |
msgid "You are not allowed to delete this item."
|
63 |
msgstr ""
|
64 |
|
65 |
+
#: contact-form-7/admin/admin.php:174
|
66 |
msgid "Error in deleting."
|
67 |
msgstr ""
|
68 |
|
70 |
msgid "Generate Tag"
|
71 |
msgstr ""
|
72 |
|
73 |
+
#: contact-form-7/admin/admin.php:281
|
74 |
#, php-format
|
75 |
msgid "Search results for “%s”"
|
76 |
msgstr ""
|
77 |
|
78 |
+
#: contact-form-7/admin/admin.php:290
|
79 |
msgid "Search Contact Forms"
|
80 |
msgstr ""
|
81 |
|
82 |
+
#: contact-form-7/admin/admin.php:322
|
83 |
#, php-format
|
84 |
msgid "Use the default language (%s)"
|
85 |
msgstr ""
|
86 |
|
87 |
+
#: contact-form-7/admin/admin.php:326
|
88 |
msgid "Or"
|
89 |
msgstr ""
|
90 |
|
91 |
+
#: contact-form-7/admin/admin.php:330
|
92 |
msgid "(select language)"
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: contact-form-7/admin/admin.php:342
|
96 |
msgid "Form"
|
97 |
msgstr ""
|
98 |
|
99 |
+
#: contact-form-7/admin/admin.php:345
|
100 |
msgid "Mail"
|
101 |
msgstr ""
|
102 |
|
103 |
+
#: contact-form-7/admin/admin.php:348
|
104 |
msgid "Mail (2)"
|
105 |
msgstr ""
|
106 |
|
107 |
+
#: contact-form-7/admin/admin.php:353
|
108 |
msgid "Use mail (2)"
|
109 |
msgstr ""
|
110 |
|
111 |
+
#: contact-form-7/admin/admin.php:355
|
112 |
msgid "Messages"
|
113 |
msgstr ""
|
114 |
|
115 |
+
#: contact-form-7/admin/admin.php:358
|
116 |
msgid "Additional Settings"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: contact-form-7/admin/admin.php:373
|
120 |
msgid "Contact form created."
|
121 |
msgstr ""
|
122 |
|
123 |
+
#: contact-form-7/admin/admin.php:375
|
124 |
msgid "Contact form saved."
|
125 |
msgstr ""
|
126 |
|
127 |
+
#: contact-form-7/admin/admin.php:377
|
128 |
msgid "Contact form deleted."
|
129 |
msgstr ""
|
130 |
|
131 |
+
#: contact-form-7/admin/admin.php:394
|
132 |
msgid "Settings"
|
133 |
msgstr ""
|
134 |
|
135 |
+
#: contact-form-7/admin/admin.php:405
|
136 |
msgid "http://contactform7.com/docs/"
|
137 |
msgstr ""
|
138 |
|
139 |
+
#: contact-form-7/admin/admin.php:406
|
140 |
msgid "Docs"
|
141 |
msgstr ""
|
142 |
|
143 |
+
#: contact-form-7/admin/admin.php:407
|
144 |
msgid "http://contactform7.com/faq/"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: contact-form-7/admin/admin.php:408
|
148 |
msgid "FAQ"
|
149 |
msgstr ""
|
150 |
|
151 |
+
#: contact-form-7/admin/admin.php:409
|
152 |
msgid "http://contactform7.com/support/"
|
153 |
msgstr ""
|
154 |
|
155 |
+
#: contact-form-7/admin/admin.php:410
|
156 |
msgid "Support"
|
157 |
msgstr ""
|
158 |
|
159 |
+
#: contact-form-7/admin/admin.php:411 contact-form-7/admin/admin.php:466
|
160 |
msgid "http://contactform7.com/donate/"
|
161 |
msgstr ""
|
162 |
|
163 |
+
#: contact-form-7/admin/admin.php:412 contact-form-7/admin/admin.php:466
|
164 |
msgid "Donate"
|
165 |
msgstr ""
|
166 |
|
167 |
+
#: contact-form-7/admin/admin.php:434
|
168 |
#, php-format
|
169 |
msgid ""
|
170 |
"<strong>Contact Form 7 %1$s requires WordPress %2$s or higher.</strong> "
|
171 |
"Please <a href=\"%3$s\">update WordPress</a> first."
|
172 |
msgstr ""
|
173 |
|
174 |
+
#: contact-form-7/admin/admin.php:459
|
175 |
msgid "Dismiss"
|
176 |
msgstr ""
|
177 |
|
178 |
+
#: contact-form-7/admin/admin.php:464
|
179 |
msgid "Contact Form 7 Needs Your Support"
|
180 |
msgstr ""
|
181 |
|
182 |
+
#: contact-form-7/admin/admin.php:465
|
183 |
msgid ""
|
184 |
"It is hard to continue development and support for this plugin without "
|
185 |
"contributions from users like you. If you enjoy using Contact Form 7 and "
|
186 |
"find it useful, please consider making a donation."
|
187 |
msgstr ""
|
188 |
|
189 |
+
#: contact-form-7/admin/admin.php:470
|
190 |
msgid "Get Started"
|
191 |
msgstr ""
|
192 |
|
193 |
+
#: contact-form-7/admin/admin.php:472
|
194 |
msgid "http://contactform7.com/getting-started-with-contact-form-7/"
|
195 |
msgstr ""
|
196 |
|
197 |
+
#: contact-form-7/admin/admin.php:472
|
198 |
msgid "Getting Started with Contact Form 7"
|
199 |
msgstr ""
|
200 |
|
201 |
+
#: contact-form-7/admin/admin.php:473
|
202 |
msgid "http://contactform7.com/admin-screen/"
|
203 |
msgstr ""
|
204 |
|
205 |
+
#: contact-form-7/admin/admin.php:473
|
206 |
msgid "Admin Screen"
|
207 |
msgstr ""
|
208 |
|
209 |
+
#: contact-form-7/admin/admin.php:474
|
210 |
msgid "http://contactform7.com/tag-syntax/"
|
211 |
msgstr ""
|
212 |
|
213 |
+
#: contact-form-7/admin/admin.php:474
|
214 |
msgid "How Tags Work"
|
215 |
msgstr ""
|
216 |
|
217 |
+
#: contact-form-7/admin/admin.php:475
|
218 |
msgid "http://contactform7.com/setting-up-mail/"
|
219 |
msgstr ""
|
220 |
|
221 |
+
#: contact-form-7/admin/admin.php:475
|
222 |
msgid "Setting Up Mail"
|
223 |
msgstr ""
|
224 |
|
225 |
+
#: contact-form-7/admin/admin.php:480
|
226 |
msgid "Did You Know?"
|
227 |
msgstr ""
|
228 |
|
229 |
+
#: contact-form-7/admin/admin.php:482
|
230 |
msgid "http://contactform7.com/spam-filtering-with-akismet/"
|
231 |
msgstr ""
|
232 |
|
233 |
+
#: contact-form-7/admin/admin.php:482
|
234 |
msgid "Spam Filtering with Akismet"
|
235 |
msgstr ""
|
236 |
|
237 |
+
#: contact-form-7/admin/admin.php:483
|
238 |
msgid "http://contactform7.com/save-submitted-messages-with-flamingo/"
|
239 |
msgstr ""
|
240 |
|
241 |
+
#: contact-form-7/admin/admin.php:483
|
242 |
msgid "Save Messages with Flamingo"
|
243 |
msgstr ""
|
244 |
|
245 |
+
#: contact-form-7/admin/admin.php:484
|
246 |
msgid "http://contactform7.com/selectable-recipient-with-pipes/"
|
247 |
msgstr ""
|
248 |
|
249 |
+
#: contact-form-7/admin/admin.php:484
|
250 |
msgid "Selectable Recipient with Pipes"
|
251 |
msgstr ""
|
252 |
|
253 |
+
#: contact-form-7/admin/admin.php:485
|
254 |
msgid ""
|
255 |
"http://contactform7.com/tracking-form-submissions-with-google-analytics/"
|
256 |
msgstr ""
|
257 |
|
258 |
+
#: contact-form-7/admin/admin.php:485
|
259 |
msgid "Tracking with Google Analytics"
|
260 |
msgstr ""
|
261 |
|
300 |
msgstr ""
|
301 |
|
302 |
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:14
|
303 |
+
#: contact-form-7/modules/date.php:144
|
304 |
msgid "Date"
|
305 |
msgstr ""
|
306 |
|
317 |
msgid "Edit “%s”"
|
318 |
msgstr ""
|
319 |
|
320 |
+
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:156
|
321 |
msgid "Y/m/d g:i:s A"
|
322 |
msgstr ""
|
323 |
|
324 |
+
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:163
|
325 |
#, php-format
|
326 |
msgid "%s ago"
|
327 |
msgstr ""
|
328 |
|
329 |
+
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:165
|
330 |
msgid "Y/m/d"
|
331 |
msgstr ""
|
332 |
|
358 |
msgid "Message body:"
|
359 |
msgstr ""
|
360 |
|
361 |
+
#: contact-form-7/includes/classes.php:68
|
362 |
msgid "Contact Form"
|
363 |
msgstr ""
|
364 |
|
365 |
+
#: contact-form-7/includes/classes.php:148
|
366 |
msgid "Untitled"
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: contact-form-7/includes/controller.php:202
|
370 |
msgid "Sending ..."
|
371 |
msgstr ""
|
372 |
|
479 |
msgid "This e-mail was sent from a contact form on %1$s (%2$s)"
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: contact-form-7/includes/functions.php:155
|
483 |
msgid "Afrikaans"
|
484 |
msgstr ""
|
485 |
|
486 |
+
#: contact-form-7/includes/functions.php:156
|
487 |
msgid "Albanian"
|
488 |
msgstr ""
|
489 |
|
490 |
+
#: contact-form-7/includes/functions.php:157
|
491 |
msgid "Arabic"
|
492 |
msgstr ""
|
493 |
|
494 |
+
#: contact-form-7/includes/functions.php:158
|
495 |
msgid "Armenian"
|
496 |
msgstr ""
|
497 |
|
498 |
+
#: contact-form-7/includes/functions.php:159
|
499 |
msgid "Azerbaijani"
|
500 |
msgstr ""
|
501 |
|
502 |
+
#: contact-form-7/includes/functions.php:160
|
503 |
msgid "Bangla"
|
504 |
msgstr ""
|
505 |
|
506 |
+
#: contact-form-7/includes/functions.php:161
|
507 |
msgid "Basque"
|
508 |
msgstr ""
|
509 |
|
510 |
+
#: contact-form-7/includes/functions.php:162
|
511 |
msgid "Belarusian"
|
512 |
msgstr ""
|
513 |
|
514 |
+
#: contact-form-7/includes/functions.php:163
|
515 |
msgid "Bosnian"
|
516 |
msgstr ""
|
517 |
|
518 |
+
#: contact-form-7/includes/functions.php:164
|
519 |
msgid "Brazilian Portuguese"
|
520 |
msgstr ""
|
521 |
|
522 |
+
#: contact-form-7/includes/functions.php:165
|
523 |
msgid "Bulgarian"
|
524 |
msgstr ""
|
525 |
|
526 |
+
#: contact-form-7/includes/functions.php:166
|
527 |
msgid "Catalan"
|
528 |
msgstr ""
|
529 |
|
530 |
+
#: contact-form-7/includes/functions.php:167
|
531 |
msgid "Central Kurdish"
|
532 |
msgstr ""
|
533 |
|
534 |
+
#: contact-form-7/includes/functions.php:168
|
535 |
msgid "Chinese (Simplified)"
|
536 |
msgstr ""
|
537 |
|
538 |
+
#: contact-form-7/includes/functions.php:169
|
539 |
msgid "Chinese (Traditional)"
|
540 |
msgstr ""
|
541 |
|
542 |
+
#: contact-form-7/includes/functions.php:170
|
543 |
msgid "Croatian"
|
544 |
msgstr ""
|
545 |
|
546 |
+
#: contact-form-7/includes/functions.php:171
|
547 |
msgid "Czech"
|
548 |
msgstr ""
|
549 |
|
550 |
+
#: contact-form-7/includes/functions.php:172
|
551 |
msgid "Danish"
|
552 |
msgstr ""
|
553 |
|
554 |
+
#: contact-form-7/includes/functions.php:173
|
555 |
msgid "Dutch"
|
556 |
msgstr ""
|
557 |
|
558 |
+
#: contact-form-7/includes/functions.php:174
|
559 |
msgid "English"
|
560 |
msgstr ""
|
561 |
|
562 |
+
#: contact-form-7/includes/functions.php:175
|
563 |
msgid "Esperanto"
|
564 |
msgstr ""
|
565 |
|
566 |
+
#: contact-form-7/includes/functions.php:176
|
567 |
msgid "Estonian"
|
568 |
msgstr ""
|
569 |
|
570 |
+
#: contact-form-7/includes/functions.php:177
|
571 |
msgid "Finnish"
|
572 |
msgstr ""
|
573 |
|
574 |
+
#: contact-form-7/includes/functions.php:178
|
575 |
msgid "French"
|
576 |
msgstr ""
|
577 |
|
578 |
+
#: contact-form-7/includes/functions.php:179
|
579 |
msgid "Galician"
|
580 |
msgstr ""
|
581 |
|
582 |
+
#: contact-form-7/includes/functions.php:180
|
583 |
msgid "Gujarati"
|
584 |
msgstr ""
|
585 |
|
586 |
+
#: contact-form-7/includes/functions.php:181
|
587 |
msgid "Georgian"
|
588 |
msgstr ""
|
589 |
|
590 |
+
#: contact-form-7/includes/functions.php:182
|
591 |
msgid "German"
|
592 |
msgstr ""
|
593 |
|
594 |
+
#: contact-form-7/includes/functions.php:183
|
595 |
msgid "Greek"
|
596 |
msgstr ""
|
597 |
|
598 |
+
#: contact-form-7/includes/functions.php:184
|
599 |
+
msgid "Haitian"
|
600 |
+
msgstr ""
|
601 |
+
|
602 |
+
#: contact-form-7/includes/functions.php:185
|
603 |
msgid "Hebrew"
|
604 |
msgstr ""
|
605 |
|
606 |
+
#: contact-form-7/includes/functions.php:186
|
607 |
msgid "Hindi"
|
608 |
msgstr ""
|
609 |
|
610 |
+
#: contact-form-7/includes/functions.php:187
|
611 |
msgid "Hungarian"
|
612 |
msgstr ""
|
613 |
|
614 |
+
#: contact-form-7/includes/functions.php:188
|
615 |
msgid "Indian Bengali"
|
616 |
msgstr ""
|
617 |
|
618 |
+
#: contact-form-7/includes/functions.php:189
|
619 |
msgid "Indonesian"
|
620 |
msgstr ""
|
621 |
|
622 |
+
#: contact-form-7/includes/functions.php:190
|
623 |
msgid "Irish"
|
624 |
msgstr ""
|
625 |
|
626 |
+
#: contact-form-7/includes/functions.php:191
|
627 |
msgid "Italian"
|
628 |
msgstr ""
|
629 |
|
630 |
+
#: contact-form-7/includes/functions.php:192
|
631 |
msgid "Japanese"
|
632 |
msgstr ""
|
633 |
|
634 |
+
#: contact-form-7/includes/functions.php:193
|
635 |
msgid "Korean"
|
636 |
msgstr ""
|
637 |
|
638 |
+
#: contact-form-7/includes/functions.php:194
|
639 |
msgid "Latvian"
|
640 |
msgstr ""
|
641 |
|
642 |
+
#: contact-form-7/includes/functions.php:195
|
643 |
msgid "Lithuanian"
|
644 |
msgstr ""
|
645 |
|
646 |
+
#: contact-form-7/includes/functions.php:196
|
647 |
msgid "Macedonian"
|
648 |
msgstr ""
|
649 |
|
650 |
+
#: contact-form-7/includes/functions.php:197
|
651 |
msgid "Malay"
|
652 |
msgstr ""
|
653 |
|
654 |
+
#: contact-form-7/includes/functions.php:198
|
655 |
msgid "Malayalam"
|
656 |
msgstr ""
|
657 |
|
658 |
+
#: contact-form-7/includes/functions.php:199
|
659 |
msgid "Maltese"
|
660 |
msgstr ""
|
661 |
|
662 |
+
#: contact-form-7/includes/functions.php:200
|
663 |
msgid "Norwegian"
|
664 |
msgstr ""
|
665 |
|
666 |
+
#: contact-form-7/includes/functions.php:201
|
667 |
msgid "Persian"
|
668 |
msgstr ""
|
669 |
|
670 |
+
#: contact-form-7/includes/functions.php:202
|
671 |
msgid "Polish"
|
672 |
msgstr ""
|
673 |
|
674 |
+
#: contact-form-7/includes/functions.php:203
|
675 |
msgid "Portuguese"
|
676 |
msgstr ""
|
677 |
|
678 |
+
#: contact-form-7/includes/functions.php:204
|
679 |
msgid "Russian"
|
680 |
msgstr ""
|
681 |
|
682 |
+
#: contact-form-7/includes/functions.php:205
|
683 |
msgid "Romanian"
|
684 |
msgstr ""
|
685 |
|
686 |
+
#: contact-form-7/includes/functions.php:206
|
687 |
msgid "Serbian"
|
688 |
msgstr ""
|
689 |
|
690 |
+
#: contact-form-7/includes/functions.php:207
|
691 |
msgid "Sinhala"
|
692 |
msgstr ""
|
693 |
|
694 |
+
#: contact-form-7/includes/functions.php:208
|
695 |
msgid "Slovak"
|
696 |
msgstr ""
|
697 |
|
698 |
+
#: contact-form-7/includes/functions.php:209
|
699 |
msgid "Slovene"
|
700 |
msgstr ""
|
701 |
|
702 |
+
#: contact-form-7/includes/functions.php:210
|
703 |
msgid "Spanish"
|
704 |
msgstr ""
|
705 |
|
706 |
+
#: contact-form-7/includes/functions.php:211
|
707 |
msgid "Swedish"
|
708 |
msgstr ""
|
709 |
|
710 |
+
#: contact-form-7/includes/functions.php:212
|
711 |
msgid "Tamil"
|
712 |
msgstr ""
|
713 |
|
714 |
+
#: contact-form-7/includes/functions.php:213
|
715 |
msgid "Thai"
|
716 |
msgstr ""
|
717 |
|
718 |
+
#: contact-form-7/includes/functions.php:214
|
719 |
msgid "Tagalog"
|
720 |
msgstr ""
|
721 |
|
722 |
+
#: contact-form-7/includes/functions.php:215
|
723 |
msgid "Turkish"
|
724 |
msgstr ""
|
725 |
|
726 |
+
#: contact-form-7/includes/functions.php:216
|
727 |
msgid "Ukrainian"
|
728 |
msgstr ""
|
729 |
|
730 |
+
#: contact-form-7/includes/functions.php:217
|
731 |
msgid "Vietnamese"
|
732 |
msgstr ""
|
733 |
|
734 |
+
#: contact-form-7/modules/acceptance.php:133
|
735 |
msgid "Acceptance"
|
736 |
msgstr ""
|
737 |
|
738 |
+
#: contact-form-7/modules/acceptance.php:142
|
739 |
+
#: contact-form-7/modules/captcha.php:206
|
740 |
+
#: contact-form-7/modules/checkbox.php:270 contact-form-7/modules/date.php:161
|
741 |
+
#: contact-form-7/modules/file.php:236 contact-form-7/modules/number.php:171
|
742 |
+
#: contact-form-7/modules/quiz.php:166 contact-form-7/modules/select.php:152
|
743 |
+
#: contact-form-7/modules/text.php:214 contact-form-7/modules/textarea.php:112
|
744 |
msgid "Name"
|
745 |
msgstr ""
|
746 |
|
747 |
+
#: contact-form-7/modules/acceptance.php:147
|
748 |
+
#: contact-form-7/modules/acceptance.php:150
|
749 |
+
#: contact-form-7/modules/captcha.php:213
|
750 |
+
#: contact-form-7/modules/captcha.php:216
|
751 |
+
#: contact-form-7/modules/captcha.php:221
|
752 |
+
#: contact-form-7/modules/captcha.php:224
|
753 |
+
#: contact-form-7/modules/captcha.php:228
|
754 |
+
#: contact-form-7/modules/captcha.php:239
|
755 |
+
#: contact-form-7/modules/captcha.php:242
|
756 |
+
#: contact-form-7/modules/captcha.php:247
|
757 |
+
#: contact-form-7/modules/captcha.php:250
|
758 |
+
#: contact-form-7/modules/checkbox.php:275
|
759 |
+
#: contact-form-7/modules/checkbox.php:278 contact-form-7/modules/date.php:166
|
760 |
+
#: contact-form-7/modules/date.php:169 contact-form-7/modules/date.php:174
|
761 |
+
#: contact-form-7/modules/date.php:177 contact-form-7/modules/date.php:182
|
762 |
+
#: contact-form-7/modules/date.php:187 contact-form-7/modules/file.php:241
|
763 |
+
#: contact-form-7/modules/file.php:244 contact-form-7/modules/file.php:249
|
764 |
+
#: contact-form-7/modules/file.php:252 contact-form-7/modules/number.php:176
|
765 |
+
#: contact-form-7/modules/number.php:179 contact-form-7/modules/number.php:184
|
766 |
+
#: contact-form-7/modules/number.php:187 contact-form-7/modules/number.php:192
|
767 |
+
#: contact-form-7/modules/number.php:197 contact-form-7/modules/quiz.php:171
|
768 |
+
#: contact-form-7/modules/quiz.php:174 contact-form-7/modules/quiz.php:179
|
769 |
+
#: contact-form-7/modules/quiz.php:182 contact-form-7/modules/select.php:157
|
770 |
+
#: contact-form-7/modules/select.php:160 contact-form-7/modules/submit.php:59
|
771 |
#: contact-form-7/modules/submit.php:62 contact-form-7/modules/submit.php:67
|
772 |
+
#: contact-form-7/modules/text.php:219 contact-form-7/modules/text.php:222
|
773 |
+
#: contact-form-7/modules/text.php:227 contact-form-7/modules/text.php:230
|
774 |
+
#: contact-form-7/modules/text.php:236 contact-form-7/modules/text.php:249
|
775 |
+
#: contact-form-7/modules/textarea.php:117
|
776 |
+
#: contact-form-7/modules/textarea.php:120
|
777 |
+
#: contact-form-7/modules/textarea.php:125
|
778 |
+
#: contact-form-7/modules/textarea.php:128
|
779 |
+
#: contact-form-7/modules/textarea.php:133
|
780 |
+
#: contact-form-7/modules/textarea.php:138
|
781 |
msgid "optional"
|
782 |
msgstr ""
|
783 |
|
784 |
+
#: contact-form-7/modules/acceptance.php:156
|
785 |
msgid "Make this checkbox checked by default?"
|
786 |
msgstr ""
|
787 |
|
788 |
+
#: contact-form-7/modules/acceptance.php:157
|
789 |
msgid "Make this checkbox work inversely?"
|
790 |
msgstr ""
|
791 |
|
792 |
+
#: contact-form-7/modules/acceptance.php:158
|
793 |
msgid "* That means visitor who accepts the term unchecks it."
|
794 |
msgstr ""
|
795 |
|
796 |
+
#: contact-form-7/modules/acceptance.php:163
|
797 |
+
#: contact-form-7/modules/captcha.php:255
|
798 |
+
#: contact-form-7/modules/checkbox.php:298 contact-form-7/modules/date.php:195
|
799 |
+
#: contact-form-7/modules/file.php:257 contact-form-7/modules/number.php:205
|
800 |
+
#: contact-form-7/modules/quiz.php:194 contact-form-7/modules/select.php:177
|
801 |
+
#: contact-form-7/modules/submit.php:74 contact-form-7/modules/text.php:257
|
802 |
+
#: contact-form-7/modules/textarea.php:146
|
803 |
msgid "Copy this code and paste it into the form left."
|
804 |
msgstr ""
|
805 |
|
809 |
"really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
|
810 |
msgstr ""
|
811 |
|
812 |
+
#: contact-form-7/modules/captcha.php:178
|
813 |
msgid "The code that sender entered does not match the CAPTCHA"
|
814 |
msgstr ""
|
815 |
|
816 |
+
#: contact-form-7/modules/captcha.php:179
|
817 |
msgid "Your entered code is incorrect."
|
818 |
msgstr ""
|
819 |
|
820 |
+
#: contact-form-7/modules/captcha.php:192
|
821 |
msgid "CAPTCHA"
|
822 |
msgstr ""
|
823 |
|
824 |
+
#: contact-form-7/modules/captcha.php:203
|
825 |
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
|
826 |
msgstr ""
|
827 |
|
828 |
+
#: contact-form-7/modules/captcha.php:210
|
829 |
msgid "Image settings"
|
830 |
msgstr ""
|
831 |
|
832 |
+
#: contact-form-7/modules/captcha.php:221
|
833 |
msgid "Foreground color"
|
834 |
msgstr ""
|
835 |
|
836 |
+
#: contact-form-7/modules/captcha.php:224
|
837 |
msgid "Background color"
|
838 |
msgstr ""
|
839 |
|
840 |
+
#: contact-form-7/modules/captcha.php:228
|
841 |
msgid "Image size"
|
842 |
msgstr ""
|
843 |
|
844 |
+
#: contact-form-7/modules/captcha.php:229
|
845 |
msgid "Small"
|
846 |
msgstr ""
|
847 |
|
848 |
+
#: contact-form-7/modules/captcha.php:230
|
849 |
msgid "Medium"
|
850 |
msgstr ""
|
851 |
|
852 |
+
#: contact-form-7/modules/captcha.php:231
|
853 |
msgid "Large"
|
854 |
msgstr ""
|
855 |
|
856 |
+
#: contact-form-7/modules/captcha.php:236
|
857 |
msgid "Input field settings"
|
858 |
msgstr ""
|
859 |
|
860 |
+
#: contact-form-7/modules/captcha.php:256
|
861 |
msgid "For image"
|
862 |
msgstr ""
|
863 |
|
864 |
+
#: contact-form-7/modules/captcha.php:258
|
865 |
msgid "For input field"
|
866 |
msgstr ""
|
867 |
|
868 |
+
#: contact-form-7/modules/captcha.php:289
|
869 |
#, php-format
|
870 |
msgid ""
|
871 |
"This contact form contains CAPTCHA fields, but the temporary folder for the "
|
873 |
"change its permission manually."
|
874 |
msgstr ""
|
875 |
|
876 |
+
#: contact-form-7/modules/captcha.php:295
|
877 |
msgid ""
|
878 |
"This contact form contains CAPTCHA fields, but the necessary libraries (GD "
|
879 |
"and FreeType) are not available on your server."
|
880 |
msgstr ""
|
881 |
|
882 |
+
#: contact-form-7/modules/checkbox.php:243
|
883 |
msgid "Checkboxes"
|
884 |
msgstr ""
|
885 |
|
886 |
+
#: contact-form-7/modules/checkbox.php:246
|
887 |
msgid "Radio buttons"
|
888 |
msgstr ""
|
889 |
|
890 |
+
#: contact-form-7/modules/checkbox.php:267 contact-form-7/modules/date.php:160
|
891 |
+
#: contact-form-7/modules/file.php:235 contact-form-7/modules/number.php:170
|
892 |
+
#: contact-form-7/modules/select.php:151 contact-form-7/modules/text.php:213
|
893 |
+
#: contact-form-7/modules/textarea.php:111
|
894 |
msgid "Required field?"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: contact-form-7/modules/checkbox.php:283
|
898 |
+
#: contact-form-7/modules/select.php:165
|
899 |
msgid "Choices"
|
900 |
msgstr ""
|
901 |
|
902 |
+
#: contact-form-7/modules/checkbox.php:285
|
903 |
+
#: contact-form-7/modules/select.php:167
|
904 |
msgid "* One choice per line."
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: contact-form-7/modules/checkbox.php:289
|
908 |
msgid "Put a label first, a checkbox last?"
|
909 |
msgstr ""
|
910 |
|
911 |
+
#: contact-form-7/modules/checkbox.php:290
|
912 |
msgid "Wrap each item with <label> tag?"
|
913 |
msgstr ""
|
914 |
|
915 |
+
#: contact-form-7/modules/checkbox.php:292
|
916 |
msgid "Make checkboxes exclusive?"
|
917 |
msgstr ""
|
918 |
|
919 |
+
#: contact-form-7/modules/checkbox.php:300 contact-form-7/modules/date.php:197
|
920 |
+
#: contact-form-7/modules/number.php:207 contact-form-7/modules/select.php:179
|
921 |
+
#: contact-form-7/modules/text.php:259 contact-form-7/modules/textarea.php:148
|
922 |
msgid "And, put this code into the Mail fields below."
|
923 |
msgstr ""
|
924 |
|
925 |
+
#: contact-form-7/modules/date.php:120
|
926 |
msgid "Date format that the sender entered is invalid"
|
927 |
msgstr ""
|
928 |
|
929 |
+
#: contact-form-7/modules/date.php:121
|
930 |
msgid "Date format seems invalid."
|
931 |
msgstr ""
|
932 |
|
933 |
+
#: contact-form-7/modules/date.php:125
|
934 |
msgid "Date is earlier than minimum limit"
|
935 |
msgstr ""
|
936 |
|
937 |
+
#: contact-form-7/modules/date.php:126
|
938 |
msgid "This date is too early."
|
939 |
msgstr ""
|
940 |
|
941 |
+
#: contact-form-7/modules/date.php:130
|
942 |
msgid "Date is later than maximum limit"
|
943 |
msgstr ""
|
944 |
|
945 |
+
#: contact-form-7/modules/date.php:131
|
946 |
msgid "This date is too late."
|
947 |
msgstr ""
|
948 |
|
949 |
+
#: contact-form-7/modules/date.php:187 contact-form-7/modules/number.php:197
|
950 |
+
#: contact-form-7/modules/text.php:249 contact-form-7/modules/textarea.php:138
|
951 |
msgid "Default value"
|
952 |
msgstr ""
|
953 |
|
954 |
+
#: contact-form-7/modules/date.php:190 contact-form-7/modules/number.php:200
|
955 |
+
#: contact-form-7/modules/text.php:252 contact-form-7/modules/textarea.php:141
|
956 |
msgid "Use this text as placeholder?"
|
957 |
msgstr ""
|
958 |
|
959 |
+
#: contact-form-7/modules/file.php:196
|
960 |
msgid "Uploading a file fails for any reason"
|
961 |
msgstr ""
|
962 |
|
963 |
+
#: contact-form-7/modules/file.php:197
|
964 |
msgid "Failed to upload file."
|
965 |
msgstr ""
|
966 |
|
967 |
+
#: contact-form-7/modules/file.php:201
|
968 |
msgid "Uploaded file is not allowed file type"
|
969 |
msgstr ""
|
970 |
|
971 |
+
#: contact-form-7/modules/file.php:202
|
972 |
msgid "This file type is not allowed."
|
973 |
msgstr ""
|
974 |
|
975 |
+
#: contact-form-7/modules/file.php:206
|
976 |
msgid "Uploaded file is too large"
|
977 |
msgstr ""
|
978 |
|
979 |
+
#: contact-form-7/modules/file.php:207
|
980 |
msgid "This file is too large."
|
981 |
msgstr ""
|
982 |
|
983 |
+
#: contact-form-7/modules/file.php:211
|
984 |
msgid "Uploading a file fails for PHP error"
|
985 |
msgstr ""
|
986 |
|
987 |
+
#: contact-form-7/modules/file.php:212
|
988 |
msgid "Failed to upload file. Error occurred."
|
989 |
msgstr ""
|
990 |
|
991 |
+
#: contact-form-7/modules/file.php:226
|
992 |
msgid "File upload"
|
993 |
msgstr ""
|
994 |
|
995 |
+
#: contact-form-7/modules/file.php:249
|
996 |
msgid "File size limit"
|
997 |
msgstr ""
|
998 |
|
999 |
+
#: contact-form-7/modules/file.php:249
|
1000 |
msgid "bytes"
|
1001 |
msgstr ""
|
1002 |
|
1003 |
+
#: contact-form-7/modules/file.php:252
|
1004 |
msgid "Acceptable file types"
|
1005 |
msgstr ""
|
1006 |
|
1007 |
+
#: contact-form-7/modules/file.php:259
|
1008 |
msgid "And, put this code into the File Attachments field below."
|
1009 |
msgstr ""
|
1010 |
|
1011 |
+
#: contact-form-7/modules/file.php:285
|
1012 |
#, php-format
|
1013 |
msgid ""
|
1014 |
"This contact form contains file uploading fields, but the temporary folder "
|
1023 |
"strong> <a href=\"%s\" target=\"_blank\">See how to avoid it.</a>"
|
1024 |
msgstr ""
|
1025 |
|
1026 |
+
#: contact-form-7/modules/number.php:123
|
1027 |
msgid "Number format that the sender entered is invalid"
|
1028 |
msgstr ""
|
1029 |
|
1030 |
+
#: contact-form-7/modules/number.php:124
|
1031 |
msgid "Number format seems invalid."
|
1032 |
msgstr ""
|
1033 |
|
1034 |
+
#: contact-form-7/modules/number.php:128
|
1035 |
msgid "Number is smaller than minimum limit"
|
1036 |
msgstr ""
|
1037 |
|
1038 |
+
#: contact-form-7/modules/number.php:129
|
1039 |
msgid "This number is too small."
|
1040 |
msgstr ""
|
1041 |
|
1042 |
+
#: contact-form-7/modules/number.php:133
|
1043 |
msgid "Number is larger than maximum limit"
|
1044 |
msgstr ""
|
1045 |
|
1046 |
+
#: contact-form-7/modules/number.php:134
|
1047 |
msgid "This number is too large."
|
1048 |
msgstr ""
|
1049 |
|
1050 |
+
#: contact-form-7/modules/number.php:147
|
1051 |
msgid "Number (spinbox)"
|
1052 |
msgstr ""
|
1053 |
|
1054 |
+
#: contact-form-7/modules/number.php:150
|
1055 |
msgid "Number (slider)"
|
1056 |
msgstr ""
|
1057 |
|
1058 |
+
#: contact-form-7/modules/quiz.php:143
|
1059 |
msgid "Sender doesn't enter the correct answer to the quiz"
|
1060 |
msgstr ""
|
1061 |
|
1062 |
+
#: contact-form-7/modules/quiz.php:144
|
1063 |
msgid "Your answer is not correct."
|
1064 |
msgstr ""
|
1065 |
|
1066 |
+
#: contact-form-7/modules/quiz.php:157
|
1067 |
msgid "Quiz"
|
1068 |
msgstr ""
|
1069 |
|
1070 |
+
#: contact-form-7/modules/quiz.php:187
|
1071 |
msgid "Quizzes"
|
1072 |
msgstr ""
|
1073 |
|
1074 |
+
#: contact-form-7/modules/quiz.php:189
|
1075 |
msgid "* quiz|answer (e.g. 1+1=?|2)"
|
1076 |
msgstr ""
|
1077 |
|
1078 |
+
#: contact-form-7/modules/select.php:142
|
1079 |
msgid "Drop-down menu"
|
1080 |
msgstr ""
|
1081 |
|
1082 |
+
#: contact-form-7/modules/select.php:171
|
1083 |
msgid "Allow multiple selections?"
|
1084 |
msgstr ""
|
1085 |
|
1086 |
+
#: contact-form-7/modules/select.php:172
|
1087 |
msgid "Insert a blank item as the first option?"
|
1088 |
msgstr ""
|
1089 |
|
1095 |
msgid "Label"
|
1096 |
msgstr ""
|
1097 |
|
1098 |
+
#: contact-form-7/modules/text.php:152
|
1099 |
msgid "Email address that the sender entered is invalid"
|
1100 |
msgstr ""
|
1101 |
|
1102 |
+
#: contact-form-7/modules/text.php:153
|
1103 |
msgid "Email address seems invalid."
|
1104 |
msgstr ""
|
1105 |
|
1106 |
+
#: contact-form-7/modules/text.php:157
|
1107 |
msgid "URL that the sender entered is invalid"
|
1108 |
msgstr ""
|
1109 |
|
1110 |
+
#: contact-form-7/modules/text.php:158
|
1111 |
msgid "URL seems invalid."
|
1112 |
msgstr ""
|
1113 |
|
1114 |
+
#: contact-form-7/modules/text.php:162
|
1115 |
msgid "Telephone number that the sender entered is invalid"
|
1116 |
msgstr ""
|
1117 |
|
1118 |
+
#: contact-form-7/modules/text.php:163
|
1119 |
msgid "Telephone number seems invalid."
|
1120 |
msgstr ""
|
1121 |
|
1122 |
+
#: contact-form-7/modules/text.php:176
|
1123 |
msgid "Text field"
|
1124 |
msgstr ""
|
1125 |
|
1126 |
+
#: contact-form-7/modules/text.php:179
|
1127 |
msgid "Email"
|
1128 |
msgstr ""
|
1129 |
|
1130 |
+
#: contact-form-7/modules/text.php:182
|
1131 |
msgid "URL"
|
1132 |
msgstr ""
|
1133 |
|
1134 |
+
#: contact-form-7/modules/text.php:185
|
1135 |
msgid "Telephone number"
|
1136 |
msgstr ""
|
1137 |
|
1138 |
+
#: contact-form-7/modules/text.php:236
|
1139 |
msgid "Akismet"
|
1140 |
msgstr ""
|
1141 |
|
1142 |
+
#: contact-form-7/modules/text.php:238
|
1143 |
msgid "This field requires author's name"
|
1144 |
msgstr ""
|
1145 |
|
1146 |
+
#: contact-form-7/modules/text.php:240
|
1147 |
msgid "This field requires author's email address"
|
1148 |
msgstr ""
|
1149 |
|
1150 |
+
#: contact-form-7/modules/text.php:242
|
1151 |
msgid "This field requires author's URL"
|
1152 |
msgstr ""
|
1153 |
|
1154 |
+
#: contact-form-7/modules/textarea.php:102
|
1155 |
msgid "Text area"
|
1156 |
msgstr ""
|
modules/acceptance.php
CHANGED
@@ -118,14 +118,7 @@ function wpcf7_acceptance_as_validation() {
|
|
118 |
if ( ! $contact_form = wpcf7_get_current_contact_form() )
|
119 |
return false;
|
120 |
|
121 |
-
|
122 |
-
|
123 |
-
foreach ( $settings as $setting ) {
|
124 |
-
if ( in_array( $setting, array( 'on', 'true', '1' ) ) )
|
125 |
-
return true;
|
126 |
-
}
|
127 |
-
|
128 |
-
return false;
|
129 |
}
|
130 |
|
131 |
|
@@ -167,7 +160,7 @@ function wpcf7_tg_pane_acceptance( &$contact_form ) {
|
|
167 |
</tr>
|
168 |
</table>
|
169 |
|
170 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="acceptance" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
171 |
</form>
|
172 |
</div>
|
173 |
<?php
|
118 |
if ( ! $contact_form = wpcf7_get_current_contact_form() )
|
119 |
return false;
|
120 |
|
121 |
+
return $contact_form->is_true( 'acceptance_as_validation' );
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
122 |
}
|
123 |
|
124 |
|
160 |
</tr>
|
161 |
</table>
|
162 |
|
163 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="acceptance" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
164 |
</form>
|
165 |
</div>
|
166 |
<?php
|
modules/captcha.php
CHANGED
@@ -53,7 +53,7 @@ function wpcf7_captcha_shortcode_handler( $tag ) {
|
|
53 |
}
|
54 |
|
55 |
$atts['alt'] = 'captcha';
|
56 |
-
$atts['src'] =
|
57 |
|
58 |
$atts = wpcf7_format_atts( $atts );
|
59 |
|
@@ -157,7 +157,7 @@ function wpcf7_captcha_ajax_refill( $items ) {
|
|
157 |
|
158 |
$op = wpcf7_captchac_options( $options );
|
159 |
if ( $filename = wpcf7_generate_captcha( $op ) ) {
|
160 |
-
$captcha_url =
|
161 |
$refill[$name] = $captcha_url;
|
162 |
}
|
163 |
}
|
@@ -254,9 +254,9 @@ function wpcf7_tg_pane_captcha( &$contact_form ) {
|
|
254 |
|
255 |
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?>
|
256 |
<br />1) <?php echo esc_html( __( "For image", 'contact-form-7' ) ); ?>
|
257 |
-
<input type="text" name="captchac" class="tag" readonly="readonly" onfocus="this.select()" />
|
258 |
<br />2) <?php echo esc_html( __( "For input field", 'contact-form-7' ) ); ?>
|
259 |
-
<input type="text" name="captchar" class="tag" readonly="readonly" onfocus="this.select()" />
|
260 |
</div>
|
261 |
</form>
|
262 |
</div>
|
@@ -269,8 +269,9 @@ function wpcf7_tg_pane_captcha( &$contact_form ) {
|
|
269 |
add_action( 'wpcf7_admin_notices', 'wpcf7_captcha_display_warning_message' );
|
270 |
|
271 |
function wpcf7_captcha_display_warning_message() {
|
272 |
-
if (
|
273 |
return;
|
|
|
274 |
|
275 |
$has_tags = (bool) $contact_form->form_scan_shortcode(
|
276 |
array( 'type' => array( 'captchac' ) ) );
|
@@ -301,39 +302,52 @@ function wpcf7_captcha_display_warning_message() {
|
|
301 |
/* CAPTCHA functions */
|
302 |
|
303 |
function wpcf7_init_captcha() {
|
304 |
-
|
305 |
|
306 |
-
if (
|
307 |
-
return
|
|
|
308 |
|
309 |
-
if (
|
310 |
-
$
|
|
|
|
|
|
|
311 |
|
312 |
$dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
313 |
|
314 |
-
$
|
315 |
|
316 |
-
if ( is_callable( array( $
|
317 |
-
|
318 |
|
319 |
-
|
320 |
-
|
|
|
|
|
|
|
|
|
321 |
|
322 |
-
|
|
|
323 |
|
324 |
-
|
325 |
-
|
|
|
326 |
|
327 |
-
|
328 |
-
|
329 |
-
|
330 |
-
|
331 |
-
|
332 |
-
|
333 |
-
|
|
|
|
|
|
|
334 |
}
|
335 |
|
336 |
-
return
|
337 |
}
|
338 |
|
339 |
function wpcf7_captcha_tmp_dir() {
|
@@ -350,74 +364,80 @@ function wpcf7_captcha_tmp_url() {
|
|
350 |
return wpcf7_upload_dir( 'url' ) . '/wpcf7_captcha';
|
351 |
}
|
352 |
|
353 |
-
function
|
354 |
-
|
355 |
|
356 |
-
if (
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
357 |
return false;
|
|
|
358 |
|
359 |
-
if ( ! is_dir( $
|
360 |
return false;
|
361 |
|
362 |
$img_type = imagetypes();
|
363 |
if ( $img_type & IMG_PNG )
|
364 |
-
$
|
365 |
elseif ( $img_type & IMG_GIF )
|
366 |
-
$
|
367 |
elseif ( $img_type & IMG_JPG )
|
368 |
-
$
|
369 |
else
|
370 |
return false;
|
371 |
|
372 |
if ( is_array( $options ) ) {
|
373 |
if ( isset( $options['img_size'] ) )
|
374 |
-
$
|
375 |
if ( isset( $options['base'] ) )
|
376 |
-
$
|
377 |
if ( isset( $options['font_size'] ) )
|
378 |
-
$
|
379 |
if ( isset( $options['font_char_width'] ) )
|
380 |
-
$
|
381 |
if ( isset( $options['fg'] ) )
|
382 |
-
$
|
383 |
if ( isset( $options['bg'] ) )
|
384 |
-
$
|
385 |
}
|
386 |
|
387 |
$prefix = mt_rand();
|
388 |
-
$captcha_word = $
|
389 |
-
return $
|
390 |
}
|
391 |
|
392 |
function wpcf7_check_captcha( $prefix, $response ) {
|
393 |
-
|
394 |
-
|
395 |
-
if ( ! wpcf7_init_captcha() )
|
396 |
return false;
|
|
|
397 |
|
398 |
-
return $
|
399 |
}
|
400 |
|
401 |
function wpcf7_remove_captcha( $prefix ) {
|
402 |
-
|
403 |
-
|
404 |
-
if ( ! wpcf7_init_captcha() )
|
405 |
return false;
|
|
|
406 |
|
407 |
if ( preg_match( '/[^0-9]/', $prefix ) ) // Contact Form 7 generates $prefix with mt_rand()
|
408 |
return false;
|
409 |
|
410 |
-
$
|
411 |
}
|
412 |
|
413 |
function wpcf7_cleanup_captcha_files() {
|
414 |
-
|
415 |
-
|
416 |
-
if ( ! wpcf7_init_captcha() )
|
417 |
return false;
|
|
|
418 |
|
419 |
-
if ( is_callable( array( $
|
420 |
-
return $
|
421 |
|
422 |
$dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
423 |
|
@@ -506,6 +526,4 @@ function wpcf7_captchac_options( $options ) {
|
|
506 |
return $op;
|
507 |
}
|
508 |
|
509 |
-
$wpcf7_captcha = null;
|
510 |
-
|
511 |
?>
|
53 |
}
|
54 |
|
55 |
$atts['alt'] = 'captcha';
|
56 |
+
$atts['src'] = wpcf7_captcha_url( $filename );
|
57 |
|
58 |
$atts = wpcf7_format_atts( $atts );
|
59 |
|
157 |
|
158 |
$op = wpcf7_captchac_options( $options );
|
159 |
if ( $filename = wpcf7_generate_captcha( $op ) ) {
|
160 |
+
$captcha_url = wpcf7_captcha_url( $filename );
|
161 |
$refill[$name] = $captcha_url;
|
162 |
}
|
163 |
}
|
254 |
|
255 |
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?>
|
256 |
<br />1) <?php echo esc_html( __( "For image", 'contact-form-7' ) ); ?>
|
257 |
+
<input type="text" name="captchac" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" />
|
258 |
<br />2) <?php echo esc_html( __( "For input field", 'contact-form-7' ) ); ?>
|
259 |
+
<input type="text" name="captchar" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" />
|
260 |
</div>
|
261 |
</form>
|
262 |
</div>
|
269 |
add_action( 'wpcf7_admin_notices', 'wpcf7_captcha_display_warning_message' );
|
270 |
|
271 |
function wpcf7_captcha_display_warning_message() {
|
272 |
+
if ( ! $contact_form = wpcf7_get_current_contact_form() ) {
|
273 |
return;
|
274 |
+
}
|
275 |
|
276 |
$has_tags = (bool) $contact_form->form_scan_shortcode(
|
277 |
array( 'type' => array( 'captchac' ) ) );
|
302 |
/* CAPTCHA functions */
|
303 |
|
304 |
function wpcf7_init_captcha() {
|
305 |
+
static $captcha = null;
|
306 |
|
307 |
+
if ( $captcha ) {
|
308 |
+
return $captcha;
|
309 |
+
}
|
310 |
|
311 |
+
if ( class_exists( 'ReallySimpleCaptcha' ) ) {
|
312 |
+
$captcha = new ReallySimpleCaptcha();
|
313 |
+
} else {
|
314 |
+
return false;
|
315 |
+
}
|
316 |
|
317 |
$dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
318 |
|
319 |
+
$captcha->tmp_dir = $dir;
|
320 |
|
321 |
+
if ( is_callable( array( $captcha, 'make_tmp_dir' ) ) ) {
|
322 |
+
$result = $captcha->make_tmp_dir();
|
323 |
|
324 |
+
if ( ! $result ) {
|
325 |
+
return false;
|
326 |
+
}
|
327 |
+
|
328 |
+
return $captcha;
|
329 |
+
}
|
330 |
|
331 |
+
if ( wp_mkdir_p( $dir ) ) {
|
332 |
+
$htaccess_file = $dir . '.htaccess';
|
333 |
|
334 |
+
if ( file_exists( $htaccess_file ) ) {
|
335 |
+
return $captcha;
|
336 |
+
}
|
337 |
|
338 |
+
if ( $handle = @fopen( $htaccess_file, 'w' ) ) {
|
339 |
+
fwrite( $handle, 'Order deny,allow' . "\n" );
|
340 |
+
fwrite( $handle, 'Deny from all' . "\n" );
|
341 |
+
fwrite( $handle, '<Files ~ "^[0-9A-Za-z]+\\.(jpeg|gif|png)$">' . "\n" );
|
342 |
+
fwrite( $handle, ' Allow from all' . "\n" );
|
343 |
+
fwrite( $handle, '</Files>' . "\n" );
|
344 |
+
fclose( $handle );
|
345 |
+
}
|
346 |
+
} else {
|
347 |
+
return false;
|
348 |
}
|
349 |
|
350 |
+
return $captcha;
|
351 |
}
|
352 |
|
353 |
function wpcf7_captcha_tmp_dir() {
|
364 |
return wpcf7_upload_dir( 'url' ) . '/wpcf7_captcha';
|
365 |
}
|
366 |
|
367 |
+
function wpcf7_captcha_url( $filename ) {
|
368 |
+
$url = trailingslashit( wpcf7_captcha_tmp_url() ) . $filename;
|
369 |
|
370 |
+
if ( is_ssl() && 'http:' == substr( $url, 0, 5 ) ) {
|
371 |
+
$url = 'https:' . substr( $url, 5 );
|
372 |
+
}
|
373 |
+
|
374 |
+
return apply_filters( 'wpcf7_captcha_url', esc_url_raw( $url ) );
|
375 |
+
}
|
376 |
+
|
377 |
+
function wpcf7_generate_captcha( $options = null ) {
|
378 |
+
if ( ! $captcha = wpcf7_init_captcha() ) {
|
379 |
return false;
|
380 |
+
}
|
381 |
|
382 |
+
if ( ! is_dir( $captcha->tmp_dir ) || ! wp_is_writable( $captcha->tmp_dir ) )
|
383 |
return false;
|
384 |
|
385 |
$img_type = imagetypes();
|
386 |
if ( $img_type & IMG_PNG )
|
387 |
+
$captcha->img_type = 'png';
|
388 |
elseif ( $img_type & IMG_GIF )
|
389 |
+
$captcha->img_type = 'gif';
|
390 |
elseif ( $img_type & IMG_JPG )
|
391 |
+
$captcha->img_type = 'jpeg';
|
392 |
else
|
393 |
return false;
|
394 |
|
395 |
if ( is_array( $options ) ) {
|
396 |
if ( isset( $options['img_size'] ) )
|
397 |
+
$captcha->img_size = $options['img_size'];
|
398 |
if ( isset( $options['base'] ) )
|
399 |
+
$captcha->base = $options['base'];
|
400 |
if ( isset( $options['font_size'] ) )
|
401 |
+
$captcha->font_size = $options['font_size'];
|
402 |
if ( isset( $options['font_char_width'] ) )
|
403 |
+
$captcha->font_char_width = $options['font_char_width'];
|
404 |
if ( isset( $options['fg'] ) )
|
405 |
+
$captcha->fg = $options['fg'];
|
406 |
if ( isset( $options['bg'] ) )
|
407 |
+
$captcha->bg = $options['bg'];
|
408 |
}
|
409 |
|
410 |
$prefix = mt_rand();
|
411 |
+
$captcha_word = $captcha->generate_random_word();
|
412 |
+
return $captcha->generate_image( $prefix, $captcha_word );
|
413 |
}
|
414 |
|
415 |
function wpcf7_check_captcha( $prefix, $response ) {
|
416 |
+
if ( ! $captcha = wpcf7_init_captcha() ) {
|
|
|
|
|
417 |
return false;
|
418 |
+
}
|
419 |
|
420 |
+
return $captcha->check( $prefix, $response );
|
421 |
}
|
422 |
|
423 |
function wpcf7_remove_captcha( $prefix ) {
|
424 |
+
if ( ! $captcha = wpcf7_init_captcha() ) {
|
|
|
|
|
425 |
return false;
|
426 |
+
}
|
427 |
|
428 |
if ( preg_match( '/[^0-9]/', $prefix ) ) // Contact Form 7 generates $prefix with mt_rand()
|
429 |
return false;
|
430 |
|
431 |
+
$captcha->remove( $prefix );
|
432 |
}
|
433 |
|
434 |
function wpcf7_cleanup_captcha_files() {
|
435 |
+
if ( ! $captcha = wpcf7_init_captcha() ) {
|
|
|
|
|
436 |
return false;
|
437 |
+
}
|
438 |
|
439 |
+
if ( is_callable( array( $captcha, 'cleanup' ) ) )
|
440 |
+
return $captcha->cleanup();
|
441 |
|
442 |
$dir = trailingslashit( wpcf7_captcha_tmp_dir() );
|
443 |
|
526 |
return $op;
|
527 |
}
|
528 |
|
|
|
|
|
529 |
?>
|
modules/checkbox.php
CHANGED
@@ -28,6 +28,7 @@ function wpcf7_checkbox_shortcode_handler( $tag ) {
|
|
28 |
$label_first = $tag->has_option( 'label_first' );
|
29 |
$use_label_element = $tag->has_option( 'use_label_element' );
|
30 |
$exclusive = $tag->has_option( 'exclusive' );
|
|
|
31 |
$multiple = false;
|
32 |
|
33 |
if ( 'checkbox' == $tag->basetype )
|
@@ -61,8 +62,11 @@ function wpcf7_checkbox_shortcode_handler( $tag ) {
|
|
61 |
$is_posted = wpcf7_is_posted();
|
62 |
|
63 |
$html = '';
|
|
|
64 |
|
65 |
foreach ( (array) $tag->values as $key => $value ) {
|
|
|
|
|
66 |
$checked = false;
|
67 |
|
68 |
if ( $is_posted && ! empty( $post ) ) {
|
@@ -102,11 +106,42 @@ function wpcf7_checkbox_shortcode_handler( $tag ) {
|
|
102 |
if ( $use_label_element )
|
103 |
$item = '<label>' . $item . '</label>';
|
104 |
|
105 |
-
$item = '<span class="wpcf7-list-item">' . $item . '</span>';
|
106 |
-
$html .= $item;
|
107 |
-
|
108 |
if ( false !== $tabindex )
|
109 |
$tabindex += 1;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
110 |
}
|
111 |
|
112 |
$atts = wpcf7_format_atts( $atts );
|
@@ -144,6 +179,59 @@ function wpcf7_checkbox_validation_filter( $result, $tag ) {
|
|
144 |
}
|
145 |
|
146 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
147 |
/* Tag generator */
|
148 |
|
149 |
add_action( 'admin_init', 'wpcf7_add_tag_generator_checkbox_and_radio', 30 );
|
@@ -207,9 +295,9 @@ function wpcf7_tg_pane_checkbox_and_radio( $type = 'checkbox' ) {
|
|
207 |
</tr>
|
208 |
</table>
|
209 |
|
210 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
211 |
|
212 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
213 |
</form>
|
214 |
</div>
|
215 |
<?php
|
28 |
$label_first = $tag->has_option( 'label_first' );
|
29 |
$use_label_element = $tag->has_option( 'use_label_element' );
|
30 |
$exclusive = $tag->has_option( 'exclusive' );
|
31 |
+
$free_text = $tag->has_option( 'free_text' );
|
32 |
$multiple = false;
|
33 |
|
34 |
if ( 'checkbox' == $tag->basetype )
|
62 |
$is_posted = wpcf7_is_posted();
|
63 |
|
64 |
$html = '';
|
65 |
+
$count = 0;
|
66 |
|
67 |
foreach ( (array) $tag->values as $key => $value ) {
|
68 |
+
$class = 'wpcf7-list-item';
|
69 |
+
|
70 |
$checked = false;
|
71 |
|
72 |
if ( $is_posted && ! empty( $post ) ) {
|
106 |
if ( $use_label_element )
|
107 |
$item = '<label>' . $item . '</label>';
|
108 |
|
|
|
|
|
|
|
109 |
if ( false !== $tabindex )
|
110 |
$tabindex += 1;
|
111 |
+
|
112 |
+
$count += 1;
|
113 |
+
|
114 |
+
if ( 1 == $count ) {
|
115 |
+
$class .= ' first';
|
116 |
+
}
|
117 |
+
|
118 |
+
if ( count( $tag->values ) == $count ) { // last round
|
119 |
+
$class .= ' last';
|
120 |
+
|
121 |
+
if ( $free_text ) {
|
122 |
+
$free_text_name = sprintf(
|
123 |
+
'_wpcf7_%1$s_free_text_%2$s', $tag->basetype, $tag->name );
|
124 |
+
|
125 |
+
$free_text_atts = array(
|
126 |
+
'name' => $free_text_name,
|
127 |
+
'class' => 'wpcf7-free-text',
|
128 |
+
'tabindex' => $tabindex ? $tabindex : '' );
|
129 |
+
|
130 |
+
if ( wpcf7_is_posted() && isset( $_POST[$free_text_name] ) ) {
|
131 |
+
$free_text_atts['value'] = stripslashes_deep(
|
132 |
+
$_POST[$free_text_name] );
|
133 |
+
}
|
134 |
+
|
135 |
+
$free_text_atts = wpcf7_format_atts( $free_text_atts );
|
136 |
+
|
137 |
+
$item .= sprintf( ' <input type="text" %s />', $free_text_atts );
|
138 |
+
|
139 |
+
$class .= ' has-free-text';
|
140 |
+
}
|
141 |
+
}
|
142 |
+
|
143 |
+
$item = '<span class="' . esc_attr( $class ) . '">' . $item . '</span>';
|
144 |
+
$html .= $item;
|
145 |
}
|
146 |
|
147 |
$atts = wpcf7_format_atts( $atts );
|
179 |
}
|
180 |
|
181 |
|
182 |
+
/* Adding free text field */
|
183 |
+
|
184 |
+
add_filter( 'wpcf7_posted_data', 'wpcf7_checkbox_posted_data' );
|
185 |
+
|
186 |
+
function wpcf7_checkbox_posted_data( $posted_data ) {
|
187 |
+
$tags = wpcf7_scan_shortcode(
|
188 |
+
array( 'type' => array( 'checkbox', 'checkbox*', 'radio' ) ) );
|
189 |
+
|
190 |
+
if ( empty( $tags ) ) {
|
191 |
+
return $posted_data;
|
192 |
+
}
|
193 |
+
|
194 |
+
foreach ( $tags as $tag ) {
|
195 |
+
$tag = new WPCF7_Shortcode( $tag );
|
196 |
+
|
197 |
+
if ( ! isset( $posted_data[$tag->name] ) ) {
|
198 |
+
continue;
|
199 |
+
}
|
200 |
+
|
201 |
+
$posted_items = (array) $posted_data[$tag->name];
|
202 |
+
|
203 |
+
if ( $tag->has_option( 'free_text' ) ) {
|
204 |
+
if ( WPCF7_USE_PIPE ) {
|
205 |
+
$values = $tag->pipes->collect_afters();
|
206 |
+
} else {
|
207 |
+
$values = $tag->values;
|
208 |
+
}
|
209 |
+
|
210 |
+
$last = array_pop( $values );
|
211 |
+
|
212 |
+
if ( in_array( $last, $posted_items ) ) {
|
213 |
+
$posted_items = array_diff( $posted_items, array( $last ) );
|
214 |
+
|
215 |
+
$free_text_name = sprintf(
|
216 |
+
'_wpcf7_%1$s_free_text_%2$s', $tag->basetype, $tag->name );
|
217 |
+
|
218 |
+
$free_text = $posted_data[$free_text_name];
|
219 |
+
|
220 |
+
if ( ! empty( $free_text ) ) {
|
221 |
+
$posted_items[] = trim( $last . ' ' . $free_text );
|
222 |
+
} else {
|
223 |
+
$posted_items[] = $last;
|
224 |
+
}
|
225 |
+
}
|
226 |
+
}
|
227 |
+
|
228 |
+
$posted_data[$tag->name] = $posted_items;
|
229 |
+
}
|
230 |
+
|
231 |
+
return $posted_data;
|
232 |
+
}
|
233 |
+
|
234 |
+
|
235 |
/* Tag generator */
|
236 |
|
237 |
add_action( 'admin_init', 'wpcf7_add_tag_generator_checkbox_and_radio', 30 );
|
295 |
</tr>
|
296 |
</table>
|
297 |
|
298 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
299 |
|
300 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
301 |
</form>
|
302 |
</div>
|
303 |
<?php
|
modules/date.php
CHANGED
@@ -192,9 +192,9 @@ function wpcf7_tg_pane_date_and_relatives( $type = 'date' ) {
|
|
192 |
</tr>
|
193 |
</table>
|
194 |
|
195 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
196 |
|
197 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
198 |
</form>
|
199 |
</div>
|
200 |
<?php
|
192 |
</tr>
|
193 |
</table>
|
194 |
|
195 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
196 |
|
197 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
198 |
</form>
|
199 |
</div>
|
200 |
<?php
|
modules/file.php
CHANGED
@@ -254,9 +254,9 @@ function wpcf7_tg_pane_file( &$contact_form ) {
|
|
254 |
</tr>
|
255 |
</table>
|
256 |
|
257 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="file" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
258 |
|
259 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the File Attachments field below.", 'contact-form-7' ) ); ?><br /><
|
260 |
</form>
|
261 |
</div>
|
262 |
<?php
|
@@ -268,8 +268,9 @@ function wpcf7_tg_pane_file( &$contact_form ) {
|
|
268 |
add_action( 'wpcf7_admin_notices', 'wpcf7_file_display_warning_message' );
|
269 |
|
270 |
function wpcf7_file_display_warning_message() {
|
271 |
-
if (
|
272 |
return;
|
|
|
273 |
|
274 |
$has_tags = (bool) $contact_form->form_scan_shortcode(
|
275 |
array( 'type' => array( 'file', 'file*' ) ) );
|
254 |
</tr>
|
255 |
</table>
|
256 |
|
257 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="file" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
258 |
|
259 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the File Attachments field below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
260 |
</form>
|
261 |
</div>
|
262 |
<?php
|
268 |
add_action( 'wpcf7_admin_notices', 'wpcf7_file_display_warning_message' );
|
269 |
|
270 |
function wpcf7_file_display_warning_message() {
|
271 |
+
if ( ! $contact_form = wpcf7_get_current_contact_form() ) {
|
272 |
return;
|
273 |
+
}
|
274 |
|
275 |
$has_tags = (bool) $contact_form->form_scan_shortcode(
|
276 |
array( 'type' => array( 'file', 'file*' ) ) );
|
modules/number.php
CHANGED
@@ -202,9 +202,9 @@ function wpcf7_tg_pane_number_and_relatives( $type = 'number' ) {
|
|
202 |
</tr>
|
203 |
</table>
|
204 |
|
205 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
206 |
|
207 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
208 |
</form>
|
209 |
</div>
|
210 |
<?php
|
202 |
</tr>
|
203 |
</table>
|
204 |
|
205 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
206 |
|
207 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
208 |
</form>
|
209 |
</div>
|
210 |
<?php
|
modules/quiz.php
CHANGED
@@ -191,7 +191,7 @@ function wpcf7_tg_pane_quiz( &$contact_form ) {
|
|
191 |
</tr>
|
192 |
</table>
|
193 |
|
194 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="quiz" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
195 |
</form>
|
196 |
</div>
|
197 |
<?php
|
191 |
</tr>
|
192 |
</table>
|
193 |
|
194 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="quiz" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
195 |
</form>
|
196 |
</div>
|
197 |
<?php
|
modules/select.php
CHANGED
@@ -174,9 +174,9 @@ function wpcf7_tg_pane_menu( &$contact_form ) {
|
|
174 |
</tr>
|
175 |
</table>
|
176 |
|
177 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="select" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
178 |
|
179 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
180 |
</form>
|
181 |
</div>
|
182 |
<?php
|
174 |
</tr>
|
175 |
</table>
|
176 |
|
177 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="select" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
178 |
|
179 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
180 |
</form>
|
181 |
</div>
|
182 |
<?php
|
modules/submit.php
CHANGED
@@ -71,7 +71,7 @@ function wpcf7_tg_pane_submit( &$contact_form ) {
|
|
71 |
</tr>
|
72 |
</table>
|
73 |
|
74 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="submit" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
75 |
</form>
|
76 |
</div>
|
77 |
<?php
|
71 |
</tr>
|
72 |
</table>
|
73 |
|
74 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="submit" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
75 |
</form>
|
76 |
</div>
|
77 |
<?php
|
modules/text.php
CHANGED
@@ -54,24 +54,8 @@ function wpcf7_text_shortcode_handler( $tag ) {
|
|
54 |
if ( $tag->has_option( 'placeholder' ) || $tag->has_option( 'watermark' ) ) {
|
55 |
$atts['placeholder'] = $value;
|
56 |
$value = '';
|
57 |
-
} elseif ( empty( $value )
|
58 |
-
$
|
59 |
-
|
60 |
-
$user_options = array(
|
61 |
-
'default:user_login' => 'user_login',
|
62 |
-
'default:user_email' => 'user_email',
|
63 |
-
'default:user_url' => 'user_url',
|
64 |
-
'default:user_first_name' => 'first_name',
|
65 |
-
'default:user_last_name' => 'last_name',
|
66 |
-
'default:user_nickname' => 'nickname',
|
67 |
-
'default:user_display_name' => 'display_name' );
|
68 |
-
|
69 |
-
foreach ( $user_options as $option => $prop ) {
|
70 |
-
if ( $tag->has_option( $option ) ) {
|
71 |
-
$value = $user->{$prop};
|
72 |
-
break;
|
73 |
-
}
|
74 |
-
}
|
75 |
}
|
76 |
|
77 |
if ( wpcf7_is_posted() && isset( $_POST[$tag->name] ) )
|
@@ -270,9 +254,9 @@ function wpcf7_tg_pane_text_and_relatives( $type = 'text' ) {
|
|
270 |
</tr>
|
271 |
</table>
|
272 |
|
273 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
274 |
|
275 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
276 |
</form>
|
277 |
</div>
|
278 |
<?php
|
54 |
if ( $tag->has_option( 'placeholder' ) || $tag->has_option( 'watermark' ) ) {
|
55 |
$atts['placeholder'] = $value;
|
56 |
$value = '';
|
57 |
+
} elseif ( empty( $value ) ) {
|
58 |
+
$value = $tag->get_default_option();
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
59 |
}
|
60 |
|
61 |
if ( wpcf7_is_posted() && isset( $_POST[$tag->name] ) )
|
254 |
</tr>
|
255 |
</table>
|
256 |
|
257 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="<?php echo $type; ?>" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
258 |
|
259 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
260 |
</form>
|
261 |
</div>
|
262 |
<?php
|
modules/textarea.php
CHANGED
@@ -143,9 +143,9 @@ function wpcf7_tg_pane_textarea( &$contact_form ) {
|
|
143 |
</tr>
|
144 |
</table>
|
145 |
|
146 |
-
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="textarea" class="tag" readonly="readonly" onfocus="this.select()" /></div>
|
147 |
|
148 |
-
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><
|
149 |
</form>
|
150 |
</div>
|
151 |
<?php
|
143 |
</tr>
|
144 |
</table>
|
145 |
|
146 |
+
<div class="tg-tag"><?php echo esc_html( __( "Copy this code and paste it into the form left.", 'contact-form-7' ) ); ?><br /><input type="text" name="textarea" class="tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
147 |
|
148 |
+
<div class="tg-mail-tag"><?php echo esc_html( __( "And, put this code into the Mail fields below.", 'contact-form-7' ) ); ?><br /><input type="text" class="mail-tag wp-ui-text-highlight code" readonly="readonly" onfocus="this.select()" /></div>
|
149 |
</form>
|
150 |
</div>
|
151 |
<?php
|
readme.txt
CHANGED
@@ -3,8 +3,8 @@ Contributors: takayukister
|
|
3 |
Donate link: http://contactform7.com/donate/
|
4 |
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
|
5 |
Requires at least: 3.6
|
6 |
-
Tested up to: 3.8
|
7 |
-
Stable tag: 3.
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
@@ -48,7 +48,7 @@ The following are other recommended plugins by the author of Contact Form 7.
|
|
48 |
* Chinese, Simplified (zh_CN) - [Soz](http://www.webtoolol.com/), [Keefe Dunn](http://dengkefu.com/), [Stella Hu](http://prowordpresser.com/)
|
49 |
* Chinese, Traditional (zh_TW) - [James Wu](http://jameswublog.com)
|
50 |
* Croatian (hr) - [tolingo Translation Services](http://www.tolingo.com)
|
51 |
-
* Czech (cs_CZ) - Korry, [Radovan Fiser](http://algymsa.cz/), [Tomas Vesely](http://www.mcmotylek.cz/), [Pavel Bilek](http://chcistranky.eu/zdarma/)
|
52 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/), [Georg S. Adamsen](http://wordpress.blogos.dk/)
|
53 |
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/), [Rene](http://wpwebshop.com/), [TenSheep](http://tensheep.nl/)
|
54 |
* Esperanto (eo_EO) - Arkadiusz Zychewicz
|
@@ -60,6 +60,7 @@ The following are other recommended plugins by the author of Contact Form 7.
|
|
60 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de), [Ivan Graf](http://blog.bildergallery.com/)
|
61 |
* Greek (el) - [Nick Mouratidis](http://www.kepik.gr/), [Pr. friedlich](http://friedlich.wordpress.com/)
|
62 |
* Gujarati (gu_IN) - [Apoto](http://www.apoto.com/)
|
|
|
63 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/), [Arik Galansky](http://www.arikg.co.il/)
|
64 |
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/), [Ashish](http://outshinesolutions.com/)
|
65 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/), [János Csárdi-Braunstein](http://blogocska.org/), [Farkas Győző](http://www.sakraft.hu/)
|
@@ -70,7 +71,7 @@ The following are other recommended plugins by the author of Contact Form 7.
|
|
70 |
* Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
|
71 |
* Korean (ko_KR) - Seong Eun Lee, [Jong-In Kim](http://incommunity.codex.kr/wordpress/)
|
72 |
* Latvian (lv) - [Sandis Veinbergs](http://www.kleofass.lv/)
|
73 |
-
* Lithuanian (lt_LT) - [Ernestas Kardzys](http://www.ernestas.info/), [Vincent G](http://www.host1free.com/)
|
74 |
* Macedonian (mk_MK) - [Darko](http://www.findermind.com/)
|
75 |
* Malay (ms_MY) - [Zairul Azmil](http://www.zairul.com/)
|
76 |
* Malayalam (ml_IN) - [RAHUL.S.A](http://www.infution.co.cc/)
|
@@ -121,6 +122,16 @@ Do you have questions or issues with Contact Form 7? Use these support channels
|
|
121 |
|
122 |
== Changelog ==
|
123 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
124 |
= 3.6 =
|
125 |
|
126 |
* Accessibility: Apply role="alert" to response message and validation errors.
|
3 |
Donate link: http://contactform7.com/donate/
|
4 |
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
|
5 |
Requires at least: 3.6
|
6 |
+
Tested up to: 3.8.1
|
7 |
+
Stable tag: 3.7
|
8 |
License: GPLv2 or later
|
9 |
License URI: http://www.gnu.org/licenses/gpl-2.0.html
|
10 |
|
48 |
* Chinese, Simplified (zh_CN) - [Soz](http://www.webtoolol.com/), [Keefe Dunn](http://dengkefu.com/), [Stella Hu](http://prowordpresser.com/)
|
49 |
* Chinese, Traditional (zh_TW) - [James Wu](http://jameswublog.com)
|
50 |
* Croatian (hr) - [tolingo Translation Services](http://www.tolingo.com)
|
51 |
+
* Czech (cs_CZ) - Korry, [Radovan Fiser](http://algymsa.cz/), [Tomas Vesely](http://www.mcmotylek.cz/), [Pavel Bilek](http://chcistranky.eu/zdarma/), Vladislav Šenk
|
52 |
* Danish (da_DK) - [Jens Griebel](http://www.kompas-it.dk/), [Georg S. Adamsen](http://wordpress.blogos.dk/)
|
53 |
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/), [Rene](http://wpwebshop.com/), [TenSheep](http://tensheep.nl/)
|
54 |
* Esperanto (eo_EO) - Arkadiusz Zychewicz
|
60 |
* German (de_DE) - [Marcel Spitau](http://blog.spitau.de), [Ivan Graf](http://blog.bildergallery.com/)
|
61 |
* Greek (el) - [Nick Mouratidis](http://www.kepik.gr/), [Pr. friedlich](http://friedlich.wordpress.com/)
|
62 |
* Gujarati (gu_IN) - [Apoto](http://www.apoto.com/)
|
63 |
+
* Haitian (ht) - Biz.O
|
64 |
* Hebrew (he_IL) - [Yaron Ofer](http://www.gadgetguru.co.il/), [Arik Galansky](http://www.arikg.co.il/)
|
65 |
* Hindi (hi_IN) - [Tarun Joshi](http://www.readers-cafe.net/), [Ashish](http://outshinesolutions.com/)
|
66 |
* Hungarian (hu_HU) - [Andras Hirschler](http://hia.itblog.hu/), [János Csárdi-Braunstein](http://blogocska.org/), [Farkas Győző](http://www.sakraft.hu/)
|
71 |
* Japanese (ja) - [Takayuki Miyoshi](http://ideasilo.wordpress.com)
|
72 |
* Korean (ko_KR) - Seong Eun Lee, [Jong-In Kim](http://incommunity.codex.kr/wordpress/)
|
73 |
* Latvian (lv) - [Sandis Veinbergs](http://www.kleofass.lv/)
|
74 |
+
* Lithuanian (lt_LT) - [Ernestas Kardzys](http://www.ernestas.info/), [Vincent G](http://www.host1free.com/), [Mantas Malcius](http://mantas.malcius.lt/)
|
75 |
* Macedonian (mk_MK) - [Darko](http://www.findermind.com/)
|
76 |
* Malay (ms_MY) - [Zairul Azmil](http://www.zairul.com/)
|
77 |
* Malayalam (ml_IN) - [RAHUL.S.A](http://www.infution.co.cc/)
|
122 |
|
123 |
== Changelog ==
|
124 |
|
125 |
+
= 3.7 =
|
126 |
+
|
127 |
+
* Support free_text option that allows checkbox/radio to have an additional free text field.
|
128 |
+
* Restore floating-tip style validation error as an option.
|
129 |
+
* Support html_id and html_class attributes in [contact-form-7] shortcode.
|
130 |
+
* Fixed bug that Flamingo stored submissions in demo-mode.
|
131 |
+
* Fixed bug where auto-p function wrapped [response] with p.
|
132 |
+
* The jQuery Form Plugin (jquery.form.js) has been updated to 3.48.0.
|
133 |
+
* Translation for Haitian has been created. Translations for German, Hungarian, Czech, Turkish, Lithuanian, French, Basque, and Brazilian Portuguese have been updated.
|
134 |
+
|
135 |
= 3.6 =
|
136 |
|
137 |
* Accessibility: Apply role="alert" to response message and validation errors.
|
settings.php
CHANGED
@@ -17,20 +17,6 @@ else
|
|
17 |
add_action( 'plugins_loaded', 'wpcf7' );
|
18 |
|
19 |
function wpcf7() {
|
20 |
-
global $wpcf7, $wpcf7_shortcode_manager;
|
21 |
-
|
22 |
-
if ( ! is_object( $wpcf7 ) ) {
|
23 |
-
$wpcf7 = (object) array(
|
24 |
-
'processing_within' => '',
|
25 |
-
'widget_count' => 0,
|
26 |
-
'unit_count' => 0,
|
27 |
-
'global_unit_count' => 0,
|
28 |
-
'result' => array(),
|
29 |
-
'request_uri' => null );
|
30 |
-
}
|
31 |
-
|
32 |
-
$wpcf7_shortcode_manager = new WPCF7_ShortcodeManager();
|
33 |
-
|
34 |
wpcf7_load_textdomain();
|
35 |
wpcf7_load_modules();
|
36 |
}
|
@@ -38,10 +24,7 @@ function wpcf7() {
|
|
38 |
add_action( 'init', 'wpcf7_init' );
|
39 |
|
40 |
function wpcf7_init() {
|
41 |
-
|
42 |
-
|
43 |
-
$wpcf7->request_uri = add_query_arg( array() );
|
44 |
-
|
45 |
wpcf7_register_post_types();
|
46 |
|
47 |
do_action( 'wpcf7_init' );
|
17 |
add_action( 'plugins_loaded', 'wpcf7' );
|
18 |
|
19 |
function wpcf7() {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
20 |
wpcf7_load_textdomain();
|
21 |
wpcf7_load_modules();
|
22 |
}
|
24 |
add_action( 'init', 'wpcf7_init' );
|
25 |
|
26 |
function wpcf7_init() {
|
27 |
+
wpcf7_get_request_uri();
|
|
|
|
|
|
|
28 |
wpcf7_register_post_types();
|
29 |
|
30 |
do_action( 'wpcf7_init' );
|
wp-contact-form-7.php
CHANGED
@@ -7,10 +7,10 @@ Author: Takayuki Miyoshi
|
|
7 |
Author URI: http://ideasilo.wordpress.com/
|
8 |
Text Domain: contact-form-7
|
9 |
Domain Path: /languages/
|
10 |
-
Version: 3.
|
11 |
*/
|
12 |
|
13 |
-
/* Copyright 2007-
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
@@ -27,7 +27,7 @@ Version: 3.6
|
|
27 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
28 |
*/
|
29 |
|
30 |
-
define( 'WPCF7_VERSION', '3.
|
31 |
|
32 |
define( 'WPCF7_REQUIRED_WP_VERSION', '3.6' );
|
33 |
|
7 |
Author URI: http://ideasilo.wordpress.com/
|
8 |
Text Domain: contact-form-7
|
9 |
Domain Path: /languages/
|
10 |
+
Version: 3.7
|
11 |
*/
|
12 |
|
13 |
+
/* Copyright 2007-2014 Takayuki Miyoshi (email: takayukister at gmail.com)
|
14 |
|
15 |
This program is free software; you can redistribute it and/or modify
|
16 |
it under the terms of the GNU General Public License as published by
|
27 |
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
28 |
*/
|
29 |
|
30 |
+
define( 'WPCF7_VERSION', '3.7' );
|
31 |
|
32 |
define( 'WPCF7_REQUIRED_WP_VERSION', '3.6' );
|
33 |
|