Contact Form 7 - Version 3.4

Version Description

Download this release

Release Info

Developer takayukister
Plugin Icon 128x128 Contact Form 7
Version 3.4
Comparing to
See all releases

Code changes from version 3.3.3 to 3.4

admin/css/styles.css CHANGED
@@ -67,6 +67,7 @@ div.actions-link input {
67
border: none;
68
font-size: 11px;
69
cursor: pointer;
70
}
71
72
div.actions-link input.copy {
@@ -150,6 +151,11 @@ label.disabled {
150
color: #777;
151
}
152
153
div.tag-generator {
154
position: relative;
155
background: transparent;
@@ -219,12 +225,13 @@ div.tg-pane input.tg-name {
219
}
220
221
div.tg-pane input.oneline {
222
- width: 98%;
223
font-size: smaller;
224
}
225
226
div.tg-pane textarea {
227
- width: 98%;
228
height: 100px;
229
font-size: smaller;
230
}
67
border: none;
68
font-size: 11px;
69
cursor: pointer;
70
+ background: inherit;
71
}
72
73
div.actions-link input.copy {
151
color: #777;
152
}
153
154
+ #messagesdiv div.inside {
155
+ height: 28em;
156
+ overflow: auto;
157
+ }
158
+
159
div.tag-generator {
160
position: relative;
161
background: transparent;
225
}
226
227
div.tg-pane input.oneline {
228
+ width: 94%;
229
font-size: smaller;
230
+ -moz-box-sizing: border-box;
231
}
232
233
div.tg-pane textarea {
234
+ width: 94%;
235
height: 100px;
236
font-size: smaller;
237
}
admin/includes/meta-boxes.php CHANGED
@@ -4,7 +4,7 @@
4
5
function wpcf7_form_meta_box( $post ) {
6
?>
7
- <div class="half-left"><textarea id="wpcf7-form" name="wpcf7-form" cols="100" rows="20"><?php echo esc_textarea( $post->form ); ?></textarea></div>
8
9
<div class="half-right"><div id="taggenerator"></div></div>
10
4
5
function wpcf7_form_meta_box( $post ) {
6
?>
7
+ <div class="half-left"><textarea id="wpcf7-form" name="wpcf7-form" cols="100" rows="24"><?php echo esc_textarea( $post->form ); ?></textarea></div>
8
9
<div class="half-right"><div id="taggenerator"></div></div>
10
admin/js/taggenerator.js CHANGED
@@ -129,7 +129,7 @@
129
130
pane.find(':input.numeric').each(function(i) {
131
var val = $(this).val();
132
- val = val.replace(/[^0-9]/g, '');
133
$(this).val(val);
134
});
135
@@ -168,7 +168,7 @@
168
169
pane.find(':input.date').each(function(i) {
170
var val = $(this).val();
171
- if (! val.match(/^\d{4}-\d{1,2}-\d{1,2}#x2F;)) // 'yyyy-mm-dd' ISO 8601 format
172
$(this).val('');
173
});
174
@@ -192,18 +192,22 @@
192
193
var options = [];
194
195
- var size = scope.find(':input[name="size"]').val();
196
- var maxlength = scope.find(':input[name="maxlength"]').val();
197
- if (size || maxlength)
198
- options.push(size + '/' + maxlength);
199
200
- var cols = scope.find(':input[name="cols"]').val();
201
- var rows = scope.find(':input[name="rows"]').val();
202
- if (cols || rows)
203
options.push(cols + 'x' + rows);
204
205
- scope.find('input:text.option').each(function(i) {
206
- if (-1 < $.inArray($(this).attr('name'), ['size', 'maxlength', 'cols', 'rows']))
207
return;
208
209
var val = $(this).val();
129
130
pane.find(':input.numeric').each(function(i) {
131
var val = $(this).val();
132
+ val = val.replace(/[^0-9.-]/g, '');
133
$(this).val(val);
134
});
135
168
169
pane.find(':input.date').each(function(i) {
170
var val = $(this).val();
171
+ if (! val.match(/^\d{4}-\d{2}-\d{2}#x2F;)) // 'yyyy-mm-dd' ISO 8601 format
172
$(this).val('');
173
});
174
192
193
var options = [];
194
195
+ var size = scope.find(':input[name="size"]').val() || '';
196
+ var maxlength = scope.find(':input[name="maxlength"]').val() || '';
197
+ var cols = scope.find(':input[name="cols"]').val() || '';
198
+ var rows = scope.find(':input[name="rows"]').val() || '';
199
200
+ if ((cols || rows) && maxlength)
201
+ options.push(cols + 'x' + rows + '/' + maxlength);
202
+ else if (cols || rows)
203
options.push(cols + 'x' + rows);
204
+ else if (size || maxlength)
205
+ options.push(size + '/' + maxlength);
206
+
207
+ scope.find('input.option').not(':checkbox,:radio').each(function(i) {
208
+ var excluded = ['size', 'maxlength', 'cols', 'rows'];
209
210
+ if (-1 < $.inArray($(this).attr('name'), excluded))
211
return;
212
213
var val = $(this).val();
includes/capabilities.php CHANGED
@@ -9,6 +9,8 @@ function wpcf7_map_meta_cap( $caps, $cap, $user_id, $args ) {
9
'wpcf7_read_contact_forms' => WPCF7_ADMIN_READ_CAPABILITY,
10
'wpcf7_delete_contact_form' => WPCF7_ADMIN_READ_WRITE_CAPABILITY );
11
12
$caps = array_diff( $caps, array_keys( $meta_caps ) );
13
14
if ( isset( $meta_caps[$cap] ) )
9
'wpcf7_read_contact_forms' => WPCF7_ADMIN_READ_CAPABILITY,
10
'wpcf7_delete_contact_form' => WPCF7_ADMIN_READ_WRITE_CAPABILITY );
11
12
+ $meta_caps = apply_filters( 'wpcf7_map_meta_cap', $meta_caps );
13
+
14
$caps = array_diff( $caps, array_keys( $meta_caps ) );
15
16
if ( isset( $meta_caps[$cap] ) )
includes/classes.php CHANGED
@@ -58,6 +58,12 @@ class WPCF7_ContactForm {
58
public function __construct( $post = null ) {
59
$this->initial = true;
60
61
$post = get_post( $post );
62
63
if ( $post && self::post_type == get_post_type( $post ) ) {
@@ -149,8 +155,12 @@ class WPCF7_ContactForm {
149
150
$enctype = apply_filters( 'wpcf7_form_enctype', '' );
151
152
$form .= '<form action="' . esc_url_raw( $url ) . '" method="post"'
153
- . ' class="' . esc_attr( $class ) . '"' . $enctype . '>' . "\n";
154
155
$form .= $this->form_hidden_fields();
156
@@ -390,6 +400,8 @@ class WPCF7_ContactForm {
390
391
} else {
392
$result['message'] = $this->message( 'mail_sent_ng' );
393
}
394
395
if ( $ajax ) {
@@ -572,8 +584,22 @@ class WPCF7_ContactForm {
572
if ( $matches[1] == '[' && $matches[3] == ']' )
573
return substr( $matches[0], 1, -1 );
574
575
- if ( isset( $this->posted_data[$matches[2]] ) ) {
576
- $submitted = $this->posted_data[$matches[2]];
577
578
if ( is_array( $submitted ) )
579
$replaced = join( ', ', $submitted );
@@ -585,15 +611,18 @@ class WPCF7_ContactForm {
585
$replaced = wptexturize( $replaced );
586
}
587
588
- $replaced = apply_filters( 'wpcf7_mail_tag_replaced', $replaced, $submitted, $html );
589
590
return stripslashes( $replaced );
591
}
592
593
- if ( $special = apply_filters( 'wpcf7_special_mail_tags', '', $matches[2], $html ) )
594
return $special;
595
596
- return $matches[0];
597
}
598
599
/* Message */
@@ -644,17 +673,16 @@ class WPCF7_ContactForm {
644
/* Upgrade */
645
646
function upgrade() {
647
- if ( ! isset( $this->mail['recipient'] ) )
648
- $this->mail['recipient'] = get_option( 'admin_email' );
649
-
650
-
651
- if ( ! is_array( $this->messages ) )
652
- $this->messages = array();
653
-
654
655
- foreach ( wpcf7_messages() as $key => $arr ) {
656
- if ( ! isset( $this->messages[$key] ) )
657
- $this->messages[$key] = $arr['default'];
658
}
659
}
660
@@ -834,7 +862,7 @@ function wpcf7_scan_shortcode( $cond = null ) {
834
835
function wpcf7_form_controls_class( $type, $default = '' ) {
836
$type = trim( $type );
837
- $default = explode( ' ', $default );
838
839
$classes = array_merge( array( 'wpcf7-form-control' ), $default );
840
58
public function __construct( $post = null ) {
59
$this->initial = true;
60
61
+ $this->form = '';
62
+ $this->mail = array();
63
+ $this->mail_2 = array();
64
+ $this->messages = array();
65
+ $this->additional_settings = '';
66
+
67
$post = get_post( $post );
68
69
if ( $post && self::post_type == get_post_type( $post ) ) {
155
156
$enctype = apply_filters( 'wpcf7_form_enctype', '' );
157
158
+ $novalidate = apply_filters( 'wpcf7_form_novalidate',
159
+ wpcf7_support_html5() ? ' novalidate="novalidate"' : '' );
160
+
161
$form .= '<form action="' . esc_url_raw( $url ) . '" method="post"'
162
+ . ' class="' . esc_attr( $class ) . '"'
163
+ . $enctype . $novalidate . '>' . "\n";
164
165
$form .= $this->form_hidden_fields();
166
400
401
} else {
402
$result['message'] = $this->message( 'mail_sent_ng' );
403
+
404
+ do_action_ref_array( 'wpcf7_mail_failed', array( &$this ) );
405
}
406
407
if ( $ajax ) {
584
if ( $matches[1] == '[' && $matches[3] == ']' )
585
return substr( $matches[0], 1, -1 );
586
587
+ $tag = $matches[0];
588
+ $tagname = $matches[2];
589
+
590
+ $do_not_heat = false;
591
+
592
+ if ( preg_match( '/^_raw_(.+)#x2F;', $tagname, $matches ) ) {
593
+ $tagname = trim( $matches[1] );
594
+ $do_not_heat = true;
595
+ }
596
+
597
+ if ( isset( $this->posted_data[$tagname] ) ) {
598
+
599
+ if ( $do_not_heat )
600
+ $submitted = isset( $_POST[$tagname] ) ? $_POST[$tagname] : '';
601
+ else
602
+ $submitted = $this->posted_data[$tagname];
603
604
if ( is_array( $submitted ) )
605
$replaced = join( ', ', $submitted );
611
$replaced = wptexturize( $replaced );
612
}
613
614
+ $replaced = apply_filters( 'wpcf7_mail_tag_replaced', $replaced,
615
+ $submitted, $html );
616
617
return stripslashes( $replaced );
618
}
619
620
+ $special = apply_filters( 'wpcf7_special_mail_tags', '', $tagname, $html );
621
+
622
+ if ( ! empty( $special ) )
623
return $special;
624
625
+ return $tag;
626
}
627
628
/* Message */
673
/* Upgrade */
674
675
function upgrade() {
676
+ if ( is_array( $this->mail ) ) {
677
+ if ( ! isset( $this->mail['recipient'] ) )
678
+ $this->mail['recipient'] = get_option( 'admin_email' );
679
+ }
680
681
+ if ( is_array( $this->messages ) ) {
682
+ foreach ( wpcf7_messages() as $key => $arr ) {
683
+ if ( ! isset( $this->messages[$key] ) )
684
+ $this->messages[$key] = $arr['default'];
685
+ }
686
}
687
}
688
862
863
function wpcf7_form_controls_class( $type, $default = '' ) {
864
$type = trim( $type );
865
+ $default = array_filter( explode( ' ', $default ) );
866
867
$classes = array_merge( array( 'wpcf7-form-control' ), $default );
868
includes/controller.php CHANGED
@@ -228,7 +228,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.25.0-2013.01.18', true );
232
233
$in_footer = true;
234
if ( 'header' === WPCF7_LOAD_JS )
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.32.0-2013.04.03', true );
232
233
$in_footer = true;
234
if ( 'header' === WPCF7_LOAD_JS )
includes/css/styles.css CHANGED
@@ -60,6 +60,6 @@ div.wpcf7 img.ajax-loader {
60
margin-left: 4px;
61
}
62
63
- div.wpcf7 .watermark {
64
color: #888;
65
}
60
margin-left: 4px;
61
}
62
63
+ div.wpcf7 .placeheld {
64
color: #888;
65
}
includes/formatting.php CHANGED
@@ -118,4 +118,33 @@ function wpcf7_sanitize_unit_tag( $tag ) {
118
return $tag;
119
}
120
121
?>
118
return $tag;
119
}
120
121
+ function wpcf7_is_email( $email ) {
122
+ $result = is_email( $email );
123
+ return apply_filters( 'wpcf7_is_email', $result, $email );
124
+ }
125
+
126
+ function wpcf7_is_url( $url ) {
127
+ $result = ( false !== filter_var( $url, FILTER_VALIDATE_URL ) );
128
+ return apply_filters( 'wpcf7_is_url', $result, $url );
129
+ }
130
+
131
+ function wpcf7_is_tel( $tel ) {
132
+ $result = preg_match( '/^[0-9+-]*#x2F;', $tel );
133
+ return apply_filters( 'wpcf7_is_tel', $result, $tel );
134
+ }
135
+
136
+ function wpcf7_is_number( $number ) {
137
+ $result = is_numeric( $number );
138
+ return apply_filters( 'wpcf7_is_number', $result, $number );
139
+ }
140
+
141
+ function wpcf7_is_date( $date ) {
142
+ $result = preg_match( '/^([0-9]{4,})-([0-9]{2})-([0-9]{2})#x2F;', $date, $matches );
143
+
144
+ if ( $result )
145
+ $result = checkdate( $matches[2], $matches[3], $matches[1] );
146
+
147
+ return apply_filters( 'wpcf7_is_date', $result, $date );
148
+ }
149
+
150
?>
includes/functions.php CHANGED
@@ -51,11 +51,6 @@ function wpcf7_messages() {
51
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
52
),
53
54
- 'invalid_email' => array(
55
- 'description' => __( "Email address that the sender entered is invalid", 'wpcf7' ),
56
- 'default' => __( 'Email address seems invalid.', 'wpcf7' )
57
- ),
58
-
59
'invalid_required' => array(
60
'description' => __( "There is a field that the sender must fill in", 'wpcf7' ),
61
'default' => __( 'Please fill the required field.', 'wpcf7' )
@@ -135,47 +130,11 @@ function wpcf7_default_messages_template() {
135
}
136
137
function wpcf7_upload_dir( $type = false ) {
138
- global $switched;
139
-
140
- $siteurl = get_option( 'siteurl' );
141
- $upload_path = trim( get_option( 'upload_path' ) );
142
-
143
- $main_override = is_multisite() && defined( 'MULTISITE' ) && is_main_site();
144
-
145
- if ( empty( $upload_path ) ) {
146
- $dir = WP_CONTENT_DIR . '/uploads';
147
- } else {
148
- $dir = $upload_path;
149
-
150
- if ( 'wp-content/uploads' == $upload_path ) {
151
- $dir = WP_CONTENT_DIR . '/uploads';
152
- } elseif ( 0 !== strpos( $dir, ABSPATH ) ) {
153
- // $dir is absolute, $upload_path is (maybe) relative to ABSPATH
154
- $dir = path_join( ABSPATH, $dir );
155
- }
156
- }
157
-
158
- if ( ! $url = get_option( 'upload_url_path' ) ) {
159
- if ( empty( $upload_path )
160
- || ( 'wp-content/uploads' == $upload_path )
161
- || ( $upload_path == $dir ) )
162
- $url = WP_CONTENT_URL . '/uploads';
163
- else
164
- $url = trailingslashit( $siteurl ) . $upload_path;
165
- }
166
-
167
- if ( defined( 'UPLOADS' ) && ! $main_override
168
- && ( ! isset( $switched ) || $switched === false ) ) {
169
- $dir = ABSPATH . UPLOADS;
170
- $url = trailingslashit( $siteurl ) . UPLOADS;
171
-
172
- if ( is_multisite() && defined( 'BLOGUPLOADDIR' ) ) {
173
- $dir = untrailingslashit( BLOGUPLOADDIR );
174
- $url = str_replace( UPLOADS, 'files', $url );
175
- }
176
- }
177
178
- $uploads = apply_filters( 'wpcf7_upload_dir', array( 'dir' => $dir, 'url' => $url ) );
179
180
if ( 'dir' == $type )
181
return $uploads['dir'];
@@ -308,4 +267,33 @@ function wpcf7_array_flatten( $input ) {
308
return $output;
309
}
310
311
?>
51
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
52
),
53
54
'invalid_required' => array(
55
'description' => __( "There is a field that the sender must fill in", 'wpcf7' ),
56
'default' => __( 'Please fill the required field.', 'wpcf7' )
130
}
131
132
function wpcf7_upload_dir( $type = false ) {
133
+ $uploads = wp_upload_dir();
134
135
+ $uploads = apply_filters( 'wpcf7_upload_dir', array(
136
+ 'dir' => $uploads['basedir'],
137
+ 'url' => $uploads['baseurl'] ) );
138
139
if ( 'dir' == $type )
140
return $uploads['dir'];
267
return $output;
268
}
269
270
+ function wpcf7_support_html5() {
271
+ return (bool) apply_filters( 'wpcf7_support_html5', true );
272
+ }
273
+
274
+ function wpcf7_format_atts( $atts ) {
275
+ $html = '';
276
+
277
+ $prioritized_atts = array( 'type', 'name', 'value' );
278
+
279
+ foreach ( $prioritized_atts as $att ) {
280
+ if ( isset( $atts[$att] ) ) {
281
+ $value = trim( $atts[$att] );
282
+ $html .= sprintf( ' %s="%s"', $att, esc_attr( $value ) );
283
+ unset( $atts[$att] );
284
+ }
285
+ }
286
+
287
+ foreach ( $atts as $key => $value ) {
288
+ $value = trim( $value );
289
+
290
+ if ( '' !== $value )
291
+ $html .= sprintf( ' %s="%s"', $key, esc_attr( $value ) );
292
+ }
293
+
294
+ $html = trim( $html );
295
+
296
+ return $html;
297
+ }
298
+
299
?>
includes/js/jquery.form.js CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* jQuery Form Plugin
3
- * version: 3.25.0-2013.01.18
4
* @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
@@ -9,7 +9,7 @@
9
* http://malsup.github.com/mit-license.txt
10
* http://malsup.github.com/gpl-license-v2.txt
11
*/
12
- /*global ActiveXObject alert */
13
;(function($) {
14
"use strict";
15
@@ -37,7 +37,7 @@
37
target: '#output'
38
});
39
});
40
-
41
You can also use ajaxForm with delegation (requires jQuery v1.7+), so the
42
form does not have to exist when you invoke ajaxForm:
43
@@ -45,7 +45,7 @@
45
delegation: true,
46
target: '#output'
47
});
48
-
49
When using ajaxForm, the ajaxSubmit function will be invoked for you
50
at the appropriate time.
51
*/
@@ -57,6 +57,21 @@ var feature = {};
57
feature.fileapi = $("<input type='file'/>").get(0).files !== undefined;
58
feature.formdata = window.FormData !== undefined;
59
60
/**
61
* ajaxSubmit() provides a mechanism for immediately submitting
62
* an HTML form using AJAX.
@@ -69,15 +84,16 @@ $.fn.ajaxSubmit = function(options) {
69
log('ajaxSubmit: skipping submit process - no element selected');
70
return this;
71
}
72
-
73
var method, action, url, $form = this;
74
75
if (typeof options == 'function') {
76
options = { success: options };
77
}
78
79
- method = this.attr('method');
80
- action = this.attr('action');
81
url = (typeof action === 'string') ? $.trim(action) : '';
82
url = url || window.location.href || '';
83
if (url) {
@@ -111,7 +127,7 @@ $.fn.ajaxSubmit = function(options) {
111
if ( traditional === undefined ) {
112
traditional = $.ajaxSettings.traditional;
113
}
114
-
115
var elements = [];
116
var qx, a = this.formToArray(options.semantic, elements);
117
if (options.data) {
@@ -135,7 +151,7 @@ $.fn.ajaxSubmit = function(options) {
135
var q = $.param(a, traditional);
136
if (qx) {
137
q = ( q ? (q + '&' + qx) : qx );
138
- }
139
if (options.type.toUpperCase() == 'GET') {
140
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
141
options.data = null; // data is null for 'get'
@@ -165,7 +181,7 @@ $.fn.ajaxSubmit = function(options) {
165
}
166
167
options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
168
- var context = options.context || this ; // jQuery 1.4+ supports scope context
169
for (var i=0, max=callbacks.length; i < max; i++) {
170
callbacks[i].apply(context, [data, status, xhr || $form, $form]);
171
}
@@ -175,7 +191,7 @@ $.fn.ajaxSubmit = function(options) {
175
176
// [value] (issue #113), also see comment:
177
// https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219
178
- var fileInputs = $('input[type=file]:enabled[value!=""]', this);
179
180
var hasFileInputs = fileInputs.length > 0;
181
var mp = 'multipart/form-data';
@@ -222,13 +238,14 @@ $.fn.ajaxSubmit = function(options) {
222
function deepSerialize(extraData){
223
var serialized = $.param(extraData).split('&');
224
var len = serialized.length;
225
- var result = {};
226
var i, part;
227
for (i=0; i < len; i++) {
228
// #252; undo param space replacement
229
serialized[i] = serialized[i].replace(/\+/g,' ');
230
part = serialized[i].split('=');
231
- result[decodeURIComponent(part[0])] = decodeURIComponent(part[1]);
232
}
233
return result;
234
}
@@ -243,9 +260,9 @@ $.fn.ajaxSubmit = function(options) {
243
244
if (options.extraData) {
245
var serializedData = deepSerialize(options.extraData);
246
- for (var p in serializedData)
247
- if (serializedData.hasOwnProperty(p))
248
- formdata.append(p, serializedData[p]);
249
}
250
251
options.data = null;
@@ -256,13 +273,13 @@ $.fn.ajaxSubmit = function(options) {
256
cache: false,
257
type: method || 'POST'
258
});
259
-
260
if (options.uploadProgress) {
261
// workaround because jqXHR does not expose upload property
262
s.xhr = function() {
263
var xhr = jQuery.ajaxSettings.xhr();
264
if (xhr.upload) {
265
- xhr.upload.onprogress = function(event) {
266
var percent = 0;
267
var position = event.loaded || event.position; /*event.position is deprecated*/
268
var total = event.total;
@@ -270,7 +287,7 @@ $.fn.ajaxSubmit = function(options) {
270
percent = Math.ceil(position / total * 100);
271
}
272
options.uploadProgress(event, position, total, percent);
273
- };
274
}
275
return xhr;
276
};
@@ -289,22 +306,13 @@ $.fn.ajaxSubmit = function(options) {
289
// private function for handling file uploads (hat tip to YAHOO!)
290
function fileUploadIframe(a) {
291
var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
292
- var useProp = !!$.fn.prop;
293
var deferred = $.Deferred();
294
295
- if ($('[name=submit],[id=submit]', form).length) {
296
- // if there is an input with a name or id of 'submit' then we won't be
297
- // able to invoke the submit fn on the form (at least not x-browser)
298
- alert('Error: Form elements must not have name or id of "submit".');
299
- deferred.reject();
300
- return deferred;
301
- }
302
-
303
if (a) {
304
// ensure that every serialized input is still enabled
305
for (i=0; i < elements.length; i++) {
306
el = $(elements[i]);
307
- if ( useProp )
308
el.prop('disabled', false);
309
else
310
el.removeAttr('disabled');
@@ -316,9 +324,9 @@ $.fn.ajaxSubmit = function(options) {
316
id = 'jqFormIO' + (new Date().getTime());
317
if (s.iframeTarget) {
318
$io = $(s.iframeTarget);
319
- n = $io.attr('name');
320
if (!n)
321
- $io.attr('name', id);
322
else
323
id = n;
324
}
@@ -347,7 +355,7 @@ $.fn.ajaxSubmit = function(options) {
347
if (io.contentWindow.document.execCommand) {
348
io.contentWindow.document.execCommand('Stop');
349
}
350
- }
351
catch(ignore) {}
352
353
$io.attr('src', s.iframeSrc); // abort op in progress
@@ -395,15 +403,44 @@ $.fn.ajaxSubmit = function(options) {
395
}
396
}
397
}
398
-
399
var CLIENT_TIMEOUT_ABORT = 1;
400
var SERVER_ABORT = 2;
401
-
402
function getDoc(frame) {
403
- var doc = frame.contentWindow ? frame.contentWindow.document : frame.contentDocument ? frame.contentDocument : frame.document;
404
return doc;
405
}
406
-
407
// Rails CSRF hack (thanks to Yvan Barthelemy)
408
var csrf_token = $('meta[name=csrf-token]').attr('content');
409
var csrf_param = $('meta[name=csrf-param]').attr('content');
@@ -415,7 +452,7 @@ $.fn.ajaxSubmit = function(options) {
415
// take a breath so that pending repaints get some cpu time before the upload starts
416
function doSubmit() {
417
// make sure form attrs are set
418
- var t = $form.attr('target'), a = $form.attr('action');
419
420
// update form attrs in IE friendly way
421
form.setAttribute('target',id);
@@ -438,7 +475,7 @@ $.fn.ajaxSubmit = function(options) {
438
if (s.timeout) {
439
timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
440
}
441
-
442
// look for server aborts
443
function checkState() {
444
try {
@@ -485,7 +522,14 @@ $.fn.ajaxSubmit = function(options) {
485
io.addEventListener('load', cb, false);
486
}
487
setTimeout(checkState,15);
488
- form.submit();
489
}
490
finally {
491
// reset attrs and remove "extra" input elements
@@ -512,11 +556,10 @@ $.fn.ajaxSubmit = function(options) {
512
if (xhr.aborted || callbackProcessed) {
513
return;
514
}
515
- try {
516
- doc = getDoc(io);
517
- }
518
- catch(ex) {
519
- log('cannot access response document: ', ex);
520
e = SERVER_ABORT;
521
}
522
if (e === CLIENT_TIMEOUT_ABORT && xhr) {
@@ -537,7 +580,7 @@ $.fn.ajaxSubmit = function(options) {
537
}
538
if (io.detachEvent)
539
io.detachEvent('onload', cb);
540
- else
541
io.removeEventListener('load', cb, false);
542
543
var status = 'success', errMsg;
@@ -607,15 +650,15 @@ $.fn.ajaxSubmit = function(options) {
607
try {
608
data = httpData(xhr, dt, s);
609
}
610
- catch (e) {
611
status = 'parsererror';
612
- xhr.error = errMsg = (e || status);
613
}
614
}
615
- catch (e) {
616
- log('error caught: ',e);
617
status = 'error';
618
- xhr.error = errMsg = (e || status);
619
}
620
621
if (xhr.aborted) {
@@ -728,7 +771,7 @@ $.fn.ajaxSubmit = function(options) {
728
$.fn.ajaxForm = function(options) {
729
options = options || {};
730
options.delegation = options.delegation && $.isFunction($.fn.on);
731
-
732
// in jQuery 1.3+ we can fix mistakes with the ready state
733
if (!options.delegation && this.length === 0) {
734
var o = { s: this.selector, c: this.context };
@@ -758,7 +801,7 @@ $.fn.ajaxForm = function(options) {
758
.bind('click.form-plugin', options, captureSubmittingElement);
759
};
760
761
- // private event handlers
762
function doAjaxSubmit(e) {
763
/*jshint validthis:true */
764
var options = e.data;
@@ -767,7 +810,7 @@ function doAjaxSubmit(e) {
767
$(this).ajaxSubmit(options);
768
}
769
}
770
-
771
function captureSubmittingElement(e) {
772
/*jshint validthis:true */
773
var target = e.target;
@@ -832,13 +875,13 @@ $.fn.formToArray = function(semantic, elements) {
832
for(i=0, max=els.length; i < max; i++) {
833
el = els[i];
834
n = el.name;
835
- if (!n) {
836
continue;
837
}
838
839
if (semantic && form.clk && el.type == "image") {
840
// handle image inputs on the fly when semantic == true
841
- if(!el.disabled && form.clk == el) {
842
a.push({name: n, value: $(el).val(), type: el.type });
843
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
844
}
@@ -847,14 +890,14 @@ $.fn.formToArray = function(semantic, elements) {
847
848
v = $.fieldValue(el, true);
849
if (v && v.constructor == Array) {
850
- if (elements)
851
elements.push(el);
852
for(j=0, jmax=v.length; j < jmax; j++) {
853
a.push({name: n, value: v[j]});
854
}
855
}
856
- else if (feature.fileapi && el.type == 'file' && !el.disabled) {
857
- if (elements)
858
elements.push(el);
859
var files = el.files;
860
if (files.length) {
@@ -868,7 +911,7 @@ $.fn.formToArray = function(semantic, elements) {
868
}
869
}
870
else if (v !== null && typeof v != 'undefined') {
871
- if (elements)
872
elements.push(el);
873
a.push({name: n, value: v, type: el.type, required: el.required});
874
}
@@ -1047,7 +1090,7 @@ $.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
1047
}
1048
else if (t == "file") {
1049
if (/MSIE/.test(navigator.userAgent)) {
1050
- $(this).replaceWith($(this).clone());
1051
} else {
1052
$(this).val('');
1053
}
@@ -1118,7 +1161,7 @@ $.fn.ajaxSubmit.debug = false;
1118
1119
// helper fn for console logging
1120
function log() {
1121
- if (!$.fn.ajaxSubmit.debug)
1122
return;
1123
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
1124
if (window.console && window.console.log) {
1
/*!
2
* jQuery Form Plugin
3
+ * version: 3.32.0-2013.04.03
4
* @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
9
* http://malsup.github.com/mit-license.txt
10
* http://malsup.github.com/gpl-license-v2.txt
11
*/
12
+ /*global ActiveXObject */
13
;(function($) {
14
"use strict";
15
37
target: '#output'
38
});
39
});
40
+
41
You can also use ajaxForm with delegation (requires jQuery v1.7+), so the
42
form does not have to exist when you invoke ajaxForm:
43
45
delegation: true,
46
target: '#output'
47
});
48
+
49
When using ajaxForm, the ajaxSubmit function will be invoked for you
50
at the appropriate time.
51
*/
57
feature.fileapi = $("<input type='file'/>").get(0).files !== undefined;
58
feature.formdata = window.FormData !== undefined;
59
60
+ var hasProp = !!$.fn.prop;
61
+
62
+ // attr2 uses prop when it can but checks the return type for
63
+ // an expected string. this accounts for the case where a form
64
+ // contains inputs with names like "action" or "method"; in those
65
+ // cases "prop" returns the element
66
+ $.fn.attr2 = function() {
67
+ if ( ! hasProp )
68
+ return this.attr.apply(this, arguments);
69
+ var val = this.prop.apply(this, arguments);
70
+ if ( ( val && val.jquery ) || typeof val === 'string' )
71
+ return val;
72
+ return this.attr.apply(this, arguments);
73
+ };
74
+
75
/**
76
* ajaxSubmit() provides a mechanism for immediately submitting
77
* an HTML form using AJAX.
84
log('ajaxSubmit: skipping submit process - no element selected');
85
return this;
86
}
87
+
88
var method, action, url, $form = this;
89
90
if (typeof options == 'function') {
91
options = { success: options };
92
}
93
94
+ method = this.attr2('method');
95
+ action = this.attr2('action');
96
+
97
url = (typeof action === 'string') ? $.trim(action) : '';
98
url = url || window.location.href || '';
99
if (url) {
127
if ( traditional === undefined ) {
128
traditional = $.ajaxSettings.traditional;
129
}
130
+
131
var elements = [];
132
var qx, a = this.formToArray(options.semantic, elements);
133
if (options.data) {
151
var q = $.param(a, traditional);
152
if (qx) {
153
q = ( q ? (q + '&' + qx) : qx );
154
+ }
155
if (options.type.toUpperCase() == 'GET') {
156
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
157
options.data = null; // data is null for 'get'
181
}
182
183
options.success = function(data, status, xhr) { // jQuery 1.4+ passes xhr as 3rd arg
184
+ var context = options.context || this ; // jQuery 1.4+ supports scope context
185
for (var i=0, max=callbacks.length; i < max; i++) {
186
callbacks[i].apply(context, [data, status, xhr || $form, $form]);
187
}
191
192
// [value] (issue #113), also see comment:
193
// https://github.com/malsup/form/commit/588306aedba1de01388032d5f42a60159eea9228#commitcomment-2180219
194
+ var fileInputs = $('input[type=file]:enabled[value!=""]', this);
195
196
var hasFileInputs = fileInputs.length > 0;
197
var mp = 'multipart/form-data';
238
function deepSerialize(extraData){
239
var serialized = $.param(extraData).split('&');
240
var len = serialized.length;
241
+ var result = [];
242
var i, part;
243
for (i=0; i < len; i++) {
244
// #252; undo param space replacement
245
serialized[i] = serialized[i].replace(/\+/g,' ');
246
part = serialized[i].split('=');
247
+ // #278; use array instead of object storage, favoring array serializations
248
+ result.push([decodeURIComponent(part[0]), decodeURIComponent(part[1])]);
249
}
250
return result;
251
}
260
261
if (options.extraData) {
262
var serializedData = deepSerialize(options.extraData);
263
+ for (i=0; i < serializedData.length; i++)
264
+ if (serializedData[i])
265
+ formdata.append(serializedData[i][0], serializedData[i][1]);
266
}
267
268
options.data = null;
273
cache: false,
274
type: method || 'POST'
275
});
276
+
277
if (options.uploadProgress) {
278
// workaround because jqXHR does not expose upload property
279
s.xhr = function() {
280
var xhr = jQuery.ajaxSettings.xhr();
281
if (xhr.upload) {
282
+ xhr.upload.addEventListener('progress', function(event) {
283
var percent = 0;
284
var position = event.loaded || event.position; /*event.position is deprecated*/
285
var total = event.total;
287
percent = Math.ceil(position / total * 100);
288
}
289
options.uploadProgress(event, position, total, percent);
290
+ }, false);
291
}
292
return xhr;
293
};
306
// private function for handling file uploads (hat tip to YAHOO!)
307
function fileUploadIframe(a) {
308
var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
309
var deferred = $.Deferred();
310
311
if (a) {
312
// ensure that every serialized input is still enabled
313
for (i=0; i < elements.length; i++) {
314
el = $(elements[i]);
315
+ if ( hasProp )
316
el.prop('disabled', false);
317
else
318
el.removeAttr('disabled');
324
id = 'jqFormIO' + (new Date().getTime());
325
if (s.iframeTarget) {
326
$io = $(s.iframeTarget);
327
+ n = $io.attr2('name');
328
if (!n)
329
+ $io.attr2('name', id);
330
else
331
id = n;
332
}
355
if (io.contentWindow.document.execCommand) {
356
io.contentWindow.document.execCommand('Stop');
357
}
358
+ }
359
catch(ignore) {}
360
361
$io.attr('src', s.iframeSrc); // abort op in progress
403
}
404
}
405
}
406
+
407
var CLIENT_TIMEOUT_ABORT = 1;
408
var SERVER_ABORT = 2;
409
+
410
function getDoc(frame) {
411
+ /* it looks like contentWindow or contentDocument do not
412
+ * carry the protocol property in ie8, when running under ssl
413
+ * frame.document is the only valid response document, since
414
+ * the protocol is know but not on the other two objects. strange?
415
+ * "Same origin policy" http://en.wikipedia.org/wiki/Same_origin_policy
416
+ */
417
+
418
+ var doc = null;
419
+
420
+ // IE8 cascading access check
421
+ try {
422
+ if (frame.contentWindow) {
423
+ doc = frame.contentWindow.document;
424
+ }
425
+ } catch(err) {
426
+ // IE8 access denied under ssl & missing protocol
427
+ log('cannot get iframe.contentWindow document: ' + err);
428
+ }
429
+
430
+ if (doc) { // successful getting content
431
+ return doc;
432
+ }
433
+
434
+ try { // simply checking may throw in ie8 under ssl or mismatched protocol
435
+ doc = frame.contentDocument ? frame.contentDocument : frame.document;
436
+ } catch(err) {
437
+ // last attempt
438
+ log('cannot get iframe.contentDocument: ' + err);
439
+ doc = frame.document;
440
+ }
441
return doc;
442
}
443
+
444
// Rails CSRF hack (thanks to Yvan Barthelemy)
445
var csrf_token = $('meta[name=csrf-token]').attr('content');
446
var csrf_param = $('meta[name=csrf-param]').attr('content');
452
// take a breath so that pending repaints get some cpu time before the upload starts
453
function doSubmit() {
454
// make sure form attrs are set
455
+ var t = $form.attr2('target'), a = $form.attr2('action');
456
457
// update form attrs in IE friendly way
458
form.setAttribute('target',id);
475
if (s.timeout) {
476
timeoutHandle = setTimeout(function() { timedOut = true; cb(CLIENT_TIMEOUT_ABORT); }, s.timeout);
477
}
478
+
479
// look for server aborts
480
function checkState() {
481
try {
522
io.addEventListener('load', cb, false);
523
}
524
setTimeout(checkState,15);
525
+
526
+ try {
527
+ form.submit();
528
+ } catch(err) {
529
+ // just in case form has element with name/id of 'submit'
530
+ var submitFn = document.createElement('form').submit;
531
+ submitFn.apply(form);
532
+ }
533
}
534
finally {
535
// reset attrs and remove "extra" input elements
556
if (xhr.aborted || callbackProcessed) {
557
return;
558
}
559
+
560
+ doc = getDoc(io);
561
+ if(!doc) {
562
+ log('cannot access response document');
563
e = SERVER_ABORT;
564
}
565
if (e === CLIENT_TIMEOUT_ABORT && xhr) {
580
}
581
if (io.detachEvent)
582
io.detachEvent('onload', cb);
583
+ else
584
io.removeEventListener('load', cb, false);
585
586
var status = 'success', errMsg;
650
try {
651
data = httpData(xhr, dt, s);
652
}
653
+ catch (err) {
654
status = 'parsererror';
655
+ xhr.error = errMsg = (err || status);
656
}
657
}
658
+ catch (err) {
659
+ log('error caught: ',err);
660
status = 'error';
661
+ xhr.error = errMsg = (err || status);
662
}
663
664
if (xhr.aborted) {
771
$.fn.ajaxForm = function(options) {
772
options = options || {};
773
options.delegation = options.delegation && $.isFunction($.fn.on);
774
+
775
// in jQuery 1.3+ we can fix mistakes with the ready state
776
if (!options.delegation && this.length === 0) {
777
var o = { s: this.selector, c: this.context };
801
.bind('click.form-plugin', options, captureSubmittingElement);
802
};
803
804
+ // private event handlers
805
function doAjaxSubmit(e) {
806
/*jshint validthis:true */
807
var options = e.data;
810
$(this).ajaxSubmit(options);
811
}
812
}
813
+
814
function captureSubmittingElement(e) {
815
/*jshint validthis:true */
816
var target = e.target;
875
for(i=0, max=els.length; i < max; i++) {
876
el = els[i];
877
n = el.name;
878
+ if (!n || el.disabled) {
879
continue;
880
}
881
882
if (semantic && form.clk && el.type == "image") {
883
// handle image inputs on the fly when semantic == true
884
+ if(form.clk == el) {
885
a.push({name: n, value: $(el).val(), type: el.type });
886
a.push({name: n+'.x', value: form.clk_x}, {name: n+'.y', value: form.clk_y});
887
}
890
891
v = $.fieldValue(el, true);
892
if (v && v.constructor == Array) {
893
+ if (elements)
894
elements.push(el);
895
for(j=0, jmax=v.length; j < jmax; j++) {
896
a.push({name: n, value: v[j]});
897
}
898
}
899
+ else if (feature.fileapi && el.type == 'file') {
900
+ if (elements)
901
elements.push(el);
902
var files = el.files;
903
if (files.length) {
911
}
912
}
913
else if (v !== null && typeof v != 'undefined') {
914
+ if (elements)
915
elements.push(el);
916
a.push({name: n, value: v, type: el.type, required: el.required});
917
}
1090
}
1091
else if (t == "file") {
1092
if (/MSIE/.test(navigator.userAgent)) {
1093
+ $(this).replaceWith($(this).clone(true));
1094
} else {
1095
$(this).val('');
1096
}
1161
1162
// helper fn for console logging
1163
function log() {
1164
+ if (!$.fn.ajaxSubmit.debug)
1165
return;
1166
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
1167
if (window.console && window.console.log) {
includes/js/jquery.form.min.js CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* jQuery Form Plugin
3
- * version: 3.25.0-2013.01.18
4
* @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
@@ -9,4 +9,4 @@
9
* http://malsup.github.com/mit-license.txt
10
* http://malsup.github.com/gpl-license-v2.txt
11
*/
12
- (function(e){var c={};c.fileapi=e("<input type='file'/>").get(0).files!==undefined;c.formdata=window.FormData!==undefined;e.fn.ajaxSubmit=function(h){if(!this.length){d("ajaxSubmit: skipping submit process - no element selected");return this}var g,y,j,m=this;if(typeof h=="function"){h={success:h}}g=this.attr("method");y=this.attr("action");j=(typeof y==="string")?e.trim(y):"";j=j||window.location.href||"";if(j){j=(j.match(/^([^#]+)/)||[])[1]}h=e.extend(true,{url:j,success:e.ajaxSettings.success,type:g||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},h);var s={};this.trigger("form-pre-serialize",[this,h,s]);if(s.veto){d("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(h.beforeSerialize&&h.beforeSerialize(this,h)===false){d("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var l=h.traditional;if(l===undefined){l=e.ajaxSettings.traditional}var p=[];var B,C=this.formToArray(h.semantic,p);if(h.data){h.extraData=h.data;B=e.param(h.data,l)}if(h.beforeSubmit&&h.beforeSubmit(C,this,h)===false){d("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[C,this,h,s]);if(s.veto){d("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var w=e.param(C,l);if(B){w=(w?(w+"&"+B):B)}if(h.type.toUpperCase()=="GET"){h.url+=(h.url.indexOf("?")>=0?"&":"?")+w;h.data=null}else{h.data=w}var E=[];if(h.resetForm){E.push(function(){m.resetForm()})}if(h.clearForm){E.push(function(){m.clearForm(h.includeHidden)})}if(!h.dataType&&h.target){var i=h.success||function(){};E.push(function(q){var k=h.replaceTarget?"replaceWith":"html";e(h.target)[k](q).each(i,arguments)})}else{if(h.success){E.push(h.success)}}h.success=function(H,q,I){var G=h.context||this;for(var F=0,k=E.length;F<k;F++){E[F].apply(G,[H,q,I||m,m])}};var A=e('input[type=file]:enabled[value!=""]',this);var n=A.length>0;var z="multipart/form-data";var v=(m.attr("enctype")==z||m.attr("encoding")==z);var u=c.fileapi&&c.formdata;d("fileAPI :"+u);var o=(n||v)&&!u;var t;if(h.iframe!==false&&(h.iframe||o)){if(h.closeKeepAlive){e.get(h.closeKeepAlive,function(){t=D(C)})}else{t=D(C)}}else{if((n||v)&&u){t=r(C)}else{t=e.ajax(h)}}m.removeData("jqxhr").data("jqxhr",t);for(var x=0;x<p.length;x++){p[x]=null}this.trigger("form-submit-notify",[this,h]);return this;function f(H){var I=e.param(H).split("&");var q=I.length;var k={};var G,F;for(G=0;G<q;G++){I[G]=I[G].replace(/\+/g," ");F=I[G].split("=");k[decodeURIComponent(F[0])]=decodeURIComponent(F[1])}return k}function r(q){var k=new FormData();for(var F=0;F<q.length;F++){k.append(q[F].name,q[F].value)}if(h.extraData){var I=f(h.extraData);for(var J in I){if(I.hasOwnProperty(J)){k.append(J,I[J])}}}h.data=null;var H=e.extend(true,{},e.ajaxSettings,h,{contentType:false,processData:false,cache:false,type:g||"POST"});if(h.uploadProgress){H.xhr=function(){var K=jQuery.ajaxSettings.xhr();if(K.upload){K.upload.onprogress=function(O){var N=0;var L=O.loaded||O.position;var M=O.total;if(O.lengthComputable){N=Math.ceil(L/M*100)}h.uploadProgress(O,L,M,N)}}return K}}H.data=null;var G=H.beforeSend;H.beforeSend=function(L,K){K.data=k;if(G){G.call(this,L,K)}};return e.ajax(H)}function D(ad){var I=m[0],H,Z,T,ab,W,K,O,M,N,X,aa,R;var L=!!e.fn.prop;var ag=e.Deferred();if(e("[name=submit],[id=submit]",I).length){alert('Error: Form elements must not have name or id of "submit".');ag.reject();return ag}if(ad){for(Z=0;Z<p.length;Z++){H=e(p[Z]);if(L){H.prop("disabled",false)}else{H.removeAttr("disabled")}}}T=e.extend(true,{},e.ajaxSettings,h);T.context=T.context||T;W="jqFormIO"+(new Date().getTime());if(T.iframeTarget){K=e(T.iframeTarget);X=K.attr("name");if(!X){K.attr("name",W)}else{W=X}}else{K=e('<iframe name="'+W+'" src="'+T.iframeSrc+'" />');K.css({position:"absolute",top:"-1000px",left:"-1000px"})}O=K[0];M={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(ah){var ai=(ah==="timeout"?"timeout":"aborted");d("aborting upload... "+ai);this.aborted=1;try{if(O.contentWindow.document.execCommand){O.contentWindow.document.execCommand("Stop")}}catch(aj){}K.attr("src",T.iframeSrc);M.error=ai;if(T.error){T.error.call(T.context,M,ai,ah)}if(ab){e.event.trigger("ajaxError",[M,T,ai])}if(T.complete){T.complete.call(T.context,M,ai)}}};ab=T.global;if(ab&&0===e.active++){e.event.trigger("ajaxStart")}if(ab){e.event.trigger("ajaxSend",[M,T])}if(T.beforeSend&&T.beforeSend.call(T.context,M,T)===false){if(T.global){e.active--}ag.reject();return ag}if(M.aborted){ag.reject();return ag}N=I.clk;if(N){X=N.name;if(X&&!N.disabled){T.extraData=T.extraData||{};T.extraData[X]=N.value;if(N.type=="image"){T.extraData[X+".x"]=I.clk_x;T.extraData[X+".y"]=I.clk_y}}}var S=1;var P=2;function Q(ai){var ah=ai.contentWindow?ai.contentWindow.document:ai.contentDocument?ai.contentDocument:ai.document;return ah}var G=e("meta[name=csrf-token]").attr("content");var F=e("meta[name=csrf-param]").attr("content");if(F&&G){T.extraData=T.extraData||{};T.extraData[F]=G}function Y(){var aj=m.attr("target"),ah=m.attr("action");I.setAttribute("target",W);if(!g){I.setAttribute("method","POST")}if(ah!=T.url){I.setAttribute("action",T.url)}if(!T.skipEncodingOverride&&(!g||/post/i.test(g))){m.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(T.timeout){R=setTimeout(function(){aa=true;V(S)},T.timeout)}function ak(){try{var am=Q(O).readyState;d("state = "+am);if(am&&am.toLowerCase()=="uninitialized"){setTimeout(ak,50)}}catch(an){d("Server abort: ",an," (",an.name,")");V(P);if(R){clearTimeout(R)}R=undefined}}var ai=[];try{if(T.extraData){for(var al in T.extraData){if(T.extraData.hasOwnProperty(al)){if(e.isPlainObject(T.extraData[al])&&T.extraData[al].hasOwnProperty("name")&&T.extraData[al].hasOwnProperty("value")){ai.push(e('<input type="hidden" name="'+T.extraData[al].name+'">').val(T.extraData[al].value).appendTo(I)[0])}else{ai.push(e('<input type="hidden" name="'+al+'">').val(T.extraData[al]).appendTo(I)[0])}}}}if(!T.iframeTarget){K.appendTo("body");if(O.attachEvent){O.attachEvent("onload",V)}else{O.addEventListener("load",V,false)}}setTimeout(ak,15);I.submit()}finally{I.setAttribute("action",ah);if(aj){I.setAttribute("target",aj)}else{m.removeAttr("target")}e(ai).remove()}}if(T.forceSync){Y()}else{setTimeout(Y,10)}var ae,af,ac=50,J;function V(am){if(M.aborted||J){return}try{af=Q(O)}catch(ap){d("cannot access response document: ",ap);am=P}if(am===S&&M){M.abort("timeout");ag.reject(M,"timeout");return}else{if(am==P&&M){M.abort("server abort");ag.reject(M,"error","server abort");return}}if(!af||af.location.href==T.iframeSrc){if(!aa){return}}if(O.detachEvent){O.detachEvent("onload",V)}else{O.removeEventListener("load",V,false)}var ak="success",ao;try{if(aa){throw"timeout"}var aj=T.dataType=="xml"||af.XMLDocument||e.isXMLDoc(af);d("isXml="+aj);if(!aj&&window.opera&&(af.body===null||!af.body.innerHTML)){if(--ac){d("requeing onLoad callback, DOM not available");setTimeout(V,250);return}}var aq=af.body?af.body:af.documentElement;M.responseText=aq?aq.innerHTML:null;M.responseXML=af.XMLDocument?af.XMLDocument:af;if(aj){T.dataType="xml"}M.getResponseHeader=function(au){var at={"content-type":T.dataType};return at[au]};if(aq){M.status=Number(aq.getAttribute("status"))||M.status;M.statusText=aq.getAttribute("statusText")||M.statusText}var ah=(T.dataType||"").toLowerCase();var an=/(json|script|text)/.test(ah);if(an||T.textarea){var al=af.getElementsByTagName("textarea")[0];if(al){M.responseText=al.value;M.status=Number(al.getAttribute("status"))||M.status;M.statusText=al.getAttribute("statusText")||M.statusText}else{if(an){var ai=af.getElementsByTagName("pre")[0];var ar=af.getElementsByTagName("body")[0];if(ai){M.responseText=ai.textContent?ai.textContent:ai.innerText}else{if(ar){M.responseText=ar.textContent?ar.textContent:ar.innerText}}}}}else{if(ah=="xml"&&!M.responseXML&&M.responseText){M.responseXML=U(M.responseText)}}try{ae=k(M,ah,T)}catch(am){ak="parsererror";M.error=ao=(am||ak)}}catch(am){d("error caught: ",am);ak="error";M.error=ao=(am||ak)}if(M.aborted){d("upload aborted");ak=null}if(M.status){ak=(M.status>=200&&M.status<300||M.status===304)?"success":"error"}if(ak==="success"){if(T.success){T.success.call(T.context,ae,"success",M)}ag.resolve(M.responseText,"success",M);if(ab){e.event.trigger("ajaxSuccess",[M,T])}}else{if(ak){if(ao===undefined){ao=M.statusText}if(T.error){T.error.call(T.context,M,ak,ao)}ag.reject(M,"error",ao);if(ab){e.event.trigger("ajaxError",[M,T,ao])}}}if(ab){e.event.trigger("ajaxComplete",[M,T])}if(ab&&!--e.active){e.event.trigger("ajaxStop")}if(T.complete){T.complete.call(T.context,M,ak)}J=true;if(T.timeout){clearTimeout(R)}setTimeout(function(){if(!T.iframeTarget){K.remove()}M.responseXML=null},100)}var U=e.parseXML||function(ah,ai){if(window.ActiveXObject){ai=new ActiveXObject("Microsoft.XMLDOM");ai.async="false";ai.loadXML(ah)}else{ai=(new DOMParser()).parseFromString(ah,"text/xml")}return(ai&&ai.documentElement&&ai.documentElement.nodeName!="parsererror")?ai:null};var q=e.parseJSON||function(ah){return window["eval"]("("+ah+")")};var k=function(am,ak,aj){var ai=am.getResponseHeader("content-type")||"",ah=ak==="xml"||!ak&&ai.indexOf("xml")>=0,al=ah?am.responseXML:am.responseText;if(ah&&al.documentElement.nodeName==="parsererror"){if(e.error){e.error("parsererror")}}if(aj&&aj.dataFilter){al=aj.dataFilter(al,ak)}if(typeof al==="string"){if(ak==="json"||!ak&&ai.indexOf("json")>=0){al=q(al)}else{if(ak==="script"||!ak&&ai.indexOf("javascript")>=0){e.globalEval(al)}}}return al};return ag}};e.fn.ajaxForm=function(f){f=f||{};f.delegation=f.delegation&&e.isFunction(e.fn.on);if(!f.delegation&&this.length===0){var g={s:this.selector,c:this.context};if(!e.isReady&&g.s){d("DOM not ready, queuing ajaxForm");e(function(){e(g.s,g.c).ajaxForm(f)});return this}d("terminating; zero elements found by selector"+(e.isReady?"":" (DOM not ready)"));return this}if(f.delegation){e(document).off("submit.form-plugin",this.selector,b).off("click.form-plugin",this.selector,a).on("submit.form-plugin",this.selector,f,b).on("click.form-plugin",this.selector,f,a);return this}return this.ajaxFormUnbind().bind("submit.form-plugin",f,b).bind("click.form-plugin",f,a)};function b(g){var f=g.data;if(!g.isDefaultPrevented()){g.preventDefault();e(this).ajaxSubmit(f)}}function a(j){var i=j.target;var g=e(i);if(!(g.is("[type=submit],[type=image]"))){var f=g.closest("[type=submit]");if(f.length===0){return}i=f[0]}var h=this;h.clk=i;if(i.type=="image"){if(j.offsetX!==undefined){h.clk_x=j.offsetX;h.clk_y=j.offsetY}else{if(typeof e.fn.offset=="function"){var k=g.offset();h.clk_x=j.pageX-k.left;h.clk_y=j.pageY-k.top}else{h.clk_x=j.pageX-i.offsetLeft;h.clk_y=j.pageY-i.offsetTop}}}setTimeout(function(){h.clk=h.clk_x=h.clk_y=null},100)}e.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};e.fn.formToArray=function(w,f){var u=[];if(this.length===0){return u}var k=this[0];var o=w?k.getElementsByTagName("*"):k.elements;if(!o){return u}var q,p,m,x,l,s,h;for(q=0,s=o.length;q<s;q++){l=o[q];m=l.name;if(!m){continue}if(w&&k.clk&&l.type=="image"){if(!l.disabled&&k.clk==l){u.push({name:m,value:e(l).val(),type:l.type});u.push({name:m+".x",value:k.clk_x},{name:m+".y",value:k.clk_y})}continue}x=e.fieldValue(l,true);if(x&&x.constructor==Array){if(f){f.push(l)}for(p=0,h=x.length;p<h;p++){u.push({name:m,value:x[p]})}}else{if(c.fileapi&&l.type=="file"&&!l.disabled){if(f){f.push(l)}var g=l.files;if(g.length){for(p=0;p<g.length;p++){u.push({name:m,value:g[p],type:l.type})}}else{u.push({name:m,value:"",type:l.type})}}else{if(x!==null&&typeof x!="undefined"){if(f){f.push(l)}u.push({name:m,value:x,type:l.type,required:l.required})}}}}if(!w&&k.clk){var r=e(k.clk),t=r[0];m=t.name;if(m&&!t.disabled&&t.type=="image"){u.push({name:m,value:r.val()});u.push({name:m+".x",value:k.clk_x},{name:m+".y",value:k.clk_y})}}return u};e.fn.formSerialize=function(f){return e.param(this.formToArray(f))};e.fn.fieldSerialize=function(g){var f=[];this.each(function(){var l=this.name;if(!l){return}var j=e.fieldValue(this,g);if(j&&j.constructor==Array){for(var k=0,h=j.length;k<h;k++){f.push({name:l,value:j[k]})}}else{if(j!==null&&typeof j!="undefined"){f.push({name:this.name,value:j})}}});return e.param(f)};e.fn.fieldValue=function(l){for(var k=[],h=0,f=this.length;h<f;h++){var j=this[h];var g=e.fieldValue(j,l);if(g===null||typeof g=="undefined"||(g.constructor==Array&&!g.length)){continue}if(g.constructor==Array){e.merge(k,g)}else{k.push(g)}}return k};e.fieldValue=function(f,m){var h=f.name,s=f.type,u=f.tagName.toLowerCase();if(m===undefined){m=true}if(m&&(!h||f.disabled||s=="reset"||s=="button"||(s=="checkbox"||s=="radio")&&!f.checked||(s=="submit"||s=="image")&&f.form&&f.form.clk!=f||u=="select"&&f.selectedIndex==-1)){return null}if(u=="select"){var o=f.selectedIndex;if(o<0){return null}var q=[],g=f.options;var k=(s=="select-one");var p=(k?o+1:g.length);for(var j=(k?o:0);j<p;j++){var l=g[j];if(l.selected){var r=l.value;if(!r){r=(l.attributes&&l.attributes.value&&!(l.attributes.value.specified))?l.text:l.value}if(k){return r}q.push(r)}}return q}return e(f).val()};e.fn.clearForm=function(f){return this.each(function(){e("input,select,textarea",this).clearFields(f)})};e.fn.clearFields=e.fn.clearInputs=function(f){var g=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)#x2F;i;return this.each(function(){var i=this.type,h=this.tagName.toLowerCase();if(g.test(i)||h=="textarea"){this.value=""}else{if(i=="checkbox"||i=="radio"){this.checked=false}else{if(h=="select"){this.selectedIndex=-1}else{if(i=="file"){if(/MSIE/.test(navigator.userAgent)){e(this).replaceWith(e(this).clone())}else{e(this).val("")}}else{if(f){if((f===true&&/hidden/.test(i))||(typeof f=="string"&&e(this).is(f))){this.value=""}}}}}}})};e.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};e.fn.enable=function(f){if(f===undefined){f=true}return this.each(function(){this.disabled=!f})};e.fn.selected=function(f){if(f===undefined){f=true}return this.each(function(){var g=this.type;if(g=="checkbox"||g=="radio"){this.checked=f}else{if(this.tagName.toLowerCase()=="option"){var h=e(this).parent("select");if(f&&h[0]&&h[0].type=="select-one"){h.find("option").selected(false)}this.selected=f}}})};e.fn.ajaxSubmit.debug=false;function d(){if(!e.fn.ajaxSubmit.debug){return}var f="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(f)}else{if(window.opera&&window.opera.postError){window.opera.postError(f)}}}})(jQuery);
1
/*!
2
* jQuery Form Plugin
3
+ * version: 3.32.0-2013.04.03
4
* @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
9
* http://malsup.github.com/mit-license.txt
10
* http://malsup.github.com/gpl-license-v2.txt
11
*/
12
+ (function(f){var c={};c.fileapi=f("<input type='file'/>").get(0).files!==undefined;c.formdata=window.FormData!==undefined;var e=!!f.fn.prop;f.fn.attr2=function(){if(!e){return this.attr.apply(this,arguments)}var g=this.prop.apply(this,arguments);if((g&&g.jquery)||typeof g==="string"){return g}return this.attr.apply(this,arguments)};f.fn.ajaxSubmit=function(i){if(!this.length){d("ajaxSubmit: skipping submit process - no element selected");return this}var h,z,l,n=this;if(typeof i=="function"){i={success:i}}h=this.attr2("method");z=this.attr2("action");l=(typeof z==="string")?f.trim(z):"";l=l||window.location.href||"";if(l){l=(l.match(/^([^#]+)/)||[])[1]}i=f.extend(true,{url:l,success:f.ajaxSettings.success,type:h||"GET",iframeSrc:/^https/i.test(window.location.href||"")?"javascript:false":"about:blank"},i);var t={};this.trigger("form-pre-serialize",[this,i,t]);if(t.veto){d("ajaxSubmit: submit vetoed via form-pre-serialize trigger");return this}if(i.beforeSerialize&&i.beforeSerialize(this,i)===false){d("ajaxSubmit: submit aborted via beforeSerialize callback");return this}var m=i.traditional;if(m===undefined){m=f.ajaxSettings.traditional}var r=[];var C,D=this.formToArray(i.semantic,r);if(i.data){i.extraData=i.data;C=f.param(i.data,m)}if(i.beforeSubmit&&i.beforeSubmit(D,this,i)===false){d("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[D,this,i,t]);if(t.veto){d("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var x=f.param(D,m);if(C){x=(x?(x+"&"+C):C)}if(i.type.toUpperCase()=="GET"){i.url+=(i.url.indexOf("?")>=0?"&":"?")+x;i.data=null}else{i.data=x}var F=[];if(i.resetForm){F.push(function(){n.resetForm()})}if(i.clearForm){F.push(function(){n.clearForm(i.includeHidden)})}if(!i.dataType&&i.target){var j=i.success||function(){};F.push(function(q){var k=i.replaceTarget?"replaceWith":"html";f(i.target)[k](q).each(j,arguments)})}else{if(i.success){F.push(i.success)}}i.success=function(I,q,J){var H=i.context||this;for(var G=0,k=F.length;G<k;G++){F[G].apply(H,[I,q,J||n,n])}};var B=f('input[type=file]:enabled[value!=""]',this);var o=B.length>0;var A="multipart/form-data";var w=(n.attr("enctype")==A||n.attr("encoding")==A);var v=c.fileapi&&c.formdata;d("fileAPI :"+v);var p=(o||w)&&!v;var u;if(i.iframe!==false&&(i.iframe||p)){if(i.closeKeepAlive){f.get(i.closeKeepAlive,function(){u=E(D)})}else{u=E(D)}}else{if((o||w)&&v){u=s(D)}else{u=f.ajax(i)}}n.removeData("jqxhr").data("jqxhr",u);for(var y=0;y<r.length;y++){r[y]=null}this.trigger("form-submit-notify",[this,i]);return this;function g(I){var J=f.param(I).split("&");var q=J.length;var k=[];var H,G;for(H=0;H<q;H++){J[H]=J[H].replace(/\+/g," ");G=J[H].split("=");k.push([decodeURIComponent(G[0]),decodeURIComponent(G[1])])}return k}function s(q){var k=new FormData();for(var G=0;G<q.length;G++){k.append(q[G].name,q[G].value)}if(i.extraData){var J=g(i.extraData);for(G=0;G<J.length;G++){if(J[G]){k.append(J[G][0],J[G][1])}}}i.data=null;var I=f.extend(true,{},f.ajaxSettings,i,{contentType:false,processData:false,cache:false,type:h||"POST"});if(i.uploadProgress){I.xhr=function(){var K=jQuery.ajaxSettings.xhr();if(K.upload){K.upload.addEventListener("progress",function(O){var N=0;var L=O.loaded||O.position;var M=O.total;if(O.lengthComputable){N=Math.ceil(L/M*100)}i.uploadProgress(O,L,M,N)},false)}return K}}I.data=null;var H=I.beforeSend;I.beforeSend=function(L,K){K.data=k;if(H){H.call(this,L,K)}};return f.ajax(I)}function E(ad){var J=n[0],I,Z,T,ab,W,L,O,M,N,X,aa,R;var ag=f.Deferred();if(ad){for(Z=0;Z<r.length;Z++){I=f(r[Z]);if(e){I.prop("disabled",false)}else{I.removeAttr("disabled")}}}T=f.extend(true,{},f.ajaxSettings,i);T.context=T.context||T;W="jqFormIO"+(new Date().getTime());if(T.iframeTarget){L=f(T.iframeTarget);X=L.attr2("name");if(!X){L.attr2("name",W)}else{W=X}}else{L=f('<iframe name="'+W+'" src="'+T.iframeSrc+'" />');L.css({position:"absolute",top:"-1000px",left:"-1000px"})}O=L[0];M={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(ah){var ai=(ah==="timeout"?"timeout":"aborted");d("aborting upload... "+ai);this.aborted=1;try{if(O.contentWindow.document.execCommand){O.contentWindow.document.execCommand("Stop")}}catch(aj){}L.attr("src",T.iframeSrc);M.error=ai;if(T.error){T.error.call(T.context,M,ai,ah)}if(ab){f.event.trigger("ajaxError",[M,T,ai])}if(T.complete){T.complete.call(T.context,M,ai)}}};ab=T.global;if(ab&&0===f.active++){f.event.trigger("ajaxStart")}if(ab){f.event.trigger("ajaxSend",[M,T])}if(T.beforeSend&&T.beforeSend.call(T.context,M,T)===false){if(T.global){f.active--}ag.reject();return ag}if(M.aborted){ag.reject();return ag}N=J.clk;if(N){X=N.name;if(X&&!N.disabled){T.extraData=T.extraData||{};T.extraData[X]=N.value;if(N.type=="image"){T.extraData[X+".x"]=J.clk_x;T.extraData[X+".y"]=J.clk_y}}}var S=1;var P=2;function Q(aj){var ai=null;try{if(aj.contentWindow){ai=aj.contentWindow.document}}catch(ah){d("cannot get iframe.contentWindow document: "+ah)}if(ai){return ai}try{ai=aj.contentDocument?aj.contentDocument:aj.document}catch(ah){d("cannot get iframe.contentDocument: "+ah);ai=aj.document}return ai}var H=f("meta[name=csrf-token]").attr("content");var G=f("meta[name=csrf-param]").attr("content");if(G&&H){T.extraData=T.extraData||{};T.extraData[G]=H}function Y(){var aj=n.attr2("target"),ah=n.attr2("action");J.setAttribute("target",W);if(!h){J.setAttribute("method","POST")}if(ah!=T.url){J.setAttribute("action",T.url)}if(!T.skipEncodingOverride&&(!h||/post/i.test(h))){n.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(T.timeout){R=setTimeout(function(){aa=true;V(S)},T.timeout)}function ak(){try{var ao=Q(O).readyState;d("state = "+ao);if(ao&&ao.toLowerCase()=="uninitialized"){setTimeout(ak,50)}}catch(ap){d("Server abort: ",ap," (",ap.name,")");V(P);if(R){clearTimeout(R)}R=undefined}}var ai=[];try{if(T.extraData){for(var an in T.extraData){if(T.extraData.hasOwnProperty(an)){if(f.isPlainObject(T.extraData[an])&&T.extraData[an].hasOwnProperty("name")&&T.extraData[an].hasOwnProperty("value")){ai.push(f('<input type="hidden" name="'+T.extraData[an].name+'">').val(T.extraData[an].value).appendTo(J)[0])}else{ai.push(f('<input type="hidden" name="'+an+'">').val(T.extraData[an]).appendTo(J)[0])}}}}if(!T.iframeTarget){L.appendTo("body");if(O.attachEvent){O.attachEvent("onload",V)}else{O.addEventListener("load",V,false)}}setTimeout(ak,15);try{J.submit()}catch(al){var am=document.createElement("form").submit;am.apply(J)}}finally{J.setAttribute("action",ah);if(aj){J.setAttribute("target",aj)}else{n.removeAttr("target")}f(ai).remove()}}if(T.forceSync){Y()}else{setTimeout(Y,10)}var ae,af,ac=50,K;function V(an){if(M.aborted||K){return}af=Q(O);if(!af){d("cannot access response document");an=P}if(an===S&&M){M.abort("timeout");ag.reject(M,"timeout");return}else{if(an==P&&M){M.abort("server abort");ag.reject(M,"error","server abort");return}}if(!af||af.location.href==T.iframeSrc){if(!aa){return}}if(O.detachEvent){O.detachEvent("onload",V)}else{O.removeEventListener("load",V,false)}var al="success",ap;try{if(aa){throw"timeout"}var ak=T.dataType=="xml"||af.XMLDocument||f.isXMLDoc(af);d("isXml="+ak);if(!ak&&window.opera&&(af.body===null||!af.body.innerHTML)){if(--ac){d("requeing onLoad callback, DOM not available");setTimeout(V,250);return}}var aq=af.body?af.body:af.documentElement;M.responseText=aq?aq.innerHTML:null;M.responseXML=af.XMLDocument?af.XMLDocument:af;if(ak){T.dataType="xml"}M.getResponseHeader=function(au){var at={"content-type":T.dataType};return at[au]};if(aq){M.status=Number(aq.getAttribute("status"))||M.status;M.statusText=aq.getAttribute("statusText")||M.statusText}var ah=(T.dataType||"").toLowerCase();var ao=/(json|script|text)/.test(ah);if(ao||T.textarea){var am=af.getElementsByTagName("textarea")[0];if(am){M.responseText=am.value;M.status=Number(am.getAttribute("status"))||M.status;M.statusText=am.getAttribute("statusText")||M.statusText}else{if(ao){var ai=af.getElementsByTagName("pre")[0];var ar=af.getElementsByTagName("body")[0];if(ai){M.responseText=ai.textContent?ai.textContent:ai.innerText}else{if(ar){M.responseText=ar.textContent?ar.textContent:ar.innerText}}}}}else{if(ah=="xml"&&!M.responseXML&&M.responseText){M.responseXML=U(M.responseText)}}try{ae=k(M,ah,T)}catch(aj){al="parsererror";M.error=ap=(aj||al)}}catch(aj){d("error caught: ",aj);al="error";M.error=ap=(aj||al)}if(M.aborted){d("upload aborted");al=null}if(M.status){al=(M.status>=200&&M.status<300||M.status===304)?"success":"error"}if(al==="success"){if(T.success){T.success.call(T.context,ae,"success",M)}ag.resolve(M.responseText,"success",M);if(ab){f.event.trigger("ajaxSuccess",[M,T])}}else{if(al){if(ap===undefined){ap=M.statusText}if(T.error){T.error.call(T.context,M,al,ap)}ag.reject(M,"error",ap);if(ab){f.event.trigger("ajaxError",[M,T,ap])}}}if(ab){f.event.trigger("ajaxComplete",[M,T])}if(ab&&!--f.active){f.event.trigger("ajaxStop")}if(T.complete){T.complete.call(T.context,M,al)}K=true;if(T.timeout){clearTimeout(R)}setTimeout(function(){if(!T.iframeTarget){L.remove()}M.responseXML=null},100)}var U=f.parseXML||function(ah,ai){if(window.ActiveXObject){ai=new ActiveXObject("Microsoft.XMLDOM");ai.async="false";ai.loadXML(ah)}else{ai=(new DOMParser()).parseFromString(ah,"text/xml")}return(ai&&ai.documentElement&&ai.documentElement.nodeName!="parsererror")?ai:null};var q=f.parseJSON||function(ah){return window["eval"]("("+ah+")")};var k=function(am,ak,aj){var ai=am.getResponseHeader("content-type")||"",ah=ak==="xml"||!ak&&ai.indexOf("xml")>=0,al=ah?am.responseXML:am.responseText;if(ah&&al.documentElement.nodeName==="parsererror"){if(f.error){f.error("parsererror")}}if(aj&&aj.dataFilter){al=aj.dataFilter(al,ak)}if(typeof al==="string"){if(ak==="json"||!ak&&ai.indexOf("json")>=0){al=q(al)}else{if(ak==="script"||!ak&&ai.indexOf("javascript")>=0){f.globalEval(al)}}}return al};return ag}};f.fn.ajaxForm=function(g){g=g||{};g.delegation=g.delegation&&f.isFunction(f.fn.on);if(!g.delegation&&this.length===0){var h={s:this.selector,c:this.context};if(!f.isReady&&h.s){d("DOM not ready, queuing ajaxForm");f(function(){f(h.s,h.c).ajaxForm(g)});return this}d("terminating; zero elements found by selector"+(f.isReady?"":" (DOM not ready)"));return this}if(g.delegation){f(document).off("submit.form-plugin",this.selector,b).off("click.form-plugin",this.selector,a).on("submit.form-plugin",this.selector,g,b).on("click.form-plugin",this.selector,g,a);return this}return this.ajaxFormUnbind().bind("submit.form-plugin",g,b).bind("click.form-plugin",g,a)};function b(h){var g=h.data;if(!h.isDefaultPrevented()){h.preventDefault();f(this).ajaxSubmit(g)}}function a(k){var j=k.target;var h=f(j);if(!(h.is("[type=submit],[type=image]"))){var g=h.closest("[type=submit]");if(g.length===0){return}j=g[0]}var i=this;i.clk=j;if(j.type=="image"){if(k.offsetX!==undefined){i.clk_x=k.offsetX;i.clk_y=k.offsetY}else{if(typeof f.fn.offset=="function"){var l=h.offset();i.clk_x=k.pageX-l.left;i.clk_y=k.pageY-l.top}else{i.clk_x=k.pageX-j.offsetLeft;i.clk_y=k.pageY-j.offsetTop}}}setTimeout(function(){i.clk=i.clk_x=i.clk_y=null},100)}f.fn.ajaxFormUnbind=function(){return this.unbind("submit.form-plugin click.form-plugin")};f.fn.formToArray=function(x,g){var w=[];if(this.length===0){return w}var l=this[0];var p=x?l.getElementsByTagName("*"):l.elements;if(!p){return w}var r,q,o,y,m,t,k;for(r=0,t=p.length;r<t;r++){m=p[r];o=m.name;if(!o||m.disabled){continue}if(x&&l.clk&&m.type=="image"){if(l.clk==m){w.push({name:o,value:f(m).val(),type:m.type});w.push({name:o+".x",value:l.clk_x},{name:o+".y",value:l.clk_y})}continue}y=f.fieldValue(m,true);if(y&&y.constructor==Array){if(g){g.push(m)}for(q=0,k=y.length;q<k;q++){w.push({name:o,value:y[q]})}}else{if(c.fileapi&&m.type=="file"){if(g){g.push(m)}var h=m.files;if(h.length){for(q=0;q<h.length;q++){w.push({name:o,value:h[q],type:m.type})}}else{w.push({name:o,value:"",type:m.type})}}else{if(y!==null&&typeof y!="undefined"){if(g){g.push(m)}w.push({name:o,value:y,type:m.type,required:m.required})}}}}if(!x&&l.clk){var s=f(l.clk),u=s[0];o=u.name;if(o&&!u.disabled&&u.type=="image"){w.push({name:o,value:s.val()});w.push({name:o+".x",value:l.clk_x},{name:o+".y",value:l.clk_y})}}return w};f.fn.formSerialize=function(g){return f.param(this.formToArray(g))};f.fn.fieldSerialize=function(h){var g=[];this.each(function(){var m=this.name;if(!m){return}var k=f.fieldValue(this,h);if(k&&k.constructor==Array){for(var l=0,j=k.length;l<j;l++){g.push({name:m,value:k[l]})}}else{if(k!==null&&typeof k!="undefined"){g.push({name:this.name,value:k})}}});return f.param(g)};f.fn.fieldValue=function(m){for(var l=[],j=0,g=this.length;j<g;j++){var k=this[j];var h=f.fieldValue(k,m);if(h===null||typeof h=="undefined"||(h.constructor==Array&&!h.length)){continue}if(h.constructor==Array){f.merge(l,h)}else{l.push(h)}}return l};f.fieldValue=function(g,o){var j=g.name,u=g.type,w=g.tagName.toLowerCase();if(o===undefined){o=true}if(o&&(!j||g.disabled||u=="reset"||u=="button"||(u=="checkbox"||u=="radio")&&!g.checked||(u=="submit"||u=="image")&&g.form&&g.form.clk!=g||w=="select"&&g.selectedIndex==-1)){return null}if(w=="select"){var p=g.selectedIndex;if(p<0){return null}var r=[],h=g.options;var l=(u=="select-one");var q=(l?p+1:h.length);for(var k=(l?p:0);k<q;k++){var m=h[k];if(m.selected){var s=m.value;if(!s){s=(m.attributes&&m.attributes.value&&!(m.attributes.value.specified))?m.text:m.value}if(l){return s}r.push(s)}}return r}return f(g).val()};f.fn.clearForm=function(g){return this.each(function(){f("input,select,textarea",this).clearFields(g)})};f.fn.clearFields=f.fn.clearInputs=function(g){var h=/^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)#x2F;i;return this.each(function(){var j=this.type,i=this.tagName.toLowerCase();if(h.test(j)||i=="textarea"){this.value=""}else{if(j=="checkbox"||j=="radio"){this.checked=false}else{if(i=="select"){this.selectedIndex=-1}else{if(j=="file"){if(/MSIE/.test(navigator.userAgent)){f(this).replaceWith(f(this).clone(true))}else{f(this).val("")}}else{if(g){if((g===true&&/hidden/.test(j))||(typeof g=="string"&&f(this).is(g))){this.value=""}}}}}}})};f.fn.resetForm=function(){return this.each(function(){if(typeof this.reset=="function"||(typeof this.reset=="object"&&!this.reset.nodeType)){this.reset()}})};f.fn.enable=function(g){if(g===undefined){g=true}return this.each(function(){this.disabled=!g})};f.fn.selected=function(g){if(g===undefined){g=true}return this.each(function(){var h=this.type;if(h=="checkbox"||h=="radio"){this.checked=g}else{if(this.tagName.toLowerCase()=="option"){var i=f(this).parent("select");if(g&&i[0]&&i[0].type=="select-one"){i.find("option").selected(false)}this.selected=g}}})};f.fn.ajaxSubmit.debug=false;function d(){if(!f.fn.ajaxSubmit.debug){return}var g="[jquery.form] "+Array.prototype.join.call(arguments,"");if(window.console&&window.console.log){window.console.log(g)}else{if(window.opera&&window.opera.postError){window.opera.postError(g)}}}})(jQuery);
includes/js/scripts.js CHANGED
@@ -14,7 +14,7 @@
14
return true;
15
},
16
beforeSerialize: function(jqForm, options) {
17
- jqForm.find('.wpcf7-use-title-as-watermark.watermark').each(function(i, n) {
18
$(n).val('');
19
});
20
return true;
@@ -78,8 +78,8 @@
78
if (1 == data.mailSent)
79
$(data.into).find('form').resetForm().clearForm();
80
81
- $(data.into).find('.wpcf7-use-title-as-watermark.watermark').each(function(i, n) {
82
- $(n).val($(n).attr('title'));
83
});
84
85
$(data.into).wpcf7FillResponseOutput(data.message);
@@ -104,19 +104,25 @@
104
});
105
});
106
107
- $(n).find('.wpcf7-use-title-as-watermark').each(function(i, n) {
108
var input = $(n);
109
- input.val(input.attr('title'));
110
- input.addClass('watermark');
111
112
input.focus(function() {
113
- if ($(this).hasClass('watermark'))
114
- $(this).val('').removeClass('watermark');
115
});
116
117
input.blur(function() {
118
- if ('' == $(this).val())
119
- $(this).val($(this).attr('title')).addClass('watermark');
120
});
121
});
122
});
14
return true;
15
},
16
beforeSerialize: function(jqForm, options) {
17
+ jqForm.find('[placeholder].placeheld').each(function(i, n) {
18
$(n).val('');
19
});
20
return true;
78
if (1 == data.mailSent)
79
$(data.into).find('form').resetForm().clearForm();
80
81
+ $(data.into).find('[placeholder].placeheld').each(function(i, n) {
82
+ $(n).val($(n).attr('placeholder'));
83
});
84
85
$(data.into).wpcf7FillResponseOutput(data.message);
104
});
105
});
106
107
+ $(n).find('[placeholder]').each(function(i, n) {
108
var input = $(n);
109
+
110
+ if ('placeholder' in input.get(0))
111
+ return;
112
+
113
+ input.val(input.attr('placeholder'));
114
+ input.addClass('placeheld');
115
116
input.focus(function() {
117
+ if ($(this).hasClass('placeheld'))
118
+ $(this).val('').removeClass('placeheld');
119
});
120
121
input.blur(function() {
122
+ if ('' == $(this).val()) {
123
+ $(this).val($(this).attr('placeholder'));
124
+ $(this).addClass('placeheld');
125
+ }
126
});
127
});
128
});
includes/shortcodes.php CHANGED
@@ -11,10 +11,16 @@ class WPCF7_ShortcodeManager {
11
var $exec = true;
12
13
function add_shortcode( $tag, $func, $has_name = false ) {
14
- if ( is_callable( $func ) )
15
$this->shortcode_tags[$tag] = array(
16
'function' => $func,
17
'has_name' => (boolean) $has_name );
18
}
19
20
function remove_shortcode( $tag ) {
@@ -89,6 +95,7 @@ class WPCF7_ShortcodeManager {
89
90
$scanned_tag = array(
91
'type' => $tag,
92
'name' => '',
93
'options' => array(),
94
'raw_values' => array(),
@@ -166,30 +173,180 @@ class WPCF7_ShortcodeManager {
166
167
}
168
169
- $wpcf7_shortcode_manager = new WPCF7_ShortcodeManager();
170
-
171
function wpcf7_add_shortcode( $tag, $func, $has_name = false ) {
172
global $wpcf7_shortcode_manager;
173
174
- return $wpcf7_shortcode_manager->add_shortcode( $tag, $func, $has_name );
175
}
176
177
function wpcf7_remove_shortcode( $tag ) {
178
global $wpcf7_shortcode_manager;
179
180
- return $wpcf7_shortcode_manager->remove_shortcode( $tag );
181
}
182
183
function wpcf7_do_shortcode( $content ) {
184
global $wpcf7_shortcode_manager;
185
186
- return $wpcf7_shortcode_manager->do_shortcode( $content );
187
}
188
189
function wpcf7_get_shortcode_regex() {
190
global $wpcf7_shortcode_manager;
191
192
- return $wpcf7_shortcode_manager->get_shortcode_regex();
193
}
194
195
?>
11
var $exec = true;
12
13
function add_shortcode( $tag, $func, $has_name = false ) {
14
+ if ( ! is_callable( $func ) )
15
+ return;
16
+
17
+ $tags = array_filter( array_unique( (array) $tag ) );
18
+
19
+ foreach ( $tags as $tag ) {
20
$this->shortcode_tags[$tag] = array(
21
'function' => $func,
22
'has_name' => (boolean) $has_name );
23
+ }
24
}
25
26
function remove_shortcode( $tag ) {
95
96
$scanned_tag = array(
97
'type' => $tag,
98
+ 'basetype' => trim( $tag, '*' ),
99
'name' => '',
100
'options' => array(),
101
'raw_values' => array(),
173
174
}
175
176
function wpcf7_add_shortcode( $tag, $func, $has_name = false ) {
177
global $wpcf7_shortcode_manager;
178
179
+ if ( is_a( $wpcf7_shortcode_manager, 'WPCF7_ShortcodeManager' ) )
180
+ return $wpcf7_shortcode_manager->add_shortcode( $tag, $func, $has_name );
181
}
182
183
function wpcf7_remove_shortcode( $tag ) {
184
global $wpcf7_shortcode_manager;
185
186
+ if ( is_a( $wpcf7_shortcode_manager, 'WPCF7_ShortcodeManager' ) )
187
+ return $wpcf7_shortcode_manager->remove_shortcode( $tag );
188
}
189
190
function wpcf7_do_shortcode( $content ) {
191
global $wpcf7_shortcode_manager;
192
193
+ if ( is_a( $wpcf7_shortcode_manager, 'WPCF7_ShortcodeManager' ) )
194
+ return $wpcf7_shortcode_manager->do_shortcode( $content );
195
}
196
197
function wpcf7_get_shortcode_regex() {
198
global $wpcf7_shortcode_manager;
199
200
+ if ( is_a( $wpcf7_shortcode_manager, 'WPCF7_ShortcodeManager' ) )
201
+ return $wpcf7_shortcode_manager->get_shortcode_regex();
202
+ }
203
+
204
+ class WPCF7_Shortcode {
205
+
206
+ public $type;
207
+ public $basetype;
208
+ public $name = '';
209
+ public $options = array();
210
+ public $raw_values = array();
211
+ public $values = array();
212
+ public $pipes;
213
+ public $labels = array();
214
+ public $attr = '';
215
+ public $content = '';
216
+
217
+ public function __construct( $tag ) {
218
+ foreach ( $tag as $key => $value ) {
219
+ if ( property_exists( __CLASS__, $key ) )
220
+ $this->{$key} = $value;
221
+ }
222
+ }
223
+
224
+ public function is_required() {
225
+ return ( '*' == substr( $this->type, -1 ) );
226
+ }
227
+
228
+ public function has_option( $opt ) {
229
+ $pattern = sprintf( '/^%s(:.+)?#x2F;i', preg_quote( $opt, '/' ) );
230
+ return (bool) preg_grep( $pattern, $this->options );
231
+ }
232
+
233
+ public function get_option( $opt, $pattern = '', $single = false ) {
234
+ $preset_patterns = array(
235
+ 'date' => '[0-9]{4}-[0-9]{2}-[0-9]{2}',
236
+ 'int' => '[0-9]+',
237
+ 'signed_int' => '-?[0-9]+',
238
+ 'class' => '[-0-9a-zA-Z_]+',
239
+ 'id' => '[-0-9a-zA-Z_]+' );
240
+
241
+ if ( isset( $preset_patterns[$pattern] ) )
242
+ $pattern = $preset_patterns[$pattern];
243
+
244
+ if ( '' == $pattern )
245
+ $pattern = '.+';
246
+
247
+ $pattern = sprintf( '/^%s:%s#x2F;i', preg_quote( $opt, '/' ), $pattern );
248
+
249
+ if ( $single ) {
250
+ $matches = $this->get_first_match_option( $pattern );
251
+
252
+ if ( ! $matches )
253
+ return false;
254
+
255
+ return substr( $matches[0], strlen( $opt ) + 1 );
256
+ } else {
257
+ $matches_a = $this->get_all_match_options( $pattern );
258
+
259
+ if ( ! $matches_a )
260
+ return false;
261
+
262
+ $results = array();
263
+
264
+ foreach ( $matches_a as $matches )
265
+ $results[] = substr( $matches[0], strlen( $opt ) + 1 );
266
+
267
+ return $results;
268
+ }
269
+ }
270
+
271
+ public function get_class_option( $default = '' ) {
272
+ if ( is_string( $default ) )
273
+ $default = explode( ' ', $default );
274
+
275
+ $options = array_merge(
276
+ (array) $default,
277
+ (array) $this->get_option( 'class', 'class' ) );
278
+
279
+ $options = array_filter( array_unique( $options ) );
280
+
281
+ return implode( ' ', $options );
282
+ }
283
+
284
+ public function get_size_option( $default = '' ) {
285
+ $matches_a = $this->get_all_match_options( '%^([0-9]*)/[0-9]*$%' );
286
+
287
+ foreach ( (array) $matches_a as $matches ) {
288
+ if ( isset( $matches[1] ) && '' !== $matches[1] )
289
+ return $matches[1];
290
+ }
291
+
292
+ return $default;
293
+ }
294
+
295
+ public function get_maxlength_option( $default = '' ) {
296
+ $matches_a = $this->get_all_match_options(
297
+ '%^(?:[0-9]*x?[0-9]*)?/([0-9]+)$%' );
298
+
299
+ foreach ( (array) $matches_a as $matches ) {
300
+ if ( isset( $matches[1] ) && '' !== $matches[1] )
301
+ return $matches[1];
302
+ }
303
+
304
+ return $default;
305
+ }
306
+
307
+ public function get_cols_option( $default = '' ) {
308
+ $matches_a = $this->get_all_match_options(
309
+ '%^([0-9]*)x([0-9]*)(?:/[0-9]+)?$%' );
310
+
311
+ foreach ( (array) $matches_a as $matches ) {
312
+ if ( isset( $matches[1] ) && '' !== $matches[1] )
313
+ return $matches[1];
314
+ }
315
+
316
+ return $default;
317
+ }
318
+
319
+ public function get_rows_option( $default = '' ) {
320
+ $matches_a = $this->get_all_match_options(
321
+ '%^([0-9]*)x([0-9]*)(?:/[0-9]+)?$%' );
322
+
323
+ foreach ( (array) $matches_a as $matches ) {
324
+ if ( isset( $matches[2] ) && '' !== $matches[2] )
325
+ return $matches[2];
326
+ }
327
+
328
+ return $default;
329
+ }
330
+
331
+ public function get_first_match_option( $pattern ) {
332
+ foreach( (array) $this->options as $option ) {
333
+ if ( preg_match( $pattern, $option, $matches ) )
334
+ return $matches;
335
+ }
336
+
337
+ return false;
338
+ }
339
+
340
+ public function get_all_match_options( $pattern ) {
341
+ $result = array();
342
+
343
+ foreach( (array) $this->options as $option ) {
344
+ if ( preg_match( $pattern, $option, $matches ) )
345
+ $result[] = $matches;
346
+ }
347
+
348
+ return $result;
349
+ }
350
}
351
352
?>
languages/wpcf7-ja.mo CHANGED
Binary file
languages/wpcf7.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: 2013-01-20 09:53+0900\n"
6
- "PO-Revision-Date: 2013-01-20 09:53+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
@@ -13,14 +13,14 @@ msgstr ""
13
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c\n"
14
"X-Poedit-Basepath: ../..\n"
15
"Plural-Forms: nplurals=1; plural=0;\n"
16
- "X-Generator: Poedit 1.5.4\n"
17
"X-Poedit-SearchPath-0: contact-form-7\n"
18
19
#: contact-form-7/wp-contact-form-7.php:5
20
msgid "Just another contact form plugin. Simple but flexible."
21
msgstr ""
22
23
- #: contact-form-7/settings.php:194
24
#, php-format
25
msgid "Contact form %d"
26
msgstr ""
@@ -221,6 +221,7 @@ msgid "Author"
221
msgstr ""
222
223
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:14
224
msgid "Date"
225
msgstr ""
226
@@ -267,7 +268,7 @@ msgid "Use HTML content type"
267
msgstr ""
268
269
#: contact-form-7/admin/includes/meta-boxes.php:80
270
- #: contact-form-7/includes/functions.php:117
271
msgid "Message body:"
272
msgstr ""
273
@@ -275,7 +276,7 @@ msgstr ""
275
msgid "Contact Form"
276
msgstr ""
277
278
- #: contact-form-7/includes/classes.php:782
279
msgid "Untitled"
280
msgstr ""
281
@@ -338,429 +339,430 @@ msgid "Please accept the terms to proceed."
338
msgstr ""
339
340
#: contact-form-7/includes/functions.php:55
341
- msgid "Email address that the sender entered is invalid"
342
- msgstr ""
343
-
344
- #: contact-form-7/includes/functions.php:56
345
- msgid "Email address seems invalid."
346
- msgstr ""
347
-
348
- #: contact-form-7/includes/functions.php:60
349
msgid "There is a field that the sender must fill in"
350
msgstr ""
351
352
- #: contact-form-7/includes/functions.php:61
353
msgid "Please fill the required field."
354
msgstr ""
355
356
- #: contact-form-7/includes/functions.php:85
357
msgid "Your Name"
358
msgstr ""
359
360
- #: contact-form-7/includes/functions.php:85
361
- #: contact-form-7/includes/functions.php:87
362
msgid "(required)"
363
msgstr ""
364
365
- #: contact-form-7/includes/functions.php:87
366
msgid "Your Email"
367
msgstr ""
368
369
- #: contact-form-7/includes/functions.php:89
370
msgid "Subject"
371
msgstr ""
372
373
- #: contact-form-7/includes/functions.php:91
374
msgid "Your Message"
375
msgstr ""
376
377
- #: contact-form-7/includes/functions.php:93
378
- #: contact-form-7/modules/submit.php:45
379
msgid "Send"
380
msgstr ""
381
382
- #: contact-form-7/includes/functions.php:101
383
#, php-format
384
msgid "From: %s"
385
msgstr ""
386
387
- #: contact-form-7/includes/functions.php:102
388
#, php-format
389
msgid "Subject: %s"
390
msgstr ""
391
392
- #: contact-form-7/includes/functions.php:103
393
msgid "Message Body:"
394
msgstr ""
395
396
- #: contact-form-7/includes/functions.php:104
397
- #: contact-form-7/includes/functions.php:118
398
#, php-format
399
msgid "This mail is sent via contact form on %1$s %2$s"
400
msgstr ""
401
402
- #: contact-form-7/includes/functions.php:190
403
msgid "Afrikaans"
404
msgstr ""
405
406
- #: contact-form-7/includes/functions.php:191
407
msgid "Albanian"
408
msgstr ""
409
410
- #: contact-form-7/includes/functions.php:192
411
msgid "Arabic"
412
msgstr ""
413
414
- #: contact-form-7/includes/functions.php:193
415
msgid "Armenian"
416
msgstr ""
417
418
- #: contact-form-7/includes/functions.php:194
419
msgid "Azerbaijani"
420
msgstr ""
421
422
- #: contact-form-7/includes/functions.php:195
423
msgid "Bangla"
424
msgstr ""
425
426
- #: contact-form-7/includes/functions.php:196
427
msgid "Basque"
428
msgstr ""
429
430
- #: contact-form-7/includes/functions.php:197
431
msgid "Belarusian"
432
msgstr ""
433
434
- #: contact-form-7/includes/functions.php:198
435
msgid "Bosnian"
436
msgstr ""
437
438
- #: contact-form-7/includes/functions.php:199
439
msgid "Brazilian Portuguese"
440
msgstr ""
441
442
- #: contact-form-7/includes/functions.php:200
443
msgid "Bulgarian"
444
msgstr ""
445
446
- #: contact-form-7/includes/functions.php:201
447
msgid "Catalan"
448
msgstr ""
449
450
- #: contact-form-7/includes/functions.php:202
451
msgid "Chinese (Simplified)"
452
msgstr ""
453
454
- #: contact-form-7/includes/functions.php:203
455
msgid "Chinese (Traditional)"
456
msgstr ""
457
458
- #: contact-form-7/includes/functions.php:204
459
msgid "Croatian"
460
msgstr ""
461
462
- #: contact-form-7/includes/functions.php:205
463
msgid "Czech"
464
msgstr ""
465
466
- #: contact-form-7/includes/functions.php:206
467
msgid "Danish"
468
msgstr ""
469
470
- #: contact-form-7/includes/functions.php:207
471
msgid "Dutch"
472
msgstr ""
473
474
- #: contact-form-7/includes/functions.php:208
475
msgid "English"
476
msgstr ""
477
478
- #: contact-form-7/includes/functions.php:209
479
msgid "Esperanto"
480
msgstr ""
481
482
- #: contact-form-7/includes/functions.php:210
483
msgid "Estonian"
484
msgstr ""
485
486
- #: contact-form-7/includes/functions.php:211
487
msgid "Finnish"
488
msgstr ""
489
490
- #: contact-form-7/includes/functions.php:212
491
msgid "French"
492
msgstr ""
493
494
- #: contact-form-7/includes/functions.php:213
495
msgid "Galician"
496
msgstr ""
497
498
- #: contact-form-7/includes/functions.php:214
499
msgid "Georgian"
500
msgstr ""
501
502
- #: contact-form-7/includes/functions.php:215
503
msgid "German"
504
msgstr ""
505
506
- #: contact-form-7/includes/functions.php:216
507
msgid "Greek"
508
msgstr ""
509
510
- #: contact-form-7/includes/functions.php:217
511
msgid "Hebrew"
512
msgstr ""
513
514
- #: contact-form-7/includes/functions.php:218
515
msgid "Hindi"
516
msgstr ""
517
518
- #: contact-form-7/includes/functions.php:219
519
msgid "Hungarian"
520
msgstr ""
521
522
- #: contact-form-7/includes/functions.php:220
523
msgid "Indonesian"
524
msgstr ""
525
526
- #: contact-form-7/includes/functions.php:221
527
msgid "Irish"
528
msgstr ""
529
530
- #: contact-form-7/includes/functions.php:222
531
msgid "Italian"
532
msgstr ""
533
534
- #: contact-form-7/includes/functions.php:223
535
msgid "Japanese"
536
msgstr ""
537
538
- #: contact-form-7/includes/functions.php:224
539
msgid "Korean"
540
msgstr ""
541
542
- #: contact-form-7/includes/functions.php:225
543
msgid "Latvian"
544
msgstr ""
545
546
- #: contact-form-7/includes/functions.php:226
547
msgid "Lithuanian"
548
msgstr ""
549
550
- #: contact-form-7/includes/functions.php:227
551
msgid "Macedonian"
552
msgstr ""
553
554
- #: contact-form-7/includes/functions.php:228
555
msgid "Malay"
556
msgstr ""
557
558
- #: contact-form-7/includes/functions.php:229
559
msgid "Malayalam"
560
msgstr ""
561
562
- #: contact-form-7/includes/functions.php:230
563
msgid "Maltese"
564
msgstr ""
565
566
- #: contact-form-7/includes/functions.php:231
567
msgid "Norwegian"
568
msgstr ""
569
570
- #: contact-form-7/includes/functions.php:232
571
msgid "Persian"
572
msgstr ""
573
574
- #: contact-form-7/includes/functions.php:233
575
msgid "Polish"
576
msgstr ""
577
578
- #: contact-form-7/includes/functions.php:234
579
msgid "Portuguese"
580
msgstr ""
581
582
- #: contact-form-7/includes/functions.php:235
583
msgid "Russian"
584
msgstr ""
585
586
- #: contact-form-7/includes/functions.php:236
587
msgid "Romanian"
588
msgstr ""
589
590
- #: contact-form-7/includes/functions.php:237
591
msgid "Serbian"
592
msgstr ""
593
594
- #: contact-form-7/includes/functions.php:238
595
msgid "Sinhala"
596
msgstr ""
597
598
- #: contact-form-7/includes/functions.php:239
599
msgid "Slovak"
600
msgstr ""
601
602
- #: contact-form-7/includes/functions.php:240
603
msgid "Slovene"
604
msgstr ""
605
606
- #: contact-form-7/includes/functions.php:241
607
msgid "Spanish"
608
msgstr ""
609
610
- #: contact-form-7/includes/functions.php:242
611
msgid "Swedish"
612
msgstr ""
613
614
- #: contact-form-7/includes/functions.php:243
615
msgid "Tamil"
616
msgstr ""
617
618
- #: contact-form-7/includes/functions.php:244
619
msgid "Thai"
620
msgstr ""
621
622
- #: contact-form-7/includes/functions.php:245
623
msgid "Tagalog"
624
msgstr ""
625
626
- #: contact-form-7/includes/functions.php:246
627
msgid "Turkish"
628
msgstr ""
629
630
- #: contact-form-7/includes/functions.php:247
631
msgid "Ukrainian"
632
msgstr ""
633
634
- #: contact-form-7/includes/functions.php:248
635
msgid "Vietnamese"
636
msgstr ""
637
638
- #: contact-form-7/modules/acceptance.php:156
639
msgid "Acceptance"
640
msgstr ""
641
642
- #: contact-form-7/modules/acceptance.php:165
643
- #: contact-form-7/modules/captcha.php:215
644
- #: contact-form-7/modules/checkbox.php:191 contact-form-7/modules/file.php:241
645
- #: contact-form-7/modules/quiz.php:182 contact-form-7/modules/select.php:152
646
- #: contact-form-7/modules/text.php:179 contact-form-7/modules/textarea.php:140
647
msgid "Name"
648
msgstr ""
649
650
- #: contact-form-7/modules/acceptance.php:170
651
- #: contact-form-7/modules/acceptance.php:173
652
#: contact-form-7/modules/captcha.php:222
653
- #: contact-form-7/modules/captcha.php:225
654
- #: contact-form-7/modules/captcha.php:230
655
#: contact-form-7/modules/captcha.php:233
656
- #: contact-form-7/modules/captcha.php:237
657
- #: contact-form-7/modules/captcha.php:248
658
- #: contact-form-7/modules/captcha.php:251
659
- #: contact-form-7/modules/captcha.php:256
660
- #: contact-form-7/modules/captcha.php:259
661
- #: contact-form-7/modules/checkbox.php:196
662
- #: contact-form-7/modules/checkbox.php:199 contact-form-7/modules/file.php:246
663
- #: contact-form-7/modules/file.php:249 contact-form-7/modules/file.php:254
664
- #: contact-form-7/modules/file.php:257 contact-form-7/modules/quiz.php:187
665
- #: contact-form-7/modules/quiz.php:190 contact-form-7/modules/quiz.php:195
666
- #: contact-form-7/modules/quiz.php:198 contact-form-7/modules/select.php:157
667
- #: contact-form-7/modules/select.php:160 contact-form-7/modules/submit.php:71
668
- #: contact-form-7/modules/submit.php:74 contact-form-7/modules/submit.php:79
669
- #: contact-form-7/modules/text.php:184 contact-form-7/modules/text.php:187
670
- #: contact-form-7/modules/text.php:192 contact-form-7/modules/text.php:195
671
- #: contact-form-7/modules/text.php:200 contact-form-7/modules/text.php:211
672
- #: contact-form-7/modules/textarea.php:145
673
- #: contact-form-7/modules/textarea.php:148
674
- #: contact-form-7/modules/textarea.php:153
675
- #: contact-form-7/modules/textarea.php:156
676
- #: contact-form-7/modules/textarea.php:161
677
msgid "optional"
678
msgstr ""
679
680
- #: contact-form-7/modules/acceptance.php:179
681
msgid "Make this checkbox checked by default?"
682
msgstr ""
683
684
- #: contact-form-7/modules/acceptance.php:180
685
msgid "Make this checkbox work inversely?"
686
msgstr ""
687
688
- #: contact-form-7/modules/acceptance.php:181
689
msgid "* That means visitor who accepts the term unchecks it."
690
msgstr ""
691
692
- #: contact-form-7/modules/acceptance.php:186
693
- #: contact-form-7/modules/captcha.php:264
694
- #: contact-form-7/modules/checkbox.php:219 contact-form-7/modules/file.php:262
695
- #: contact-form-7/modules/quiz.php:210 contact-form-7/modules/select.php:177
696
- #: contact-form-7/modules/submit.php:86 contact-form-7/modules/text.php:219
697
- #: contact-form-7/modules/textarea.php:169
698
msgid "Copy this code and paste it into the form left."
699
msgstr ""
700
701
- #: contact-form-7/modules/captcha.php:73
702
msgid ""
703
"To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/"
704
"really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
705
msgstr ""
706
707
- #: contact-form-7/modules/captcha.php:187
708
msgid "The code that sender entered does not match the CAPTCHA"
709
msgstr ""
710
711
- #: contact-form-7/modules/captcha.php:188
712
msgid "Your entered code is incorrect."
713
msgstr ""
714
715
- #: contact-form-7/modules/captcha.php:201
716
msgid "CAPTCHA"
717
msgstr ""
718
719
- #: contact-form-7/modules/captcha.php:212
720
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
721
msgstr ""
722
723
- #: contact-form-7/modules/captcha.php:219
724
msgid "Image settings"
725
msgstr ""
726
727
- #: contact-form-7/modules/captcha.php:230
728
msgid "Foreground color"
729
msgstr ""
730
731
- #: contact-form-7/modules/captcha.php:233
732
msgid "Background color"
733
msgstr ""
734
735
- #: contact-form-7/modules/captcha.php:237
736
msgid "Image size"
737
msgstr ""
738
739
- #: contact-form-7/modules/captcha.php:238
740
msgid "Small"
741
msgstr ""
742
743
- #: contact-form-7/modules/captcha.php:239
744
msgid "Medium"
745
msgstr ""
746
747
- #: contact-form-7/modules/captcha.php:240
748
msgid "Large"
749
msgstr ""
750
751
- #: contact-form-7/modules/captcha.php:245
752
msgid "Input field settings"
753
msgstr ""
754
755
- #: contact-form-7/modules/captcha.php:265
756
msgid "For image"
757
msgstr ""
758
759
- #: contact-form-7/modules/captcha.php:267
760
msgid "For input field"
761
msgstr ""
762
763
- #: contact-form-7/modules/captcha.php:297
764
#, php-format
765
msgid ""
766
"This contact form contains CAPTCHA fields, but the temporary folder for the "
@@ -768,107 +770,142 @@ msgid ""
768
"change its permission manually."
769
msgstr ""
770
771
- #: contact-form-7/modules/captcha.php:303
772
msgid ""
773
"This contact form contains CAPTCHA fields, but the necessary libraries (GD "
774
"and FreeType) are not available on your server."
775
msgstr ""
776
777
- #: contact-form-7/modules/checkbox.php:164
778
msgid "Checkboxes"
779
msgstr ""
780
781
- #: contact-form-7/modules/checkbox.php:167
782
msgid "Radio buttons"
783
msgstr ""
784
785
- #: contact-form-7/modules/checkbox.php:188 contact-form-7/modules/file.php:240
786
- #: contact-form-7/modules/select.php:151 contact-form-7/modules/text.php:178
787
- #: contact-form-7/modules/textarea.php:139
788
msgid "Required field?"
789
msgstr ""
790
791
- #: contact-form-7/modules/checkbox.php:204
792
- #: contact-form-7/modules/select.php:165
793
msgid "Choices"
794
msgstr ""
795
796
- #: contact-form-7/modules/checkbox.php:206
797
- #: contact-form-7/modules/select.php:167
798
msgid "* One choice per line."
799
msgstr ""
800
801
- #: contact-form-7/modules/checkbox.php:210
802
msgid "Put a label first, a checkbox last?"
803
msgstr ""
804
805
- #: contact-form-7/modules/checkbox.php:211
806
msgid "Wrap each item with <label> tag?"
807
msgstr ""
808
809
- #: contact-form-7/modules/checkbox.php:213
810
msgid "Make checkboxes exclusive?"
811
msgstr ""
812
813
- #: contact-form-7/modules/checkbox.php:221
814
- #: contact-form-7/modules/select.php:179 contact-form-7/modules/text.php:221
815
- #: contact-form-7/modules/textarea.php:171
816
msgid "And, put this code into the Mail fields below."
817
msgstr ""
818
819
- #: contact-form-7/modules/file.php:201
820
msgid "Uploading a file fails for any reason"
821
msgstr ""
822
823
- #: contact-form-7/modules/file.php:202
824
msgid "Failed to upload file."
825
msgstr ""
826
827
- #: contact-form-7/modules/file.php:206
828
msgid "Uploaded file is not allowed file type"
829
msgstr ""
830
831
- #: contact-form-7/modules/file.php:207
832
msgid "This file type is not allowed."
833
msgstr ""
834
835
- #: contact-form-7/modules/file.php:211
836
msgid "Uploaded file is too large"
837
msgstr ""
838
839
- #: contact-form-7/modules/file.php:212
840
msgid "This file is too large."
841
msgstr ""
842
843
- #: contact-form-7/modules/file.php:216
844
msgid "Uploading a file fails for PHP error"
845
msgstr ""
846
847
- #: contact-form-7/modules/file.php:217
848
msgid "Failed to upload file. Error occurred."
849
msgstr ""
850
851
- #: contact-form-7/modules/file.php:231
852
msgid "File upload"
853
msgstr ""
854
855
- #: contact-form-7/modules/file.php:254
856
msgid "File size limit"
857
msgstr ""
858
859
- #: contact-form-7/modules/file.php:254
860
msgid "bytes"
861
msgstr ""
862
863
- #: contact-form-7/modules/file.php:257
864
msgid "Acceptable file types"
865
msgstr ""
866
867
- #: contact-form-7/modules/file.php:264
868
msgid "And, put this code into the File Attachments field below."
869
msgstr ""
870
871
- #: contact-form-7/modules/file.php:289
872
#, php-format
873
msgid ""
874
"This contact form contains file uploading fields, but the temporary folder "
@@ -883,78 +920,134 @@ msgid ""
883
"strong> <a href=\"%s\" target=\"_blank\">See how to avoid it.</a>"
884
msgstr ""
885
886
- #: contact-form-7/modules/quiz.php:159
887
msgid "Sender doesn't enter the correct answer to the quiz"
888
msgstr ""
889
890
- #: contact-form-7/modules/quiz.php:160
891
msgid "Your answer is not correct."
892
msgstr ""
893
894
- #: contact-form-7/modules/quiz.php:173
895
msgid "Quiz"
896
msgstr ""
897
898
- #: contact-form-7/modules/quiz.php:203
899
msgid "Quizzes"
900
msgstr ""
901
902
- #: contact-form-7/modules/quiz.php:205
903
msgid "* quiz|answer (e.g. 1+1=?|2)"
904
msgstr ""
905
906
- #: contact-form-7/modules/select.php:142
907
msgid "Drop-down menu"
908
msgstr ""
909
910
- #: contact-form-7/modules/select.php:171
911
msgid "Allow multiple selections?"
912
msgstr ""
913
914
- #: contact-form-7/modules/select.php:172
915
msgid "Insert a blank item as the first option?"
916
msgstr ""
917
918
- #: contact-form-7/modules/submit.php:61
919
msgid "Submit button"
920
msgstr ""
921
922
- #: contact-form-7/modules/submit.php:79
923
msgid "Label"
924
msgstr ""
925
926
- #: contact-form-7/modules/text.php:155
927
msgid "Text field"
928
msgstr ""
929
930
- #: contact-form-7/modules/text.php:158
931
- msgid "Email field"
932
msgstr ""
933
934
- #: contact-form-7/modules/text.php:200
935
- msgid "Akismet"
936
msgstr ""
937
938
- #: contact-form-7/modules/text.php:202
939
- msgid "This field requires author's name"
940
msgstr ""
941
942
- #: contact-form-7/modules/text.php:203
943
- msgid "This field requires author's URL"
944
msgstr ""
945
946
- #: contact-form-7/modules/text.php:205
947
- msgid "This field requires author's email address"
948
msgstr ""
949
950
- #: contact-form-7/modules/text.php:211 contact-form-7/modules/textarea.php:161
951
- msgid "Default value"
952
msgstr ""
953
954
- #: contact-form-7/modules/text.php:214 contact-form-7/modules/textarea.php:164
955
- msgid "Use this text as watermark?"
956
msgstr ""
957
958
- #: contact-form-7/modules/textarea.php:130
959
msgid "Text area"
960
msgstr ""
2
msgstr ""
3
"Project-Id-Version: Contact Form 7\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2013-04-06 18:43+0900\n"
6
+ "PO-Revision-Date: 2013-04-06 18:44+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
13
"X-Poedit-KeywordsList: __;_e;__ngettext:1,2;_c\n"
14
"X-Poedit-Basepath: ../..\n"
15
"Plural-Forms: nplurals=1; plural=0;\n"
16
+ "X-Generator: Poedit 1.5.5\n"
17
"X-Poedit-SearchPath-0: contact-form-7\n"
18
19
#: contact-form-7/wp-contact-form-7.php:5
20
msgid "Just another contact form plugin. Simple but flexible."
21
msgstr ""
22
23
+ #: contact-form-7/settings.php:202
24
#, php-format
25
msgid "Contact form %d"
26
msgstr ""
221
msgstr ""
222
223
#: contact-form-7/admin/includes/class-contact-forms-list-table.php:14
224
+ #: contact-form-7/modules/date.php:138
225
msgid "Date"
226
msgstr ""
227
268
msgstr ""
269
270
#: contact-form-7/admin/includes/meta-boxes.php:80
271
+ #: contact-form-7/includes/functions.php:112
272
msgid "Message body:"
273
msgstr ""
274
276
msgid "Contact Form"
277
msgstr ""
278
279
+ #: contact-form-7/includes/classes.php:810
280
msgid "Untitled"
281
msgstr ""
282
339
msgstr ""
340
341
#: contact-form-7/includes/functions.php:55
342
msgid "There is a field that the sender must fill in"
343
msgstr ""
344
345
+ #: contact-form-7/includes/functions.php:56
346
msgid "Please fill the required field."
347
msgstr ""
348
349
+ #: contact-form-7/includes/functions.php:80
350
msgid "Your Name"
351
msgstr ""
352
353
+ #: contact-form-7/includes/functions.php:80
354
+ #: contact-form-7/includes/functions.php:82
355
msgid "(required)"
356
msgstr ""
357
358
+ #: contact-form-7/includes/functions.php:82
359
msgid "Your Email"
360
msgstr ""
361
362
+ #: contact-form-7/includes/functions.php:84
363
msgid "Subject"
364
msgstr ""
365
366
+ #: contact-form-7/includes/functions.php:86
367
msgid "Your Message"
368
msgstr ""
369
370
+ #: contact-form-7/includes/functions.php:88
371
+ #: contact-form-7/modules/submit.php:24
372
msgid "Send"
373
msgstr ""
374
375
+ #: contact-form-7/includes/functions.php:96
376
#, php-format
377
msgid "From: %s"
378
msgstr ""
379
380
+ #: contact-form-7/includes/functions.php:97
381
#, php-format
382
msgid "Subject: %s"
383
msgstr ""
384
385
+ #: contact-form-7/includes/functions.php:98
386
msgid "Message Body:"
387
msgstr ""
388
389
+ #: contact-form-7/includes/functions.php:99
390
+ #: contact-form-7/includes/functions.php:113
391
#, php-format
392
msgid "This mail is sent via contact form on %1$s %2$s"
393
msgstr ""
394
395
+ #: contact-form-7/includes/functions.php:149
396
msgid "Afrikaans"
397
msgstr ""
398
399
+ #: contact-form-7/includes/functions.php:150
400
msgid "Albanian"
401
msgstr ""
402
403
+ #: contact-form-7/includes/functions.php:151
404
msgid "Arabic"
405
msgstr ""
406
407
+ #: contact-form-7/includes/functions.php:152
408
msgid "Armenian"
409
msgstr ""
410
411
+ #: contact-form-7/includes/functions.php:153
412
msgid "Azerbaijani"
413
msgstr ""
414
415
+ #: contact-form-7/includes/functions.php:154
416
msgid "Bangla"
417
msgstr ""
418
419
+ #: contact-form-7/includes/functions.php:155
420
msgid "Basque"
421
msgstr ""
422
423
+ #: contact-form-7/includes/functions.php:156
424
msgid "Belarusian"
425
msgstr ""
426
427
+ #: contact-form-7/includes/functions.php:157
428
msgid "Bosnian"
429
msgstr ""
430
431
+ #: contact-form-7/includes/functions.php:158
432
msgid "Brazilian Portuguese"
433
msgstr ""
434
435
+ #: contact-form-7/includes/functions.php:159
436
msgid "Bulgarian"
437
msgstr ""
438
439
+ #: contact-form-7/includes/functions.php:160
440
msgid "Catalan"
441
msgstr ""
442
443
+ #: contact-form-7/includes/functions.php:161
444
msgid "Chinese (Simplified)"
445
msgstr ""
446
447
+ #: contact-form-7/includes/functions.php:162
448
msgid "Chinese (Traditional)"
449
msgstr ""
450
451
+ #: contact-form-7/includes/functions.php:163
452
msgid "Croatian"
453
msgstr ""
454
455
+ #: contact-form-7/includes/functions.php:164
456
msgid "Czech"
457
msgstr ""
458
459
+ #: contact-form-7/includes/functions.php:165
460
msgid "Danish"
461
msgstr ""
462
463
+ #: contact-form-7/includes/functions.php:166
464
msgid "Dutch"
465
msgstr ""
466
467
+ #: contact-form-7/includes/functions.php:167
468
msgid "English"
469
msgstr ""
470
471
+ #: contact-form-7/includes/functions.php:168
472
msgid "Esperanto"
473
msgstr ""
474
475
+ #: contact-form-7/includes/functions.php:169
476
msgid "Estonian"
477
msgstr ""
478
479
+ #: contact-form-7/includes/functions.php:170
480
msgid "Finnish"
481
msgstr ""
482
483
+ #: contact-form-7/includes/functions.php:171
484
msgid "French"
485
msgstr ""
486
487
+ #: contact-form-7/includes/functions.php:172
488
msgid "Galician"
489
msgstr ""
490
491
+ #: contact-form-7/includes/functions.php:173
492
msgid "Georgian"
493
msgstr ""
494
495
+ #: contact-form-7/includes/functions.php:174
496
msgid "German"
497
msgstr ""
498
499
+ #: contact-form-7/includes/functions.php:175
500
msgid "Greek"
501
msgstr ""
502
503
+ #: contact-form-7/includes/functions.php:176
504
msgid "Hebrew"
505
msgstr ""
506
507
+ #: contact-form-7/includes/functions.php:177
508
msgid "Hindi"
509
msgstr ""
510
511
+ #: contact-form-7/includes/functions.php:178
512
msgid "Hungarian"
513
msgstr ""
514
515
+ #: contact-form-7/includes/functions.php:179
516
msgid "Indonesian"
517
msgstr ""
518
519
+ #: contact-form-7/includes/functions.php:180
520
msgid "Irish"
521
msgstr ""
522
523
+ #: contact-form-7/includes/functions.php:181
524
msgid "Italian"
525
msgstr ""
526
527
+ #: contact-form-7/includes/functions.php:182
528
msgid "Japanese"
529
msgstr ""
530
531
+ #: contact-form-7/includes/functions.php:183
532
msgid "Korean"
533
msgstr ""
534
535
+ #: contact-form-7/includes/functions.php:184
536
msgid "Latvian"
537
msgstr ""
538
539
+ #: contact-form-7/includes/functions.php:185
540
msgid "Lithuanian"
541
msgstr ""
542
543
+ #: contact-form-7/includes/functions.php:186
544
msgid "Macedonian"
545
msgstr ""
546
547
+ #: contact-form-7/includes/functions.php:187
548
msgid "Malay"
549
msgstr ""
550
551
+ #: contact-form-7/includes/functions.php:188
552
msgid "Malayalam"
553
msgstr ""
554
555
+ #: contact-form-7/includes/functions.php:189
556
msgid "Maltese"
557
msgstr ""
558
559
+ #: contact-form-7/includes/functions.php:190
560
msgid "Norwegian"
561
msgstr ""
562
563
+ #: contact-form-7/includes/functions.php:191
564
msgid "Persian"
565
msgstr ""
566
567
+ #: contact-form-7/includes/functions.php:192
568
msgid "Polish"
569
msgstr ""
570
571
+ #: contact-form-7/includes/functions.php:193
572
msgid "Portuguese"
573
msgstr ""
574
575
+ #: contact-form-7/includes/functions.php:194
576
msgid "Russian"
577
msgstr ""
578
579
+ #: contact-form-7/includes/functions.php:195
580
msgid "Romanian"
581
msgstr ""
582
583
+ #: contact-form-7/includes/functions.php:196
584
msgid "Serbian"
585
msgstr ""
586
587
+ #: contact-form-7/includes/functions.php:197
588
msgid "Sinhala"
589
msgstr ""
590
591
+ #: contact-form-7/includes/functions.php:198
592
msgid "Slovak"
593
msgstr ""
594
595
+ #: contact-form-7/includes/functions.php:199
596
msgid "Slovene"
597
msgstr ""
598
599
+ #: contact-form-7/includes/functions.php:200
600
msgid "Spanish"
601
msgstr ""
602
603
+ #: contact-form-7/includes/functions.php:201
604
msgid "Swedish"
605
msgstr ""
606
607
+ #: contact-form-7/includes/functions.php:202
608
msgid "Tamil"
609
msgstr ""
610
611
+ #: contact-form-7/includes/functions.php:203
612
msgid "Thai"
613
msgstr ""
614
615
+ #: contact-form-7/includes/functions.php:204
616
msgid "Tagalog"
617
msgstr ""
618
619
+ #: contact-form-7/includes/functions.php:205
620
msgid "Turkish"
621
msgstr ""
622
623
+ #: contact-form-7/includes/functions.php:206
624
msgid "Ukrainian"
625
msgstr ""
626
627
+ #: contact-form-7/includes/functions.php:207
628
msgid "Vietnamese"
629
msgstr ""
630
631
+ #: contact-form-7/modules/acceptance.php:133
632
msgid "Acceptance"
633
msgstr ""
634
635
+ #: contact-form-7/modules/acceptance.php:142
636
+ #: contact-form-7/modules/captcha.php:200
637
+ #: contact-form-7/modules/checkbox.php:181 contact-form-7/modules/date.php:155
638
+ #: contact-form-7/modules/file.php:234 contact-form-7/modules/number.php:167
639
+ #: contact-form-7/modules/quiz.php:159 contact-form-7/modules/select.php:143
640
+ #: contact-form-7/modules/text.php:229 contact-form-7/modules/textarea.php:106
641
msgid "Name"
642
msgstr ""
643
644
+ #: contact-form-7/modules/acceptance.php:147
645
+ #: contact-form-7/modules/acceptance.php:150
646
+ #: contact-form-7/modules/captcha.php:207
647
+ #: contact-form-7/modules/captcha.php:210
648
+ #: contact-form-7/modules/captcha.php:215
649
+ #: contact-form-7/modules/captcha.php:218
650
#: contact-form-7/modules/captcha.php:222
651
#: contact-form-7/modules/captcha.php:233
652
+ #: contact-form-7/modules/captcha.php:236
653
+ #: contact-form-7/modules/captcha.php:241
654
+ #: contact-form-7/modules/captcha.php:244
655
+ #: contact-form-7/modules/checkbox.php:186
656
+ #: contact-form-7/modules/checkbox.php:189 contact-form-7/modules/date.php:160
657
+ #: contact-form-7/modules/date.php:163 contact-form-7/modules/date.php:168
658
+ #: contact-form-7/modules/date.php:171 contact-form-7/modules/date.php:176
659
+ #: contact-form-7/modules/date.php:181 contact-form-7/modules/file.php:239
660
+ #: contact-form-7/modules/file.php:242 contact-form-7/modules/file.php:247
661
+ #: contact-form-7/modules/file.php:250 contact-form-7/modules/number.php:172
662
+ #: contact-form-7/modules/number.php:175 contact-form-7/modules/number.php:180
663
+ #: contact-form-7/modules/number.php:183 contact-form-7/modules/number.php:188
664
+ #: contact-form-7/modules/number.php:193 contact-form-7/modules/quiz.php:164
665
+ #: contact-form-7/modules/quiz.php:167 contact-form-7/modules/quiz.php:172
666
+ #: contact-form-7/modules/quiz.php:175 contact-form-7/modules/select.php:148
667
+ #: contact-form-7/modules/select.php:151 contact-form-7/modules/submit.php:55
668
+ #: contact-form-7/modules/submit.php:58 contact-form-7/modules/submit.php:63
669
+ #: contact-form-7/modules/text.php:234 contact-form-7/modules/text.php:237
670
+ #: contact-form-7/modules/text.php:242 contact-form-7/modules/text.php:245
671
+ #: contact-form-7/modules/text.php:251 contact-form-7/modules/text.php:264
672
+ #: contact-form-7/modules/textarea.php:111
673
+ #: contact-form-7/modules/textarea.php:114
674
+ #: contact-form-7/modules/textarea.php:119
675
+ #: contact-form-7/modules/textarea.php:122
676
+ #: contact-form-7/modules/textarea.php:127
677
+ #: contact-form-7/modules/textarea.php:132
678
msgid "optional"
679
msgstr ""
680
681
+ #: contact-form-7/modules/acceptance.php:156
682
msgid "Make this checkbox checked by default?"
683
msgstr ""
684
685
+ #: contact-form-7/modules/acceptance.php:157
686
msgid "Make this checkbox work inversely?"
687
msgstr ""
688
689
+ #: contact-form-7/modules/acceptance.php:158
690
msgid "* That means visitor who accepts the term unchecks it."
691
msgstr ""
692
693
+ #: contact-form-7/modules/acceptance.php:163
694
+ #: contact-form-7/modules/captcha.php:249
695
+ #: contact-form-7/modules/checkbox.php:209 contact-form-7/modules/date.php:189
696
+ #: contact-form-7/modules/file.php:255 contact-form-7/modules/number.php:201
697
+ #: contact-form-7/modules/quiz.php:187 contact-form-7/modules/select.php:168
698
+ #: contact-form-7/modules/submit.php:70 contact-form-7/modules/text.php:272
699
+ #: contact-form-7/modules/textarea.php:140
700
msgid "Copy this code and paste it into the form left."
701
msgstr ""
702
703
+ #: contact-form-7/modules/captcha.php:15
704
msgid ""
705
"To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/"
706
"really-simple-captcha/\">Really Simple CAPTCHA</a> plugin installed."
707
msgstr ""
708
709
+ #: contact-form-7/modules/captcha.php:172
710
msgid "The code that sender entered does not match the CAPTCHA"
711
msgstr ""
712
713
+ #: contact-form-7/modules/captcha.php:173
714
msgid "Your entered code is incorrect."
715
msgstr ""
716
717
+ #: contact-form-7/modules/captcha.php:186
718
msgid "CAPTCHA"
719
msgstr ""
720
721
+ #: contact-form-7/modules/captcha.php:197
722
msgid "Note: To use CAPTCHA, you need Really Simple CAPTCHA plugin installed."
723
msgstr ""
724
725
+ #: contact-form-7/modules/captcha.php:204
726
msgid "Image settings"
727
msgstr ""
728
729
+ #: contact-form-7/modules/captcha.php:215
730
msgid "Foreground color"
731
msgstr ""
732
733
+ #: contact-form-7/modules/captcha.php:218
734
msgid "Background color"
735
msgstr ""
736
737
+ #: contact-form-7/modules/captcha.php:222
738
msgid "Image size"
739
msgstr ""
740
741
+ #: contact-form-7/modules/captcha.php:223
742
msgid "Small"
743
msgstr ""
744
745
+ #: contact-form-7/modules/captcha.php:224
746
msgid "Medium"
747
msgstr ""
748
749
+ #: contact-form-7/modules/captcha.php:225
750
msgid "Large"
751
msgstr ""
752
753
+ #: contact-form-7/modules/captcha.php:230
754
msgid "Input field settings"
755
msgstr ""
756
757
+ #: contact-form-7/modules/captcha.php:250
758
msgid "For image"
759
msgstr ""
760
761
+ #: contact-form-7/modules/captcha.php:252
762
msgid "For input field"
763
msgstr ""
764
765
+ #: contact-form-7/modules/captcha.php:282
766
#, php-format
767
msgid ""
768
"This contact form contains CAPTCHA fields, but the temporary folder for the "
770
"change its permission manually."
771
msgstr ""
772
773
+ #: contact-form-7/modules/captcha.php:288
774
msgid ""
775
"This contact form contains CAPTCHA fields, but the necessary libraries (GD "
776
"and FreeType) are not available on your server."
777
msgstr ""
778
779
+ #: contact-form-7/modules/checkbox.php:154
780
msgid "Checkboxes"
781
msgstr ""
782
783
+ #: contact-form-7/modules/checkbox.php:157
784
msgid "Radio buttons"
785
msgstr ""
786
787
+ #: contact-form-7/modules/checkbox.php:178 contact-form-7/modules/date.php:154
788
+ #: contact-form-7/modules/file.php:233 contact-form-7/modules/number.php:166
789
+ #: contact-form-7/modules/select.php:142 contact-form-7/modules/text.php:228
790
+ #: contact-form-7/modules/textarea.php:105
791
msgid "Required field?"
792
msgstr ""
793
794
+ #: contact-form-7/modules/checkbox.php:194
795
+ #: contact-form-7/modules/select.php:156
796
msgid "Choices"
797
msgstr ""
798
799
+ #: contact-form-7/modules/checkbox.php:196
800
+ #: contact-form-7/modules/select.php:158
801
msgid "* One choice per line."<