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)$/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)$/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