Contact Form 7 - Version 3.3.1

Version Description

  • Fixed: Apply esc_html() to response outputs. In the case it is necessary to use HTML tags in the response messages, new wpcf7_form_response_output filter is available.
  • Fixed: Don't use $_POST for internal data passing. Use global $wpcf7 variable instead.
  • Fixed: Treat array value correctly in the Akismet module.
  • Fixed: Escape outputs of [_user_agent] spacial mail tags used in the HTML mode.
  • Fixed: Don't show the notice about conflicting with Jetpack to new users who rarely see such conflicts.
  • The jQuery Form Plugin (jquery.form.js) has been updated to 3.18.
  • Translations for Danish and Finnish have been updated.
Download this release

Release Info

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

Code changes from version 3.3 to 3.3.1

includes/classes.php CHANGED
@@ -119,6 +119,8 @@ class WPCF7_ContactForm {
119
/* Generating Form HTML */
120
121
function form_html() {
122
$form = '<div class="wpcf7" id="' . $this->unit_tag . '">';
123
124
$url = wpcf7_get_request_uri();
@@ -133,11 +135,11 @@ class WPCF7_ContactForm {
133
$class = 'wpcf7-form';
134
135
if ( $this->is_posted() ) {
136
- if ( empty( $_POST['_wpcf7_result']['valid'] ) )
137
$class .= ' invalid';
138
- elseif ( ! empty( $_POST['_wpcf7_result']['spam'] ) )
139
$class .= ' spam';
140
- elseif ( ! empty( $_POST['_wpcf7_result']['mail_sent'] ) )
141
$class .= ' sent';
142
else
143
$class .= ' failed';
@@ -185,39 +187,48 @@ class WPCF7_ContactForm {
185
}
186
187
function form_response_output() {
188
$class = 'wpcf7-response-output';
189
$content = '';
190
191
if ( $this->is_posted() ) { // Post response output for non-AJAX
192
193
- if ( empty( $_POST['_wpcf7_result']['valid'] ) )
194
$class .= ' wpcf7-validation-errors';
195
- elseif ( ! empty( $_POST['_wpcf7_result']['spam'] ) )
196
$class .= ' wpcf7-spam-blocked';
197
- elseif ( ! empty( $_POST['_wpcf7_result']['mail_sent'] ) )
198
$class .= ' wpcf7-mail-sent-ok';
199
else
200
$class .= ' wpcf7-mail-sent-ng';
201
202
- $content = $_POST['_wpcf7_result']['message'];
203
204
} else {
205
$class .= ' wpcf7-display-none';
206
}
207
208
- $class = ' class="' . $class . '"';
209
210
- return '<div' . $class . '>' . $content . '</div>';
211
}
212
213
function validation_error( $name ) {
214
if ( ! $this->is_posted() )
215
return '';
216
217
- if ( ! isset( $_POST['_wpcf7_result']['invalid_reasons'][$name] ) )
218
return '';
219
220
- $ve = trim( $_POST['_wpcf7_result']['invalid_reasons'][$name] );
221
222
if ( empty( $ve ) )
223
return '';
119
/* Generating Form HTML */
120
121
function form_html() {
122
+ global $wpcf7;
123
+
124
$form = '<div class="wpcf7" id="' . $this->unit_tag . '">';
125
126
$url = wpcf7_get_request_uri();
135
$class = 'wpcf7-form';
136
137
if ( $this->is_posted() ) {
138
+ if ( empty( $wpcf7->result['valid'] ) )
139
$class .= ' invalid';
140
+ elseif ( ! empty( $wpcf7->result['spam'] ) )
141
$class .= ' spam';
142
+ elseif ( ! empty( $wpcf7->result['mail_sent'] ) )
143
$class .= ' sent';
144
else
145
$class .= ' failed';
187
}
188
189
function form_response_output() {
190
+ global $wpcf7;
191
+
192
$class = 'wpcf7-response-output';
193
$content = '';
194
195
if ( $this->is_posted() ) { // Post response output for non-AJAX
196
197
+ if ( empty( $wpcf7->result['valid'] ) )
198
$class .= ' wpcf7-validation-errors';
199
+ elseif ( ! empty( $wpcf7->result['spam'] ) )
200
$class .= ' wpcf7-spam-blocked';
201
+ elseif ( ! empty( $wpcf7->result['mail_sent'] ) )
202
$class .= ' wpcf7-mail-sent-ok';
203
else
204
$class .= ' wpcf7-mail-sent-ng';
205
206
+ if ( ! empty( $wpcf7->result['message'] ) )
207
+ $content = $wpcf7->result['message'];
208
209
} else {
210
$class .= ' wpcf7-display-none';
211
}
212
213
+ $class = trim( $class );
214
215
+ $output = sprintf( '<div class="%1$s">%2$s</div>',
216
+ $class, esc_html( $content ) );
217
+
218
+ return apply_filters( 'wpcf7_form_response_output',
219
+ $output, $class, $content, $this );
220
}
221
222
function validation_error( $name ) {
223
+ global $wpcf7;
224
+
225
if ( ! $this->is_posted() )
226
return '';
227
228
+ if ( ! isset( $wpcf7->result['invalid_reasons'][$name] ) )
229
return '';
230
231
+ $ve = trim( $wpcf7->result['invalid_reasons'][$name] );
232
233
if ( empty( $ve ) )
234
return '';
includes/controller.php CHANGED
@@ -110,7 +110,7 @@ function wpcf7_is_xhr() {
110
}
111
112
function wpcf7_submit_nonajax() {
113
- global $wpcf7_contact_form;
114
115
if ( ! isset( $_POST['_wpcf7'] ) )
116
return;
@@ -118,7 +118,7 @@ function wpcf7_submit_nonajax() {
118
$id = (int) $_POST['_wpcf7'];
119
120
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) )
121
- $_POST['_wpcf7_result'] = $wpcf7_contact_form->submit();
122
123
$wpcf7_contact_form = null;
124
}
@@ -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.15', true );
232
233
$in_footer = true;
234
if ( 'header' === WPCF7_LOAD_JS )
110
}
111
112
function wpcf7_submit_nonajax() {
113
+ global $wpcf7, $wpcf7_contact_form;
114
115
if ( ! isset( $_POST['_wpcf7'] ) )
116
return;
118
$id = (int) $_POST['_wpcf7'];
119
120
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) )
121
+ $wpcf7->result = $wpcf7_contact_form->submit();
122
123
$wpcf7_contact_form = null;
124
}
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.18', true );
232
233
$in_footer = true;
234
if ( 'header' === WPCF7_LOAD_JS )
includes/functions.php CHANGED
@@ -41,6 +41,11 @@ function wpcf7_messages() {
41
'default' => __( 'Validation errors occurred. Please confirm the fields and submit it again.', 'wpcf7' )
42
),
43
44
'accept_terms' => array(
45
'description' => __( "There are terms that the sender must accept", 'wpcf7' ),
46
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
41
'default' => __( 'Validation errors occurred. Please confirm the fields and submit it again.', 'wpcf7' )
42
),
43
44
+ 'spam' => array(
45
+ 'description' => __( "Submission was referred to as spam", 'wpcf7' ),
46
+ 'default' => __( 'Failed to send your message. Please try later or contact the administrator by another method.', 'wpcf7' )
47
+ ),
48
+
49
'accept_terms' => array(
50
'description' => __( "There are terms that the sender must accept", 'wpcf7' ),
51
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
includes/js/jquery.form.js CHANGED
@@ -1,7 +1,7 @@
1
/*!
2
* jQuery Form Plugin
3
- * version: 3.15 (09-SEP-2012)
4
- * @requires jQuery v1.3.2 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
7
* Project repository: https://github.com/malsup/form
@@ -181,6 +181,8 @@ $.fn.ajaxSubmit = function(options) {
181
log("fileAPI :" + fileAPI);
182
var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
183
184
// options.iframe allows user to force iframe mode
185
// 06-NOV-09: now defaulting to iframe mode if file input is detected
186
if (options.iframe !== false && (options.iframe || shouldUseFrame)) {
@@ -188,20 +190,22 @@ $.fn.ajaxSubmit = function(options) {
188
// see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
189
if (options.closeKeepAlive) {
190
$.get(options.closeKeepAlive, function() {
191
- fileUploadIframe(a);
192
});
193
}
194
- else {
195
- fileUploadIframe(a);
196
- }
197
}
198
else if ((hasFileInputs || multipart) && fileAPI) {
199
- fileUploadXhr(a);
200
}
201
else {
202
- $.ajax(options);
203
}
204
205
// clear element array
206
for (var k=0; k < elements.length; k++)
207
elements[k] = null;
@@ -244,7 +248,7 @@ $.fn.ajaxSubmit = function(options) {
244
contentType: false,
245
processData: false,
246
cache: false,
247
- type: 'POST'
248
});
249
250
if (options.uploadProgress) {
@@ -273,19 +277,21 @@ $.fn.ajaxSubmit = function(options) {
273
if(beforeSend)
274
beforeSend.call(this, xhr, o);
275
};
276
- $.ajax(s);
277
}
278
279
// private function for handling file uploads (hat tip to YAHOO!)
280
function fileUploadIframe(a) {
281
var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
282
var useProp = !!$.fn.prop;
283
284
if ($(':input[name=submit],:input[id=submit]', form).length) {
285
// if there is an input with a name or id of 'submit' then we won't be
286
// able to invoke the submit fn on the form (at least not x-browser)
287
alert('Error: Form elements must not have name or id of "submit".');
288
- return;
289
}
290
291
if (a) {
@@ -360,10 +366,12 @@ $.fn.ajaxSubmit = function(options) {
360
if (s.global) {
361
$.active--;
362
}
363
- return;
364
}
365
if (xhr.aborted) {
366
- return;
367
}
368
369
// add submitting element to data if we know it
@@ -505,10 +513,12 @@ $.fn.ajaxSubmit = function(options) {
505
}
506
if (e === CLIENT_TIMEOUT_ABORT && xhr) {
507
xhr.abort('timeout');
508
return;
509
}
510
else if (e == SERVER_ABORT && xhr) {
511
xhr.abort('server abort');
512
return;
513
}
514
@@ -613,6 +623,7 @@ $.fn.ajaxSubmit = function(options) {
613
if (status === 'success') {
614
if (s.success)
615
s.success.call(s.context, data, 'success', xhr);
616
if (g)
617
$.event.trigger("ajaxSuccess", [xhr, s]);
618
}
@@ -621,6 +632,7 @@ $.fn.ajaxSubmit = function(options) {
621
errMsg = xhr.statusText;
622
if (s.error)
623
s.error.call(s.context, xhr, status, errMsg);
624
if (g)
625
$.event.trigger("ajaxError", [xhr, s, errMsg]);
626
}
@@ -685,6 +697,8 @@ $.fn.ajaxSubmit = function(options) {
685
}
686
return data;
687
};
688
}
689
};
690
1
/*!
2
* jQuery Form Plugin
3
+ * version: 3.18 (28-SEP-2012)
4
+ * @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
7
* Project repository: https://github.com/malsup/form
181
log("fileAPI :" + fileAPI);
182
var shouldUseFrame = (hasFileInputs || multipart) && !fileAPI;
183
184
+ var jqxhr;
185
+
186
// options.iframe allows user to force iframe mode
187
// 06-NOV-09: now defaulting to iframe mode if file input is detected
188
if (options.iframe !== false && (options.iframe || shouldUseFrame)) {
190
// see: http://groups.google.com/group/jquery-dev/browse_thread/thread/36395b7ab510dd5d
191
if (options.closeKeepAlive) {
192
$.get(options.closeKeepAlive, function() {
193
+ jqxhr = fileUploadIframe(a);
194
});
195
}
196
+ else {
197
+ jqxhr = fileUploadIframe(a);
198
+ }
199
}
200
else if ((hasFileInputs || multipart) && fileAPI) {
201
+ jqxhr = fileUploadXhr(a);
202
}
203
else {
204
+ jqxhr = $.ajax(options);
205
}
206
207
+ $form.removeData('jqxhr').data('jqxhr', jqxhr);
208
+
209
// clear element array
210
for (var k=0; k < elements.length; k++)
211
elements[k] = null;
248
contentType: false,
249
processData: false,
250
cache: false,
251
+ type: method || 'POST'
252
});
253
254
if (options.uploadProgress) {
277
if(beforeSend)
278
beforeSend.call(this, xhr, o);
279
};
280
+ return $.ajax(s);
281
}
282
283
// private function for handling file uploads (hat tip to YAHOO!)
284
function fileUploadIframe(a) {
285
var form = $form[0], el, i, s, g, id, $io, io, xhr, sub, n, timedOut, timeoutHandle;
286
var useProp = !!$.fn.prop;
287
+ var deferred = $.Deferred();
288
289
if ($(':input[name=submit],:input[id=submit]', form).length) {
290
// if there is an input with a name or id of 'submit' then we won't be
291
// able to invoke the submit fn on the form (at least not x-browser)
292
alert('Error: Form elements must not have name or id of "submit".');
293
+ deferred.reject();
294
+ return deferred;
295
}
296
297
if (a) {
366
if (s.global) {
367
$.active--;
368
}
369
+ deferred.reject();
370
+ return deferred;
371
}
372
if (xhr.aborted) {
373
+ deferred.reject();
374
+ return deferred;
375
}
376
377
// add submitting element to data if we know it
513
}
514
if (e === CLIENT_TIMEOUT_ABORT && xhr) {
515
xhr.abort('timeout');
516
+ deferred.reject(xhr, 'timeout');
517
return;
518
}
519
else if (e == SERVER_ABORT && xhr) {
520
xhr.abort('server abort');
521
+ deferred.reject(xhr, 'error', 'server abort');
522
return;
523
}
524
623
if (status === 'success') {
624
if (s.success)
625
s.success.call(s.context, data, 'success', xhr);
626
+ deferred.resolve(xhr.responseText, 'success', xhr);
627
if (g)
628
$.event.trigger("ajaxSuccess", [xhr, s]);
629
}
632
errMsg = xhr.statusText;
633
if (s.error)
634
s.error.call(s.context, xhr, status, errMsg);
635
+ deferred.reject(xhr, 'error', errMsg);
636
if (g)
637
$.event.trigger("ajaxError", [xhr, s, errMsg]);
638
}
697
}
698
return data;
699
};
700
+
701
+ return deferred;
702
}
703
};
704
includes/js/jquery.form.min.js CHANGED
@@ -1,7 +1,7 @@
1
/*!
2
* jQuery Form Plugin
3
- * version: 3.15 (09-SEP-2012)
4
- * @requires jQuery v1.3.2 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
7
* Project repository: https://github.com/malsup/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,x,j,m=this;if(typeof h=="function"){h={success:h}}g=this.attr("method");x=this.attr("action");j=(typeof x==="string")?e.trim(x):"";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 A,B=this.formToArray(h.semantic,p);if(h.data){h.extraData=h.data;A=e.param(h.data,l)}if(h.beforeSubmit&&h.beforeSubmit(B,this,h)===false){d("ajaxSubmit: submit aborted via beforeSubmit callback");return this}this.trigger("form-submit-validate",[B,this,h,s]);if(s.veto){d("ajaxSubmit: submit vetoed via form-submit-validate trigger");return this}var v=e.param(B,l);if(A){v=(v?(v+"&"+A):A)}if(h.type.toUpperCase()=="GET"){h.url+=(h.url.indexOf("?")>=0?"&":"?")+v;h.data=null}else{h.data=v}var D=[];if(h.resetForm){D.push(function(){m.resetForm()})}if(h.clearForm){D.push(function(){m.clearForm(h.includeHidden)})}if(!h.dataType&&h.target){var i=h.success||function(){};D.push(function(q){var k=h.replaceTarget?"replaceWith":"html";e(h.target)[k](q).each(i,arguments)})}else{if(h.success){D.push(h.success)}}h.success=function(G,q,H){var F=h.context||this;for(var E=0,k=D.length;E<k;E++){D[E].apply(F,[G,q,H||m,m])}};var z=e("input:file:enabled[value]",this);var n=z.length>0;var y="multipart/form-data";var u=(m.attr("enctype")==y||m.attr("encoding")==y);var t=c.fileapi&&c.formdata;d("fileAPI :"+t);var o=(n||u)&&!t;if(h.iframe!==false&&(h.iframe||o)){if(h.closeKeepAlive){e.get(h.closeKeepAlive,function(){C(B)})}else{C(B)}}else{if((n||u)&&t){r(B)}else{e.ajax(h)}}for(var w=0;w<p.length;w++){p[w]=null}this.trigger("form-submit-notify",[this,h]);return this;function f(G){var H=e.param(G).split("&");var q=H.length;var k={};var F,E;for(F=0;F<q;F++){E=H[F].split("=");k[decodeURIComponent(E[0])]=decodeURIComponent(E[1])}return k}function r(q){var k=new FormData();for(var E=0;E<q.length;E++){k.append(q[E].name,q[E].value)}if(h.extraData){var H=f(h.extraData);for(var I in H){if(H.hasOwnProperty(I)){k.append(I,H[I])}}}h.data=null;var G=e.extend(true,{},e.ajaxSettings,h,{contentType:false,processData:false,cache:false,type:"POST"});if(h.uploadProgress){G.xhr=function(){var J=jQuery.ajaxSettings.xhr();if(J.upload){J.upload.onprogress=function(N){var M=0;var K=N.loaded||N.position;var L=N.total;if(N.lengthComputable){M=Math.ceil(K/L*100)}h.uploadProgress(N,K,L,M)}}return J}}G.data=null;var F=G.beforeSend;G.beforeSend=function(K,J){J.data=k;if(F){F.call(this,K,J)}};e.ajax(G)}function C(ac){var H=m[0],G,Y,S,aa,V,J,N,L,M,W,Z,Q;var K=!!e.fn.prop;if(e(":input[name=submit],:input[id=submit]",H).length){alert('Error: Form elements must not have name or id of "submit".');return}if(ac){for(Y=0;Y<p.length;Y++){G=e(p[Y]);if(K){G.prop("disabled",false)}else{G.removeAttr("disabled")}}}S=e.extend(true,{},e.ajaxSettings,h);S.context=S.context||S;V="jqFormIO"+(new Date().getTime());if(S.iframeTarget){J=e(S.iframeTarget);W=J.attr("name");if(!W){J.attr("name",V)}else{V=W}}else{J=e('<iframe name="'+V+'" src="'+S.iframeSrc+'" />');J.css({position:"absolute",top:"-1000px",left:"-1000px"})}N=J[0];L={aborted:0,responseText:null,responseXML:null,status:0,statusText:"n/a",getAllResponseHeaders:function(){},getResponseHeader:function(){},setRequestHeader:function(){},abort:function(af){var ag=(af==="timeout"?"timeout":"aborted");d("aborting upload... "+ag);this.aborted=1;if(N.contentWindow.document.execCommand){try{N.contentWindow.document.execCommand("Stop")}catch(ah){}}J.attr("src",S.iframeSrc);L.error=ag;if(S.error){S.error.call(S.context,L,ag,af)}if(aa){e.event.trigger("ajaxError",[L,S,ag])}if(S.complete){S.complete.call(S.context,L,ag)}}};aa=S.global;if(aa&&0===e.active++){e.event.trigger("ajaxStart")}if(aa){e.event.trigger("ajaxSend",[L,S])}if(S.beforeSend&&S.beforeSend.call(S.context,L,S)===false){if(S.global){e.active--}return}if(L.aborted){return}M=H.clk;if(M){W=M.name;if(W&&!M.disabled){S.extraData=S.extraData||{};S.extraData[W]=M.value;if(M.type=="image"){S.extraData[W+".x"]=H.clk_x;S.extraData[W+".y"]=H.clk_y}}}var R=1;var O=2;function P(ag){var af=ag.contentWindow?ag.contentWindow.document:ag.contentDocument?ag.contentDocument:ag.document;return af}var F=e("meta[name=csrf-token]").attr("content");var E=e("meta[name=csrf-param]").attr("content");if(E&&F){S.extraData=S.extraData||{};S.extraData[E]=F}function X(){var ah=m.attr("target"),af=m.attr("action");H.setAttribute("target",V);if(!g){H.setAttribute("method","POST")}if(af!=S.url){H.setAttribute("action",S.url)}if(!S.skipEncodingOverride&&(!g||/post/i.test(g))){m.attr({encoding:"multipart/form-data",enctype:"multipart/form-data"})}if(S.timeout){Q=setTimeout(function(){Z=true;U(R)},S.timeout)}function ai(){try{var ak=P(N).readyState;d("state = "+ak);if(ak&&ak.toLowerCase()=="uninitialized"){setTimeout(ai,50)}}catch(al){d("Server abort: ",al," (",al.name,")");U(O);if(Q){clearTimeout(Q)}Q=undefined}}var ag=[];try{if(S.extraData){for(var aj in S.extraData){if(S.extraData.hasOwnProperty(aj)){if(e.isPlainObject(S.extraData[aj])&&S.extraData[aj].hasOwnProperty("name")&&S.extraData[aj].hasOwnProperty("value")){ag.push(e('<input type="hidden" name="'+S.extraData[aj].name+'">').attr("value",S.extraData[aj].value).appendTo(H)[0])}else{ag.push(e('<input type="hidden" name="'+aj+'">').attr("value",S.extraData[aj]).appendTo(H)[0])}}}}if(!S.iframeTarget){J.appendTo("body");if(N.attachEvent){N.attachEvent("onload",U)}else{N.addEventListener("load",U,false)}}setTimeout(ai,15);H.submit()}finally{H.setAttribute("action",af);if(ah){H.setAttribute("target",ah)}else{m.removeAttr("target")}e(ag).remove()}}if(S.forceSync){X()}else{setTimeout(X,10)}var ad,ae,ab=50,I;function U(ak){if(L.aborted||I){return}try{ae=P(N)}catch(an){d("cannot access response document: ",an);ak=O}if(ak===R&&L){L.abort("timeout");return}else{if(ak==O&&L){L.abort("server abort");return}}if(!ae||ae.location.href==S.iframeSrc){if(!Z){return}}if(N.detachEvent){N.detachEvent("onload",U)}else{N.removeEventListener("load",U,false)}var ai="success",am;try{if(Z){throw"timeout"}var ah=S.dataType=="xml"||ae.XMLDocument||e.isXMLDoc(ae);d("isXml="+ah);if(!ah&&window.opera&&(ae.body===null||!ae.body.innerHTML)){if(--ab){d("requeing onLoad callback, DOM not available");setTimeout(U,250);return}}var ao=ae.body?ae.body:ae.documentElement;L.responseText=ao?ao.innerHTML:null;L.responseXML=ae.XMLDocument?ae.XMLDocument:ae;if(ah){S.dataType="xml"}L.getResponseHeader=function(ar){var aq={"content-type":S.dataType};return aq[ar]};if(ao){L.status=Number(ao.getAttribute("status"))||L.status;L.statusText=ao.getAttribute("statusText")||L.statusText}var af=(S.dataType||"").toLowerCase();var al=/(json|script|text)/.test(af);if(al||S.textarea){var aj=ae.getElementsByTagName("textarea")[0];if(aj){L.responseText=aj.value;L.status=Number(aj.getAttribute("status"))||L.status;L.statusText=aj.getAttribute("statusText")||L.statusText}else{if(al){var ag=ae.getElementsByTagName("pre")[0];var ap=ae.getElementsByTagName("body")[0];if(ag){L.responseText=ag.textContent?ag.textContent:ag.innerText}else{if(ap){L.responseText=ap.textContent?ap.textContent:ap.innerText}}}}}else{if(af=="xml"&&!L.responseXML&&L.responseText){L.responseXML=T(L.responseText)}}try{ad=k(L,af,S)}catch(ak){ai="parsererror";L.error=am=(ak||ai)}}catch(ak){d("error caught: ",ak);ai="error";L.error=am=(ak||ai)}if(L.aborted){d("upload aborted");ai=null}if(L.status){ai=(L.status>=200&&L.status<300||L.status===304)?"success":"error"}if(ai==="success"){if(S.success){S.success.call(S.context,ad,"success",L)}if(aa){e.event.trigger("ajaxSuccess",[L,S])}}else{if(ai){if(am===undefined){am=L.statusText}if(S.error){S.error.call(S.context,L,ai,am)}if(aa){e.event.trigger("ajaxError",[L,S,am])}}}if(aa){e.event.trigger("ajaxComplete",[L,S])}if(aa&&!--e.active){e.event.trigger("ajaxStop")}if(S.complete){S.complete.call(S.context,L,ai)}I=true;if(S.timeout){clearTimeout(Q)}setTimeout(function(){if(!S.iframeTarget){J.remove()}L.responseXML=null},100)}var T=e.parseXML||function(af,ag){if(window.ActiveXObject){ag=new ActiveXObject("Microsoft.XMLDOM");ag.async="false";ag.loadXML(af)}else{ag=(new DOMParser()).parseFromString(af,"text/xml")}return(ag&&ag.documentElement&&ag.documentElement.nodeName!="parsererror")?ag:null};var q=e.parseJSON||function(af){return window["eval"]("("+af+")")};var k=function(ak,ai,ah){var ag=ak.getResponseHeader("content-type")||"",af=ai==="xml"||!ai&&ag.indexOf("xml")>=0,aj=af?ak.responseXML:ak.responseText;if(af&&aj.documentElement.nodeName==="parsererror"){if(e.error){e.error("parsererror")}}if(ah&&ah.dataFilter){aj=ah.dataFilter(aj,ai)}if(typeof aj==="string"){if(ai==="json"||!ai&&ag.indexOf("json")>=0){aj=q(aj)}else{if(ai==="script"||!ai&&ag.indexOf("javascript")>=0){e.globalEval(aj)}}}return aj}}};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(":submit,input:image"))){var f=g.closest(":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(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.18 (28-SEP-2012)
4
+ * @requires jQuery v1.5 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
7
* Project repository: https://github.com/malsup/form
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: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++){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(":input[name=submit],:input[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;if(O.contentWindow.document.execCommand){try{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+'">').attr("value",T.extraData[al].value).appendTo(I)[0])}else{ai.push(e('<input type="hidden" name="'+al+'">').attr("value",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(":submit,input:image"))){var f=g.closest(":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(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);
languages/wpcf7-da_DK.mo CHANGED
Binary file
languages/wpcf7-fi.mo CHANGED
Binary file
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: 2012-09-22 19:27+0900\n"
6
- "PO-Revision-Date: 2012-09-22 19:27+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
@@ -20,7 +20,7 @@ msgstr ""
20
msgid "Just another contact form plugin. Simple but flexible."
21
msgstr ""
22
23
- #: contact-form-7/settings.php:193
24
#, php-format
25
msgid "Contact form %d"
26
msgstr ""
@@ -267,7 +267,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:112
271
msgid "Message body:"
272
msgstr ""
273
@@ -275,7 +275,7 @@ msgstr ""
275
msgid "Contact Form"
276
msgstr ""
277
278
- #: contact-form-7/includes/classes.php:768
279
msgid "Untitled"
280
msgstr ""
281
@@ -310,7 +310,7 @@ msgid "Sender's message was failed to send"
310
msgstr ""
311
312
#: contact-form-7/includes/functions.php:36
313
- #: contact-form-7/modules/akismet.php:127
314
msgid ""
315
"Failed to send your message. Please try later or contact the administrator "
316
"by another method."
@@ -326,304 +326,308 @@ msgid ""
326
msgstr ""
327
328
#: contact-form-7/includes/functions.php:45
329
msgid "There are terms that the sender must accept"
330
msgstr ""
331
332
- #: contact-form-7/includes/functions.php:46
333
msgid "Please accept the terms to proceed."
334
msgstr ""
335
336
- #: contact-form-7/includes/functions.php:50
337
msgid "Email address that the sender entered is invalid"
338
msgstr ""
339
340
- #: contact-form-7/includes/functions.php:51
341
msgid "Email address seems invalid."
342
msgstr ""
343
344
- #: contact-form-7/includes/functions.php:55
345
msgid "There is a field that the sender must fill in"
346
msgstr ""
347
348
- #: contact-form-7/includes/functions.php:56
349
msgid "Please fill the required field."
350
msgstr ""
351
352
- #: contact-form-7/includes/functions.php:80
353
msgid "Your Name"
354
msgstr ""
355
356
- #: contact-form-7/includes/functions.php:80
357
- #: contact-form-7/includes/functions.php:82
358
msgid "(required)"
359
msgstr ""
360
361
- #: contact-form-7/includes/functions.php:82
362
msgid "Your Email"
363
msgstr ""
364
365
- #: contact-form-7/includes/functions.php:84
366
msgid "Subject"
367
msgstr ""
368
369
- #: contact-form-7/includes/functions.php:86
370
msgid "Your Message"
371
msgstr ""
372
373
- #: contact-form-7/includes/functions.php:88
374
#: contact-form-7/modules/submit.php:45
375
msgid "Send"
376
msgstr ""
377
378
- #: contact-form-7/includes/functions.php:96
379
#, php-format
380
msgid "From: %s"
381
msgstr ""
382
383
- #: contact-form-7/includes/functions.php:97
384
#, php-format
385
msgid "Subject: %s"
386
msgstr ""
387
388
- #: contact-form-7/includes/functions.php:98
389
msgid "Message Body:"
390
msgstr ""
391
392
- #: contact-form-7/includes/functions.php:99
393
- #: contact-form-7/includes/functions.php:113
394
#, php-format
395
msgid "This mail is sent via contact form on %1$s %2$s"
396
msgstr ""
397
398
- #: contact-form-7/includes/functions.php:189
399
msgid "Afrikaans"
400
msgstr ""
401
402
- #: contact-form-7/includes/functions.php:190
403
msgid "Albanian"
404
msgstr ""
405
406
- #: contact-form-7/includes/functions.php:191
407
msgid "Arabic"
408
msgstr ""
409
410
- #: contact-form-7/includes/functions.php:192
411
msgid "Armenian"
412
msgstr ""
413
414
- #: contact-form-7/includes/functions.php:193
415
msgid "Azerbaijani"
416
msgstr ""
417
418
- #: contact-form-7/includes/functions.php:194
419
msgid "Bangla"
420
msgstr ""
421
422
- #: contact-form-7/includes/functions.php:195
423
msgid "Basque"
424
msgstr ""
425
426
- #: contact-form-7/includes/functions.php:196
427
msgid "Belarusian"
428
msgstr ""
429
430
- #: contact-form-7/includes/functions.php:197
431
msgid "Bosnian"
432
msgstr ""
433
434
- #: contact-form-7/includes/functions.php:198
435
msgid "Brazilian Portuguese"
436
msgstr ""
437
438
- #: contact-form-7/includes/functions.php:199
439
msgid "Bulgarian"
440
msgstr ""
441
442
- #: contact-form-7/includes/functions.php:200
443
msgid "Catalan"
444
msgstr ""
445
446
- #: contact-form-7/includes/functions.php:201
447
msgid "Chinese (Simplified)"
448
msgstr ""
449
450
- #: contact-form-7/includes/functions.php:202
451
msgid "Chinese (Traditional)"
452
msgstr ""
453
454
- #: contact-form-7/includes/functions.php:203
455
msgid "Croatian"
456
msgstr ""
457
458
- #: contact-form-7/includes/functions.php:204
459
msgid "Czech"
460
msgstr ""
461
462
- #: contact-form-7/includes/functions.php:205
463
msgid "Danish"
464
msgstr ""
465
466
- #: contact-form-7/includes/functions.php:206
467
msgid "Dutch"
468
msgstr ""
469
470
- #: contact-form-7/includes/functions.php:207
471
msgid "English"
472
msgstr ""
473
474
- #: contact-form-7/includes/functions.php:208
475
msgid "Esperanto"
476
msgstr ""
477
478
- #: contact-form-7/includes/functions.php:209
479
msgid "Estonian"
480
msgstr ""
481
482
- #: contact-form-7/includes/functions.php:210
483
msgid "Finnish"
484
msgstr ""
485
486
- #: contact-form-7/includes/functions.php:211
487
msgid "French"
488
msgstr ""
489
490
- #: contact-form-7/includes/functions.php:212
491
msgid "Galician"
492
msgstr ""
493
494
- #: contact-form-7/includes/functions.php:213
495
msgid "Georgian"
496
msgstr ""
497
498
- #: contact-form-7/includes/functions.php:214
499
msgid "German"
500
msgstr ""
501
502
- #: contact-form-7/includes/functions.php:215
503
msgid "Greek"
504
msgstr ""
505
506
- #: contact-form-7/includes/functions.php:216
507
msgid "Hebrew"
508
msgstr ""
509
510
- #: contact-form-7/includes/functions.php:217
511
msgid "Hindi"
512
msgstr ""
513
514
- #: contact-form-7/includes/functions.php:218
515
msgid "Hungarian"
516
msgstr ""
517
518
- #: contact-form-7/includes/functions.php:219
519
msgid "Indonesian"
520
msgstr ""
521
522
- #: contact-form-7/includes/functions.php:220
523
msgid "Italian"
524
msgstr ""
525
526
- #: contact-form-7/includes/functions.php:221
527
msgid "Japanese"
528
msgstr ""
529
530
- #: contact-form-7/includes/functions.php:222
531
msgid "Korean"
532
msgstr ""
533
534
- #: contact-form-7/includes/functions.php:223
535
msgid "Latvian"
536
msgstr ""
537
538
- #: contact-form-7/includes/functions.php:224
539
msgid "Lithuanian"
540
msgstr ""
541
542
- #: contact-form-7/includes/functions.php:225
543
msgid "Macedonian"
544
msgstr ""
545
546
- #: contact-form-7/includes/functions.php:226
547
msgid "Malay"
548
msgstr ""
549
550
- #: contact-form-7/includes/functions.php:227
551
msgid "Malayalam"
552
msgstr ""
553
554
- #: contact-form-7/includes/functions.php:228
555
msgid "Maltese"
556
msgstr ""
557
558
- #: contact-form-7/includes/functions.php:229
559
msgid "Norwegian"
560
msgstr ""
561
562
- #: contact-form-7/includes/functions.php:230
563
msgid "Persian"
564
msgstr ""
565
566
- #: contact-form-7/includes/functions.php:231
567
msgid "Polish"
568
msgstr ""
569
570
- #: contact-form-7/includes/functions.php:232
571
msgid "Portuguese"
572
msgstr ""
573
574
- #: contact-form-7/includes/functions.php:233
575
msgid "Russian"
576
msgstr ""
577
578
- #: contact-form-7/includes/functions.php:234
579
msgid "Romanian"
580
msgstr ""
581
582
- #: contact-form-7/includes/functions.php:235
583
msgid "Serbian"
584
msgstr ""
585
586
- #: contact-form-7/includes/functions.php:236
587
msgid "Sinhala"
588
msgstr ""
589
590
- #: contact-form-7/includes/functions.php:237
591
msgid "Slovak"
592
msgstr ""
593
594
- #: contact-form-7/includes/functions.php:238
595
msgid "Slovene"
596
msgstr ""
597
598
- #: contact-form-7/includes/functions.php:239
599
msgid "Spanish"
600
msgstr ""
601
602
- #: contact-form-7/includes/functions.php:240
603
msgid "Swedish"
604
msgstr ""
605
606
- #: contact-form-7/includes/functions.php:241
607
msgid "Tamil"
608
msgstr ""
609
610
- #: contact-form-7/includes/functions.php:242
611
msgid "Thai"
612
msgstr ""
613
614
- #: contact-form-7/includes/functions.php:243
615
msgid "Tagalog"
616
msgstr ""
617
618
- #: contact-form-7/includes/functions.php:244
619
msgid "Turkish"
620
msgstr ""
621
622
- #: contact-form-7/includes/functions.php:245
623
msgid "Ukrainian"
624
msgstr ""
625
626
- #: contact-form-7/includes/functions.php:246
627
msgid "Vietnamese"
628
msgstr ""
629
@@ -690,10 +694,6 @@ msgstr ""
690
msgid "Copy this code and paste it into the form left."
691
msgstr ""
692
693
- #: contact-form-7/modules/akismet.php:126
694
- msgid "Akismet judged the sending activity as spamming"
695
- msgstr ""
696
-
697
#: contact-form-7/modules/captcha.php:73
698
msgid ""
699
"To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/"
@@ -872,7 +872,7 @@ msgid ""
872
"folder or change its permission manually."
873
msgstr ""
874
875
- #: contact-form-7/modules/jetpack.php:14
876
#, php-format
877
msgid ""
878
"<strong>Jetpack may cause problems for other plugins in certain cases.</"
2
msgstr ""
3
"Project-Id-Version: Contact Form 7\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2012-10-13 01:37+0900\n"
6
+ "PO-Revision-Date: 2012-10-13 01:37+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
20
msgid "Just another contact form plugin. Simple but flexible."
21
msgstr ""
22
23
+ #: contact-form-7/settings.php:194
24
#, php-format
25
msgid "Contact form %d"
26
msgstr ""
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
msgid "Contact Form"
276
msgstr ""
277
278
+ #: contact-form-7/includes/classes.php:779
279
msgid "Untitled"
280
msgstr ""
281
310
msgstr ""
311
312
#: contact-form-7/includes/functions.php:36
313
+ #: contact-form-7/includes/functions.php:46
314
msgid ""
315
"Failed to send your message. Please try later or contact the administrator "
316
"by another method."
326
msgstr ""
327
328
#: contact-form-7/includes/functions.php:45
329
+ msgid "Submission was referred to as spam"
330
+ msgstr ""
331
+
332
+ #: contact-form-7/includes/functions.php:50
333
msgid "There are terms that the sender must accept"
334
msgstr ""
335
336
+ #: contact-form-7/includes/functions.php:51
337
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:194
403
msgid "Afrikaans"
404
msgstr ""
405
406
+ #: contact-form-7/includes/functions.php:195
407
msgid "Albanian"
408
msgstr ""
409
410
+ #: contact-form-7/includes/functions.php:196
411
msgid "Arabic"
412
msgstr ""
413
414
+ #: contact-form-7/includes/functions.php:197
415
msgid "Armenian"
416
msgstr ""
417
418
+ #: contact-form-7/includes/functions.php:198
419
msgid "Azerbaijani"
420
msgstr ""
421
422
+ #: contact-form-7/includes/functions.php:199
423
msgid "Bangla"
424
msgstr ""
425
426
+ #: contact-form-7/includes/functions.php:200
427
msgid "Basque"
428
msgstr ""
429
430
+ #: contact-form-7/includes/functions.php:201
431
msgid "Belarusian"
432
msgstr ""
433
434
+ #: contact-form-7/includes/functions.php:202
435
msgid "Bosnian"
436
msgstr ""
437
438
+ #: contact-form-7/includes/functions.php:203
439
msgid "Brazilian Portuguese"
440
msgstr ""
441
442
+ #: contact-form-7/includes/functions.php:204
443
msgid "Bulgarian"
444
msgstr ""
445
446
+ #: contact-form-7/includes/functions.php:205
447
msgid "Catalan"
448
msgstr ""
449
450
+ #: contact-form-7/includes/functions.php:206
451
msgid "Chinese (Simplified)"
452
msgstr ""
453
454
+ #: contact-form-7/includes/functions.php:207
455
msgid "Chinese (Traditional)"
456
msgstr ""
457
458
+ #: contact-form-7/includes/functions.php:208
459
msgid "Croatian"
460
msgstr ""
461
462
+ #: contact-form-7/includes/functions.php:209
463
msgid "Czech"
464
msgstr ""
465
466
+ #: contact-form-7/includes/functions.php:210
467
msgid "Danish"
468
msgstr ""
469
470
+ #: contact-form-7/includes/functions.php:211
471
msgid "Dutch"
472
msgstr ""
473
474
+ #: contact-form-7/includes/functions.php:212
475
msgid "English"
476
msgstr ""
477
478
+ #: contact-form-7/includes/functions.php:213
479
msgid "Esperanto"
480
msgstr ""
481
482
+ #: contact-form-7/includes/functions.php:214
483
msgid "Estonian"
484
msgstr ""
485
486
+ #: contact-form-7/includes/functions.php:215
487
msgid "Finnish"
488
msgstr ""
489
490
+ #: contact-form-7/includes/functions.php:216
491
msgid "French"
492
msgstr ""
493
494
+ #: contact-form-7/includes/functions.php:217
495
msgid "Galician"
496
msgstr ""
497
498
+ #: contact-form-7/includes/functions.php:218
499
msgid "Georgian"
500
msgstr ""
501
502
+ #: contact-form-7/includes/functions.php:219
503
msgid "German"
504
msgstr ""
505
506
+ #: contact-form-7/includes/functions.php:220
507
msgid "Greek"
508
msgstr ""
509
510
+ #: contact-form-7/includes/functions.php:221
511
msgid "Hebrew"
512
msgstr ""
513
514
+ #: contact-form-7/includes/functions.php:222
515
msgid "Hindi"
516
msgstr ""
517
518
+ #: contact-form-7/includes/functions.php:223
519
msgid "Hungarian"
520
msgstr ""
521
522
+ #: contact-form-7/includes/functions.php:224
523
msgid "Indonesian"
524
msgstr ""
525
526
+ #: contact-form-7/includes/functions.php:225
527
msgid "Italian"
528
msgstr ""
529
530
+ #: contact-form-7/includes/functions.php:226
531
msgid "Japanese"
532
msgstr ""
533
534
+ #: contact-form-7/includes/functions.php:227
535
msgid "Korean"
536
msgstr ""
537
538
+ #: contact-form-7/includes/functions.php:228
539
msgid "Latvian"
540
msgstr ""
541
542
+ #: contact-form-7/includes/functions.php:229
543
msgid "Lithuanian"
544
msgstr ""
545
546
+ #: contact-form-7/includes/functions.php:230
547
msgid "Macedonian"
548
msgstr ""
549
550
+ #: contact-form-7/includes/functions.php:231
551
msgid "Malay"
552
msgstr ""
553
554
+ #: contact-form-7/includes/functions.php:232
555
msgid "Malayalam"
556
msgstr ""
557
558
+ #: contact-form-7/includes/functions.php:233
559
msgid "Maltese"
560
msgstr ""
561
562
+ #: contact-form-7/includes/functions.php:234
563
msgid "Norwegian"
564
msgstr ""
565
566
+ #: contact-form-7/includes/functions.php:235
567
msgid "Persian"
568
msgstr ""
569
570
+ #: contact-form-7/includes/functions.php:236
571
msgid "Polish"
572
msgstr ""
573
574
+ #: contact-form-7/includes/functions.php:237
575
msgid "Portuguese"
576
msgstr ""
577
578
+ #: contact-form-7/includes/functions.php:238
579
msgid "Russian"
580
msgstr ""
581
582
+ #: contact-form-7/includes/functions.php:239
583
msgid "Romanian"
584
msgstr ""
585
586
+ #: contact-form-7/includes/functions.php:240
587
msgid "Serbian"
588
msgstr ""
589
590
+ #: contact-form-7/includes/functions.php:241
591
msgid "Sinhala"
592
msgstr ""
593
594
+ #: contact-form-7/includes/functions.php:242
595
msgid "Slovak"
596
msgstr ""
597
598
+ #: contact-form-7/includes/functions.php:243
599
msgid "Slovene"
600
msgstr ""
601
602
+ #: contact-form-7/includes/functions.php:244
603
msgid "Spanish"
604
msgstr ""
605
606
+ #: contact-form-7/includes/functions.php:245
607
msgid "Swedish"
608
msgstr ""
609
610
+ #: contact-form-7/includes/functions.php:246
611
msgid "Tamil"
612
msgstr ""
613
614
+ #: contact-form-7/includes/functions.php:247
615
msgid "Thai"
616
msgstr ""
617
618
+ #: contact-form-7/includes/functions.php:248
619
msgid "Tagalog"
620
msgstr ""
621
622
+ #: contact-form-7/includes/functions.php:249
623
msgid "Turkish"
624
msgstr ""
625
626
+ #: contact-form-7/includes/functions.php:250
627
msgid "Ukrainian"
628
msgstr ""
629
630
+ #: contact-form-7/includes/functions.php:251
631
msgid "Vietnamese"
632
msgstr ""
633
694
msgid "Copy this code and paste it into the form left."
695
msgstr ""
696
697
#: contact-form-7/modules/captcha.php:73
698
msgid ""
699
"To use CAPTCHA, you need <a href=\"http://wordpress.org/extend/plugins/"
872
"folder or change its permission manually."
873
msgstr ""
874
875
+ #: contact-form-7/modules/jetpack.php:21
876
#, php-format
877
msgid ""
878
"<strong>Jetpack may cause problems for other plugins in certain cases.</"
modules/akismet.php CHANGED
@@ -67,7 +67,13 @@ function wpcf7_akismet_submitted_params() {
67
if ( ! isset( $fe['name'] ) || ! isset( $_POST[$fe['name']] ) )
68
continue;
69
70
- $value = trim( $_POST[$fe['name']] );
71
$options = (array) $fe['options'];
72
73
if ( preg_grep( '%^akismet:author$%', $options ) ) {
@@ -116,25 +122,4 @@ function wpcf7_akismet_comment_check( $comment ) {
116
return apply_filters( 'wpcf7_akismet_comment_check', $spam, $comment );
117
}
118
119
-
120
- /* Messages */
121
-
122
- add_filter( 'wpcf7_messages', 'wpcf7_akismet_messages' );
123
-
124
- function wpcf7_akismet_messages( $messages ) {
125
- return array_merge( $messages, array( 'akismet_says_spam' => array(
126
- 'description' => __( "Akismet judged the sending activity as spamming", 'wpcf7' ),
127
- 'default' => __( 'Failed to send your message. Please try later or contact the administrator by another method.', 'wpcf7' )
128
- ) ) );
129
- }
130
-
131
- add_filter( 'wpcf7_display_message', 'wpcf7_akismet_display_message', 10, 2 );
132
-
133
- function wpcf7_akismet_display_message( $message, $status ) {
134
- if ( 'spam' == $status && empty( $message ) )
135
- $message = wpcf7_get_message( 'akismet_says_spam' );
136
-
137
- return $message;
138
- }
139
-
140
?>
67
if ( ! isset( $fe['name'] ) || ! isset( $_POST[$fe['name']] ) )
68
continue;
69
70
+ $value = $_POST[$fe['name']];
71
+
72
+ if ( is_array( $value ) )
73
+ $value = implode( ', ', wpcf7_array_flatten( $value ) );
74
+
75
+ $value = trim( $value );
76
+
77
$options = (array) $fe['options'];
78
79
if ( preg_grep( '%^akismet:author$%', $options ) ) {
122
return apply_filters( 'wpcf7_akismet_comment_check', $spam, $comment );
123
}
124
125
?>
modules/flamingo.php CHANGED
@@ -53,8 +53,7 @@ function wpcf7_flamingo_before_send_mail( $contactform ) {
53
foreach ( $special_mail_tags as $smt )
54
$meta[$smt] = apply_filters( 'wpcf7_special_mail_tags', '', '_' . $smt, false );
55
56
- if ( isset( $contactform->akismet ) )
57
- $akismet = (array) $contactform->akismet;
58
59
Flamingo_Contact::add( array(
60
'email' => $email,
53
foreach ( $special_mail_tags as $smt )
54
$meta[$smt] = apply_filters( 'wpcf7_special_mail_tags', '', '_' . $smt, false );
55
56
+ $akismet = isset( $contactform->akismet ) ? (array) $contactform->akismet : null;
57
58
Flamingo_Contact::add( array(
59
'email' => $email,
modules/jetpack.php CHANGED
@@ -3,11 +3,18 @@
3
add_action( 'wpcf7_admin_notices', 'wpcf7_jetpack_admin_notices' );
4
5
function wpcf7_jetpack_admin_notices() {
6
if ( ! class_exists( 'Jetpack' )
7
|| ! Jetpack::is_module( 'contact-form' )
8
|| ! in_array( 'contact-form', Jetpack::get_active_modules() ) )
9
return;
10
11
$url = 'http://contactform7.com/jetpack-overrides-contact-forms/';
12
?>
13
<div class="error">
3
add_action( 'wpcf7_admin_notices', 'wpcf7_jetpack_admin_notices' );
4
5
function wpcf7_jetpack_admin_notices() {
6
+ global $wpdb;
7
+
8
if ( ! class_exists( 'Jetpack' )
9
|| ! Jetpack::is_module( 'contact-form' )
10
|| ! in_array( 'contact-form', Jetpack::get_active_modules() ) )
11
return;
12
13
+ $q = "SELECT post_id FROM $wpdb->postmeta WHERE meta_key = '_old_cf7_unit_id'";
14
+
15
+ if ( ! $wpdb->get_var( $q ) )
16
+ return;
17
+
18
$url = 'http://contactform7.com/jetpack-overrides-contact-forms/';
19
?>
20
<div class="error">
modules/special-mail-tags.php CHANGED
@@ -3,9 +3,9 @@
3
** Filters for Special Mail Tags
4
**/
5
6
- add_filter( 'wpcf7_special_mail_tags', 'wpcf7_special_mail_tag', 10, 2 );
7
8
- function wpcf7_special_mail_tag( $output, $name ) {
9
10
// For backwards compat.
11
$name = preg_replace( '/^wpcf7\./', '_', $name );
@@ -13,9 +13,13 @@ function wpcf7_special_mail_tag( $output, $name ) {
13
if ( '_remote_ip' == $name )
14
$output = preg_replace( '/[^0-9a-f.:, ]/', '', $_SERVER['REMOTE_ADDR'] );
15
16
- elseif ( '_user_agent' == $name )
17
$output = substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 );
18
19
elseif ( '_url' == $name ) {
20
$url = untrailingslashit( home_url() );
21
$url = preg_replace( '%(?<!:|/)/.*$%', '', $url );
3
** Filters for Special Mail Tags
4
**/
5
6
+ add_filter( 'wpcf7_special_mail_tags', 'wpcf7_special_mail_tag', 10, 3 );
7
8
+ function wpcf7_special_mail_tag( $output, $name, $html ) {
9
10
// For backwards compat.
11
$name = preg_replace( '/^wpcf7\./', '_', $name );
13
if ( '_remote_ip' == $name )
14
$output = preg_replace( '/[^0-9a-f.:, ]/', '', $_SERVER['REMOTE_ADDR'] );
15
16
+ elseif ( '_user_agent' == $name ) {
17
$output = substr( $_SERVER['HTTP_USER_AGENT'], 0, 254 );
18
19
+ if ( $html )
20
+ $output = esc_html( $output );
21
+ }
22
+
23
elseif ( '_url' == $name ) {
24
$url = untrailingslashit( home_url() );
25
$url = preg_replace( '%(?<!:|/)/.*$%', '', $url );
readme.txt CHANGED
@@ -4,7 +4,7 @@ Donate link: http://contactform7.com/donate/
4
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
5
Requires at least: 3.3
6
Tested up to: 3.4.2
7
- Stable tag: 3.3
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
@@ -44,7 +44,7 @@ It is hard to continue development and support for this plugin without contribut
44
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/), [Rene](http://wpwebshop.com/)
45
* Esperanto (eo_EO) - Arkadiusz Zychewicz
46
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee), Egon Elbre
47
- * Finnish (fi) - [Miika Turunen](http://www.webwork.fi/), [Mediajalostamo](http://www.mediajalostamo.fi/)
48
* French (fr_FR) - [Jillij](http://www.jillij.com/), [Oncle Tom](http://case.oncle-tom.net/), [Maître Mô](http://maitremo.fr/)
49
* Galician (gl_ES) - [Arume Desenvolvementos Informáticos](http://www.arumeinformatica.es/)
50
* Georgian (ka_GE) - [Nodar Rocko Davituri](http://davituri.com/)
@@ -113,6 +113,16 @@ Do you have questions or issues with Contact Form 7? Use these support channels
113
114
== Changelog ==
115
116
= 3.3 =
117
118
* New: Introduce a new special mail tag [_user_agent] for user agent information.
4
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
5
Requires at least: 3.3
6
Tested up to: 3.4.2
7
+ Stable tag: 3.3.1
8
License: GPLv2 or later
9
License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
44
* Dutch (nl_NL) - [Chris Devriese](http://www.100it.be/), [Martin Hein](http://www.split-a-pixel.nl/), [Rene](http://wpwebshop.com/)
45
* Esperanto (eo_EO) - Arkadiusz Zychewicz
46
* Estonian (et) - [Peeter Rahuvarm](http://www.kraabus.ee), Egon Elbre
47
+ * Finnish (fi) - [Miika Turunen](http://www.webwork.fi/), [Mediajalostamo](http://www.mediajalostamo.fi/), [Jani Alha](http://www.wysiwyg.fi/)
48
* French (fr_FR) - [Jillij](http://www.jillij.com/), [Oncle Tom](http://case.oncle-tom.net/), [Maître Mô](http://maitremo.fr/)
49
* Galician (gl_ES) - [Arume Desenvolvementos Informáticos](http://www.arumeinformatica.es/)
50
* Georgian (ka_GE) - [Nodar Rocko Davituri](http://davituri.com/)
113
114
== Changelog ==
115
116
+ = 3.3.1 =
117
+
118
+ * Fixed: Apply esc_html() to response outputs. In the case it is necessary to use HTML tags in the response messages, new wpcf7_form_response_output filter is available.
119
+ * Fixed: Don't use $_POST for internal data passing. Use global $wpcf7 variable instead.
120
+ * Fixed: Treat array value correctly in the Akismet module.
121
+ * Fixed: Escape outputs of [_user_agent] spacial mail tags used in the HTML mode.
122
+ * Fixed: Don't show the notice about conflicting with Jetpack to new users who rarely see such conflicts.
123
+ * The jQuery Form Plugin (jquery.form.js) has been updated to 3.18.
124
+ * Translations for Danish and Finnish have been updated.
125
+
126
= 3.3 =
127
128
* New: Introduce a new special mail tag [_user_agent] for user agent information.
settings.php CHANGED
@@ -67,7 +67,8 @@ function wpcf7() {
67
'processing_within' => '',
68
'widget_count' => 0,
69
'unit_count' => 0,
70
- 'global_unit_count' => 0 );
71
}
72
73
function wpcf7_load_plugin_textdomain() {
67
'processing_within' => '',
68
'widget_count' => 0,
69
'unit_count' => 0,
70
+ 'global_unit_count' => 0,
71
+ 'result' => array() );
72
}
73
74
function wpcf7_load_plugin_textdomain() {
wp-contact-form-7.php CHANGED
@@ -7,7 +7,7 @@ Author: Takayuki Miyoshi
7
Author URI: http://ideasilo.wordpress.com/
8
Text Domain: wpcf7
9
Domain Path: /languages/
10
- Version: 3.3
11
*/
12
13
/* Copyright 2007-2012 Takayuki Miyoshi (email: takayukister at gmail.com)
@@ -27,7 +27,7 @@ Version: 3.3
27
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
*/
29
30
- define( 'WPCF7_VERSION', '3.3' );
31
32
define( 'WPCF7_REQUIRED_WP_VERSION', '3.3' );
33
7
Author URI: http://ideasilo.wordpress.com/
8
Text Domain: wpcf7
9
Domain Path: /languages/
10
+ Version: 3.3.1
11
*/
12
13
/* Copyright 2007-2012 Takayuki Miyoshi (email: takayukister at gmail.com)
27
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
*/
29
30
+ define( 'WPCF7_VERSION', '3.3.1' );
31
32
define( 'WPCF7_REQUIRED_WP_VERSION', '3.3' );
33