Contact Form 7 - Version 3.0.1

Version Description

  • Removed unused icl.php file from modules folder.
  • Replaced deprecated get_bloginfo('text_direction') with is_rtl().
  • Made Acceptable file types field in the File upload tag generator being able to accept comma (,) and pipe (|) as separating character in addition to space.
  • Added sanitization for $_POST['_wpcf7_unit_tag'] value for avoiding possible abuse.
  • Updated jquery.form.js to 2.87.
  • Translations for Tagalog, Belarusian, and Maltese have been created.
  • Translations for Italian, German, Japanese, Russian, Latvian, and Afrikaans have been updated.
Download this release

Release Info

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

Code changes from version 3.0 to 3.0.1

admin/admin.php CHANGED
@@ -131,7 +131,7 @@ function wpcf7_admin_enqueue_styles() {
131
wp_enqueue_style( 'contact-form-7-admin', wpcf7_plugin_url( 'admin/styles.css' ),
132
array(), WPCF7_VERSION, 'all' );
133
134
- if ( 'rtl' == get_bloginfo( 'text_direction' ) ) {
135
wp_enqueue_style( 'contact-form-7-admin-rtl',
136
wpcf7_plugin_url( 'admin/styles-rtl.css' ), array(), WPCF7_VERSION, 'all' );
137
}
131
wp_enqueue_style( 'contact-form-7-admin', wpcf7_plugin_url( 'admin/styles.css' ),
132
array(), WPCF7_VERSION, 'all' );
133
134
+ if ( is_rtl() ) {
135
wp_enqueue_style( 'contact-form-7-admin-rtl',
136
wpcf7_plugin_url( 'admin/styles-rtl.css' ), array(), WPCF7_VERSION, 'all' );
137
}
admin/taggenerator.js CHANGED
@@ -162,7 +162,7 @@
162
163
pane.find(':input.filetype').each(function(i) {
164
var val = $(this).val();
165
- val = val.replace(/[^0-9a-zA-Z.\s]/g, '');
166
$(this).val(val);
167
});
168
@@ -212,7 +212,7 @@
212
return;
213
214
if ($(this).hasClass('filetype'))
215
- val = val.split(' ').join('|');
216
217
if ($(this).hasClass('color'))
218
val = '#' + val;
162
163
pane.find(':input.filetype').each(function(i) {
164
var val = $(this).val();
165
+ val = val.replace(/[^0-9a-zA-Z.,|\s]/g, '');
166
$(this).val(val);
167
});
168
212
return;
213
214
if ($(this).hasClass('filetype'))
215
+ val = val.split(/[,|\s]+/).join('|');
216
217
if ($(this).hasClass('color'))
218
val = '#' + val;
includes/controller.php CHANGED
@@ -21,7 +21,7 @@ function wpcf7_ajax_onload() {
21
22
$echo = json_encode( $items );
23
24
- if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
25
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
26
echo $echo;
27
}
@@ -41,7 +41,7 @@ function wpcf7_ajax_json_echo() {
41
42
if ( isset( $_POST['_wpcf7'] ) ) {
43
$id = (int) $_POST['_wpcf7'];
44
- $unit_tag = $_POST['_wpcf7_unit_tag'];
45
46
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) {
47
@@ -84,7 +84,7 @@ function wpcf7_ajax_json_echo() {
84
85
$echo = json_encode( $items );
86
87
- if ( $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest' ) {
88
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
89
echo $echo;
90
} else {
@@ -95,6 +95,13 @@ function wpcf7_ajax_json_echo() {
95
exit();
96
}
97
98
add_action( 'init', 'wpcf7_submit_nonajax', 11 );
99
100
function wpcf7_submit_nonajax() {
@@ -312,7 +319,7 @@ function wpcf7_enqueue_styles() {
312
wp_enqueue_style( 'contact-form-7', wpcf7_plugin_url( 'styles.css' ),
313
array(), WPCF7_VERSION, 'all' );
314
315
- if ( 'rtl' == get_bloginfo( 'text_direction' ) ) {
316
wp_enqueue_style( 'contact-form-7-rtl', wpcf7_plugin_url( 'styles-rtl.css' ),
317
array(), WPCF7_VERSION, 'all' );
318
}
21
22
$echo = json_encode( $items );
23
24
+ if ( wpcf7_is_xhr() ) {
25
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
26
echo $echo;
27
}
41
42
if ( isset( $_POST['_wpcf7'] ) ) {
43
$id = (int) $_POST['_wpcf7'];
44
+ $unit_tag = wpcf7_sanitize_unit_tag( $_POST['_wpcf7_unit_tag'] );
45
46
if ( $wpcf7_contact_form = wpcf7_contact_form( $id ) ) {
47
84
85
$echo = json_encode( $items );
86
87
+ if ( wpcf7_is_xhr() ) {
88
@header( 'Content-Type: application/json; charset=' . get_option( 'blog_charset' ) );
89
echo $echo;
90
} else {
95
exit();
96
}
97
98
+ function wpcf7_is_xhr() {
99
+ if ( ! isset( $_SERVER['HTTP_X_REQUESTED_WITH'] ) )
100
+ return false;
101
+
102
+ return $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest';
103
+ }
104
+
105
add_action( 'init', 'wpcf7_submit_nonajax', 11 );
106
107
function wpcf7_submit_nonajax() {
319
wp_enqueue_style( 'contact-form-7', wpcf7_plugin_url( 'styles.css' ),
320
array(), WPCF7_VERSION, 'all' );
321
322
+ if ( is_rtl() ) {
323
wp_enqueue_style( 'contact-form-7-rtl', wpcf7_plugin_url( 'styles-rtl.css' ),
324
array(), WPCF7_VERSION, 'all' );
325
}
includes/formatting.php CHANGED
@@ -85,4 +85,9 @@ function wpcf7_is_name( $string ) {
85
return preg_match( '/^[A-Za-z][-A-Za-z0-9_:.]*#x2F;', $string );
86
}
87
88
?>
85
return preg_match( '/^[A-Za-z][-A-Za-z0-9_:.]*#x2F;', $string );
86
}
87
88
+ function wpcf7_sanitize_unit_tag( $tag ) {
89
+ $tag = preg_replace( '/[^A-Za-z0-9_-]/', '', $tag );
90
+ return $tag;
91
+ }
92
+
93
?>
includes/functions.php CHANGED
@@ -18,17 +18,17 @@ function wpcf7_messages() {
18
),
19
20
'accept_terms' => array(
21
- 'description' => __( "There is a field of term that sender is needed to accept", 'wpcf7' ),
22
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
23
),
24
25
'invalid_email' => array(
26
- 'description' => __( "Email address that sender entered is invalid", 'wpcf7' ),
27
'default' => __( 'Email address seems invalid.', 'wpcf7' )
28
),
29
30
'invalid_required' => array(
31
- 'description' => __( "There is a field that sender is needed to fill in", 'wpcf7' ),
32
'default' => __( 'Please fill the required field.', 'wpcf7' )
33
)
34
);
@@ -167,6 +167,7 @@ function wpcf7_l10n() {
167
'ar' => __( 'Arabic', 'wpcf7' ),
168
'hy_AM' => __( 'Armenian', 'wpcf7' ),
169
'bn_BD' => __( 'Bangla', 'wpcf7' ),
170
'bs' => __( 'Bosnian', 'wpcf7' ),
171
'pt_BR' => __( 'Brazilian Portuguese', 'wpcf7' ),
172
'bg_BG' => __( 'Bulgarian', 'wpcf7' ),
@@ -197,6 +198,7 @@ function wpcf7_l10n() {
197
'mk_MK' => __( 'Macedonian', 'wpcf7' ),
198
'ms_MY' => __( 'Malay', 'wpcf7' ),
199
'ml_IN' => __( 'Malayalam', 'wpcf7' ),
200
'nb_NO' => __( 'Norwegian', 'wpcf7' ),
201
'fa_IR' => __( 'Persian', 'wpcf7' ),
202
'pl_PL' => __( 'Polish', 'wpcf7' ),
@@ -211,6 +213,7 @@ function wpcf7_l10n() {
211
'sv_SE' => __( 'Swedish', 'wpcf7' ),
212
'ta' => __( 'Tamil', 'wpcf7' ),
213
'th' => __( 'Thai', 'wpcf7' ),
214
'tr_TR' => __( 'Turkish', 'wpcf7' ),
215
'uk' => __( 'Ukrainian', 'wpcf7' ),
216
'vi' => __( 'Vietnamese', 'wpcf7' )
18
),
19
20
'accept_terms' => array(
21
+ 'description' => __( "There are terms that the sender must accept", 'wpcf7' ),
22
'default' => __( 'Please accept the terms to proceed.', 'wpcf7' )
23
),
24
25
'invalid_email' => array(
26
+ 'description' => __( "Email address that the sender entered is invalid", 'wpcf7' ),
27
'default' => __( 'Email address seems invalid.', 'wpcf7' )
28
),
29
30
'invalid_required' => array(
31
+ 'description' => __( "There is a field that the sender must fill in", 'wpcf7' ),
32
'default' => __( 'Please fill the required field.', 'wpcf7' )
33
)
34
);
167
'ar' => __( 'Arabic', 'wpcf7' ),
168
'hy_AM' => __( 'Armenian', 'wpcf7' ),
169
'bn_BD' => __( 'Bangla', 'wpcf7' ),
170
+ 'be_BY' => __( 'Belarusian', 'wpcf7' ),
171
'bs' => __( 'Bosnian', 'wpcf7' ),
172
'pt_BR' => __( 'Brazilian Portuguese', 'wpcf7' ),
173
'bg_BG' => __( 'Bulgarian', 'wpcf7' ),
198
'mk_MK' => __( 'Macedonian', 'wpcf7' ),
199
'ms_MY' => __( 'Malay', 'wpcf7' ),
200
'ml_IN' => __( 'Malayalam', 'wpcf7' ),
201
+ 'mt_MT' => __( 'Maltese', 'wpcf7' ),
202
'nb_NO' => __( 'Norwegian', 'wpcf7' ),
203
'fa_IR' => __( 'Persian', 'wpcf7' ),
204
'pl_PL' => __( 'Polish', 'wpcf7' ),
213
'sv_SE' => __( 'Swedish', 'wpcf7' ),
214
'ta' => __( 'Tamil', 'wpcf7' ),
215
'th' => __( 'Thai', 'wpcf7' ),
216
+ 'tl' => __( 'Tagalog', 'wpcf7' ),
217
'tr_TR' => __( 'Turkish', 'wpcf7' ),
218
'uk' => __( 'Ukrainian', 'wpcf7' ),
219
'vi' => __( 'Vietnamese', 'wpcf7' )
jquery.form.js CHANGED
@@ -1,6 +1,6 @@
1
/*!
2
* jQuery Form Plugin
3
- * version: 2.84 (12-AUG-2011)
4
* @requires jQuery v1.3.2 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
@@ -87,21 +87,15 @@ $.fn.ajaxSubmit = function(options) {
87
return this;
88
}
89
90
- var n,v,a = this.formToArray(options.semantic);
91
if (options.data) {
92
options.extraData = options.data;
93
- for (n in options.data) {
94
- if( $.isArray(options.data[n]) ) {
95
- for (var k in options.data[n]) {
96
- a.push( { name: n, value: options.data[n][k] } );
97
- }
98
- }
99
- else {
100
- v = options.data[n];
101
- v = $.isFunction(v) ? v() : v; // if value is fn, invoke it
102
- a.push( { name: n, value: v } );
103
- }
104
- }
105
}
106
107
// give pre-submit callback an opportunity to abort the submit
@@ -117,7 +111,9 @@ $.fn.ajaxSubmit = function(options) {
117
return this;
118
}
119
120
- var q = $.param(a);
121
122
if (options.type.toUpperCase() == 'GET') {
123
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
@@ -132,7 +128,7 @@ $.fn.ajaxSubmit = function(options) {
132
callbacks.push(function() { $form.resetForm(); });
133
}
134
if (options.clearForm) {
135
- callbacks.push(function() { $form.clearForm(); });
136
}
137
138
// perform a load on the target only if dataType is not provided
@@ -173,7 +169,7 @@ $.fn.ajaxSubmit = function(options) {
173
}
174
else {
175
// IE7 massage (see issue 57)
176
- if ($.browser.msie && method == 'get') {
177
var ieMeth = $form[0].getAttribute('method');
178
if (typeof ieMeth === 'string')
179
options.type = ieMeth;
@@ -192,11 +188,18 @@ $.fn.ajaxSubmit = function(options) {
192
var useProp = !!$.fn.prop;
193
194
if (a) {
195
- // ensure that every serialized input is still enabled
196
- for (i=0; i < a.length; i++) {
197
- el = $(form[a[i].name]);
198
- el[ useProp ? 'prop' : 'attr' ]('disabled', false);
199
- }
200
}
201
202
if ($(':input[name=submit],:input[id=submit]', form).length) {
@@ -433,8 +436,8 @@ $.fn.ajaxSubmit = function(options) {
433
xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
434
}
435
436
- var dt = s.dataType || '';
437
- var scr = /(json|script|text)/.test(dt.toLowerCase());
438
if (scr || s.textarea) {
439
// see if user embedded response in textarea
440
var ta = doc.getElementsByTagName('textarea')[0];
@@ -449,19 +452,19 @@ $.fn.ajaxSubmit = function(options) {
449
var pre = doc.getElementsByTagName('pre')[0];
450
var b = doc.getElementsByTagName('body')[0];
451
if (pre) {
452
- xhr.responseText = pre.textContent ? pre.textContent : pre.innerHTML;
453
}
454
else if (b) {
455
- xhr.responseText = b.innerHTML;
456
}
457
}
458
}
459
- else if (s.dataType == 'xml' && !xhr.responseXML && xhr.responseText != null) {
460
xhr.responseXML = toXml(xhr.responseText);
461
}
462
463
try {
464
- data = httpData(xhr, s.dataType, s);
465
}
466
catch (e) {
467
status = 'parsererror';
@@ -823,20 +826,20 @@ $.fieldValue = function(el, successful) {
823
* - inputs of type submit, button, reset, and hidden will *not* be effected
824
* - button elements will *not* be effected
825
*/
826
- $.fn.clearForm = function() {
827
return this.each(function() {
828
- $('input,select,textarea', this).clearFields();
829
});
830
};
831
832
/**
833
* Clears the selected form elements.
834
*/
835
- $.fn.clearFields = $.fn.clearInputs = function() {
836
var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)#x2F;i; // 'hidden' is not in this list
837
return this.each(function() {
838
var t = this.type, tag = this.tagName.toLowerCase();
839
- if (re.test(t) || tag == 'textarea') {
840
this.value = '';
841
}
842
else if (t == 'checkbox' || t == 'radio') {
@@ -897,8 +900,13 @@ $.fn.selected = function(select) {
897
});
898
};
899
900
// helper fn for console logging
901
function log() {
902
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
903
if (window.console && window.console.log) {
904
window.console.log(msg);
1
/*!
2
* jQuery Form Plugin
3
+ * version: 2.87 (20-OCT-2011)
4
* @requires jQuery v1.3.2 or later
5
*
6
* Examples and documentation at: http://malsup.com/jquery/form/
87
return this;
88
}
89
90
+ var traditional = options.traditional;
91
+ if ( traditional === undefined ) {
92
+ traditional = $.ajaxSettings.traditional;
93
+ }
94
+
95
+ var qx,n,v,a = this.formToArray(options.semantic);
96
if (options.data) {
97
options.extraData = options.data;
98
+ qx = $.param(options.data, traditional);
99
}
100
101
// give pre-submit callback an opportunity to abort the submit
111
return this;
112
}
113
114
+ var q = $.param(a, traditional);
115
+ if (qx)
116
+ q = ( q ? (q + '&' + qx) : qx );
117
118
if (options.type.toUpperCase() == 'GET') {
119
options.url += (options.url.indexOf('?') >= 0 ? '&' : '?') + q;
128
callbacks.push(function() { $form.resetForm(); });
129
}
130
if (options.clearForm) {
131
+ callbacks.push(function() { $form.clearForm(options.includeHidden); });
132
}
133
134
// perform a load on the target only if dataType is not provided
169
}
170
else {
171
// IE7 massage (see issue 57)
172
+ if ($.browser.msie && method == 'get' && typeof options.type === "undefined") {
173
var ieMeth = $form[0].getAttribute('method');
174
if (typeof ieMeth === 'string')
175
options.type = ieMeth;
188
var useProp = !!$.fn.prop;
189
190
if (a) {
191
+ if ( useProp ) {
192
+ // ensure that every serialized input is still enabled
193
+ for (i=0; i < a.length; i++) {
194
+ el = $(form[a[i].name]);
195
+ el.prop('disabled', false);
196
+ }
197
+ } else {
198
+ for (i=0; i < a.length; i++) {
199
+ el = $(form[a[i].name]);
200
+ el.removeAttr('disabled');
201
+ }
202
+ };
203
}
204
205
if ($(':input[name=submit],:input[id=submit]', form).length) {
436
xhr.statusText = docRoot.getAttribute('statusText') || xhr.statusText;
437
}
438
439
+ var dt = (s.dataType || '').toLowerCase();
440
+ var scr = /(json|script|text)/.test(dt);
441
if (scr || s.textarea) {
442
// see if user embedded response in textarea
443
var ta = doc.getElementsByTagName('textarea')[0];
452
var pre = doc.getElementsByTagName('pre')[0];
453
var b = doc.getElementsByTagName('body')[0];
454
if (pre) {
455
+ xhr.responseText = pre.textContent ? pre.textContent : pre.innerText;
456
}
457
else if (b) {
458
+ xhr.responseText = b.textContent ? b.textContent : b.innerText;
459
}
460
}
461
}
462
+ else if (dt == 'xml' && !xhr.responseXML && xhr.responseText != null) {
463
xhr.responseXML = toXml(xhr.responseText);
464
}
465
466
try {
467
+ data = httpData(xhr, dt, s);
468
}
469
catch (e) {
470
status = 'parsererror';
826
* - inputs of type submit, button, reset, and hidden will *not* be effected
827
* - button elements will *not* be effected
828
*/
829
+ $.fn.clearForm = function(includeHidden) {
830
return this.each(function() {
831
+ $('input,select,textarea', this).clearFields(includeHidden);
832
});
833
};
834
835
/**
836
* Clears the selected form elements.
837
*/
838
+ $.fn.clearFields = $.fn.clearInputs = function(includeHidden) {
839
var re = /^(?:color|date|datetime|email|month|number|password|range|search|tel|text|time|url|week)#x2F;i; // 'hidden' is not in this list
840
return this.each(function() {
841
var t = this.type, tag = this.tagName.toLowerCase();
842
+ if (re.test(t) || tag == 'textarea' || (includeHidden && /hidden/.test(t)) ) {
843
this.value = '';
844
}
845
else if (t == 'checkbox' || t == 'radio') {
900
});
901
};
902
903
+ // expose debug var
904
+ $.fn.ajaxSubmit.debug = false;
905
+
906
// helper fn for console logging
907
function log() {
908
+ if (!$.fn.ajaxSubmit.debug)
909
+ return;
910
var msg = '[jquery.form] ' + Array.prototype.join.call(arguments,'');
911
if (window.console && window.console.log) {
912
window.console.log(msg);
languages/wpcf7-af.mo CHANGED
Binary file
languages/wpcf7-be_BY.mo ADDED
Binary file
languages/wpcf7-de_DE.mo CHANGED
Binary file
languages/wpcf7-it_IT.mo CHANGED
Binary file
languages/wpcf7-ja.mo CHANGED
Binary file
languages/wpcf7-lv.mo CHANGED
Binary file
languages/wpcf7-mt_MT.mo ADDED
Binary file
languages/wpcf7-ru_RU.mo CHANGED
Binary file
languages/wpcf7-tl.mo ADDED
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: 2011-09-17 22:01+0900\n"
6
- "PO-Revision-Date: 2011-09-17 22:01+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
@@ -245,7 +245,7 @@ msgid "Validation errors occurred. Please confirm the fields and submit it again
245
msgstr ""
246
247
#: contact-form-7/includes/functions.php:21
248
- msgid "There is a field of term that sender is needed to accept"
249
msgstr ""
250
251
#: contact-form-7/includes/functions.php:22
@@ -253,7 +253,7 @@ msgid "Please accept the terms to proceed."
253
msgstr ""
254
255
#: contact-form-7/includes/functions.php:26
256
- msgid "Email address that sender entered is invalid"
257
msgstr ""
258
259
#: contact-form-7/includes/functions.php:27
@@ -261,7 +261,7 @@ msgid "Email address seems invalid."
261
msgstr ""
262
263
#: contact-form-7/includes/functions.php:31
264
- msgid "There is a field that sender is needed to fill in"
265
msgstr ""
266
267
#: contact-form-7/includes/functions.php:32
@@ -334,190 +334,202 @@ msgid "Bangla"
334
msgstr ""
335
336
#: contact-form-7/includes/functions.php:170
337
- msgid "Bosnian"
338
msgstr ""
339
340
#: contact-form-7/includes/functions.php:171
341
- msgid "Brazilian Portuguese"
342
msgstr ""
343
344
#: contact-form-7/includes/functions.php:172
345
- msgid "Bulgarian"
346
msgstr ""
347
348
#: contact-form-7/includes/functions.php:173
349
- msgid "Catalan"
350
msgstr ""
351
352
#: contact-form-7/includes/functions.php:174
353
- msgid "Chinese (Simplified)"
354
msgstr ""
355
356
#: contact-form-7/includes/functions.php:175
357
- msgid "Chinese (Traditional)"
358
msgstr ""
359
360
#: contact-form-7/includes/functions.php:176
361
- msgid "Croatian"
362
msgstr ""
363
364
#: contact-form-7/includes/functions.php:177
365
- msgid "Czech"
366
msgstr ""
367
368
#: contact-form-7/includes/functions.php:178
369
- msgid "Danish"
370
msgstr ""
371
372
#: contact-form-7/includes/functions.php:179
373
- msgid "Dutch"
374
msgstr ""
375
376
#: contact-form-7/includes/functions.php:180
377
- msgid "English"
378
msgstr ""
379
380
#: contact-form-7/includes/functions.php:181
381
- msgid "Estonian"
382
msgstr ""
383
384
#: contact-form-7/includes/functions.php:182
385
- msgid "Finnish"
386
msgstr ""
387
388
#: contact-form-7/includes/functions.php:183
389
- msgid "French"
390
msgstr ""
391
392
#: contact-form-7/includes/functions.php:184
393
- msgid "Galician"
394
msgstr ""
395
396
#: contact-form-7/includes/functions.php:185
397
- msgid "Georgian"
398
msgstr ""
399
400
#: contact-form-7/includes/functions.php:186
401
- msgid "German"
402
msgstr ""
403
404
#: contact-form-7/includes/functions.php:187
405
- msgid "Greek"
406
msgstr ""
407
408
#: contact-form-7/includes/functions.php:188
409
- msgid "Hebrew"
410
msgstr ""
411
412
#: contact-form-7/includes/functions.php:189
413
- msgid "Hindi"
414
msgstr ""
415
416
#: contact-form-7/includes/functions.php:190
417
- msgid "Hungarian"
418
msgstr ""
419
420
#: contact-form-7/includes/functions.php:191
421
- msgid "Indonesian"
422
msgstr ""
423
424
#: contact-form-7/includes/functions.php:192
425
- msgid "Italian"
426
msgstr ""
427
428
#: contact-form-7/includes/functions.php:193
429
- msgid "Japanese"
430
msgstr ""
431
432
#: contact-form-7/includes/functions.php:194
433
- msgid "Korean"
434
msgstr ""
435
436
#: contact-form-7/includes/functions.php:195
437
- msgid "Latvian"
438
msgstr ""
439
440
#: contact-form-7/includes/functions.php:196
441
- msgid "Lithuanian"
442
msgstr ""
443
444
#: contact-form-7/includes/functions.php:197
445
- msgid "Macedonian"
446
msgstr ""
447
448
#: contact-form-7/includes/functions.php:198
449
- msgid "Malay"
450
msgstr ""
451
452
#: contact-form-7/includes/functions.php:199
453
- msgid "Malayalam"
454
msgstr ""
455
456
#: contact-form-7/includes/functions.php:200
457
- msgid "Norwegian"
458
msgstr ""
459
460
#: contact-form-7/includes/functions.php:201
461
- msgid "Persian"
462
msgstr ""
463
464
#: contact-form-7/includes/functions.php:202
465
- msgid "Polish"
466
msgstr ""
467
468
#: contact-form-7/includes/functions.php:203
469
- msgid "Portuguese"
470
msgstr ""
471
472
#: contact-form-7/includes/functions.php:204
473
- msgid "Russian"
474
msgstr ""
475
476
#: contact-form-7/includes/functions.php:205
477
- msgid "Romanian"
478
msgstr ""
479
480
#: contact-form-7/includes/functions.php:206
481
- msgid "Serbian"
482
msgstr ""
483
484
#: contact-form-7/includes/functions.php:207
485
- msgid "Sinhala"
486
msgstr ""
487
488
#: contact-form-7/includes/functions.php:208
489
- msgid "Slovak"
490
msgstr ""
491
492
#: contact-form-7/includes/functions.php:209
493
- msgid "Slovene"
494
msgstr ""
495
496
#: contact-form-7/includes/functions.php:210
497
- msgid "Spanish"
498
msgstr ""
499
500
#: contact-form-7/includes/functions.php:211
501
- msgid "Swedish"
502
msgstr ""
503
504
#: contact-form-7/includes/functions.php:212
505
- msgid "Tamil"
506
msgstr ""
507
508
#: contact-form-7/includes/functions.php:213
509
- msgid "Thai"
510
msgstr ""
511
512
#: contact-form-7/includes/functions.php:214
513
- msgid "Turkish"
514
msgstr ""
515
516
#: contact-form-7/includes/functions.php:215
517
- msgid "Ukrainian"
518
msgstr ""
519
520
#: contact-form-7/includes/functions.php:216
521
msgid "Vietnamese"
522
msgstr ""
523
@@ -736,10 +748,6 @@ msgstr ""
736
msgid "This contact form contains file uploading fields, but the temporary folder for the files (%s) does not exist or is not writable. You can create the folder or change its permission manually."
737
msgstr ""
738
739
- #: contact-form-7/modules/icl.php:74
740
- msgid "This contact form contains [icl] tags, but they are obsolete and no longer functioning on this version of Contact Form 7. <a href=\"http://contactform7.com/2009/12/25/contact-form-in-your-language/#Creating_contact_form_in_different_languages\" target=\"_blank\">There is a simpler way for creating contact forms of other languages</a> and you are recommended to use it."
741
- msgstr ""
742
-
743
#: contact-form-7/modules/quiz.php:160
744
msgid "Sender doesn't enter the correct answer to the quiz"
745
msgstr ""
2
msgstr ""
3
"Project-Id-Version: Contact Form 7\n"
4
"Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2011-11-02 23:11+0900\n"
6
+ "PO-Revision-Date: 2011-11-02 23:12+0900\n"
7
"Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
"Language-Team: \n"
9
"MIME-Version: 1.0\n"
245
msgstr ""
246
247
#: contact-form-7/includes/functions.php:21
248
+ msgid "There are terms that the sender must accept"
249
msgstr ""
250
251
#: contact-form-7/includes/functions.php:22
253
msgstr ""
254
255
#: contact-form-7/includes/functions.php:26
256
+ msgid "Email address that the sender entered is invalid"
257
msgstr ""
258
259
#: contact-form-7/includes/functions.php:27
261
msgstr ""
262
263
#: contact-form-7/includes/functions.php:31
264
+ msgid "There is a field that the sender must fill in"
265
msgstr ""
266
267
#: contact-form-7/includes/functions.php:32
334
msgstr ""
335
336
#: contact-form-7/includes/functions.php:170
337
+ msgid "Belarusian"
338
msgstr ""
339
340
#: contact-form-7/includes/functions.php:171
341
+ msgid "Bosnian"
342
msgstr ""
343
344
#: contact-form-7/includes/functions.php:172
345
+ msgid "Brazilian Portuguese"
346
msgstr ""
347
348
#: contact-form-7/includes/functions.php:173
349
+ msgid "Bulgarian"
350
msgstr ""
351
352
#: contact-form-7/includes/functions.php:174
353
+ msgid "Catalan"
354
msgstr ""
355
356
#: contact-form-7/includes/functions.php:175
357
+ msgid "Chinese (Simplified)"
358
msgstr ""
359
360
#: contact-form-7/includes/functions.php:176
361
+ msgid "Chinese (Traditional)"
362
msgstr ""
363
364
#: contact-form-7/includes/functions.php:177
365
+ msgid "Croatian"
366
msgstr ""
367
368
#: contact-form-7/includes/functions.php:178
369
+ msgid "Czech"
370
msgstr ""
371
372
#: contact-form-7/includes/functions.php:179
373
+ msgid "Danish"
374
msgstr ""
375
376
#: contact-form-7/includes/functions.php:180
377
+ msgid "Dutch"
378
msgstr ""
379
380
#: contact-form-7/includes/functions.php:181
381
+ msgid "English"
382
msgstr ""
383
384
#: contact-form-7/includes/functions.php:182
385
+ msgid "Estonian"
386
msgstr ""
387
388
#: contact-form-7/includes/functions.php:183
389
+ msgid "Finnish"
390
msgstr ""
391
392
#: contact-form-7/includes/functions.php:184
393
+ msgid "French"
394
msgstr ""
395
396
#: contact-form-7/includes/functions.php:185
397
+ msgid "Galician"
398
msgstr ""
399
400
#: contact-form-7/includes/functions.php:186
401
+ msgid "Georgian"
402
msgstr ""
403
404
#: contact-form-7/includes/functions.php:187
405
+ msgid "German"
406
msgstr ""
407
408
#: contact-form-7/includes/functions.php:188
409
+ msgid "Greek"
410
msgstr ""
411
412
#: contact-form-7/includes/functions.php:189
413
+ msgid "Hebrew"
414
msgstr ""
415
416
#: contact-form-7/includes/functions.php:190
417
+ msgid "Hindi"
418
msgstr ""
419
420
#: contact-form-7/includes/functions.php:191
421
+ msgid "Hungarian"
422
msgstr ""
423
424
#: contact-form-7/includes/functions.php:192
425
+ msgid "Indonesian"
426
msgstr ""
427
428
#: contact-form-7/includes/functions.php:193
429
+ msgid "Italian"
430
msgstr ""
431
432
#: contact-form-7/includes/functions.php:194
433
+ msgid "Japanese"
434
msgstr ""
435
436
#: contact-form-7/includes/functions.php:195
437
+ msgid "Korean"
438
msgstr ""
439
440
#: contact-form-7/includes/functions.php:196
441
+ msgid "Latvian"
442
msgstr ""
443
444
#: contact-form-7/includes/functions.php:197
445
+ msgid "Lithuanian"
446
msgstr ""
447
448
#: contact-form-7/includes/functions.php:198
449
+ msgid "Macedonian"
450
msgstr ""
451
452
#: contact-form-7/includes/functions.php:199
453
+ msgid "Malay"
454
msgstr ""
455
456
#: contact-form-7/includes/functions.php:200
457
+ msgid "Malayalam"
458
msgstr ""
459
460
#: contact-form-7/includes/functions.php:201
461
+ msgid "Maltese"
462
msgstr ""
463
464
#: contact-form-7/includes/functions.php:202
465
+ msgid "Norwegian"
466
msgstr ""
467
468
#: contact-form-7/includes/functions.php:203
469
+ msgid "Persian"
470
msgstr ""
471
472
#: contact-form-7/includes/functions.php:204
473
+ msgid "Polish"
474
msgstr ""
475
476
#: contact-form-7/includes/functions.php:205
477
+ msgid "Portuguese"
478
msgstr ""
479
480
#: contact-form-7/includes/functions.php:206
481
+ msgid "Russian"
482
msgstr ""
483
484
#: contact-form-7/includes/functions.php:207
485
+ msgid "Romanian"
486
msgstr ""
487
488
#: contact-form-7/includes/functions.php:208
489
+ msgid "Serbian"
490
msgstr ""
491
492
#: contact-form-7/includes/functions.php:209
493
+ msgid "Sinhala"
494
msgstr ""
495
496
#: contact-form-7/includes/functions.php:210
497
+ msgid "Slovak"
498
msgstr ""
499
500
#: contact-form-7/includes/functions.php:211
501
+ msgid "Slovene"
502
msgstr ""
503
504
#: contact-form-7/includes/functions.php:212
505
+ msgid "Spanish"
506
msgstr ""
507
508
#: contact-form-7/includes/functions.php:213
509
+ msgid "Swedish"
510
msgstr ""
511
512
#: contact-form-7/includes/functions.php:214
513
+ msgid "Tamil"
514
msgstr ""
515
516
#: contact-form-7/includes/functions.php:215
517
+ msgid "Thai"
518
msgstr ""
519
520
#: contact-form-7/includes/functions.php:216
521
+ msgid "Tagalog"
522
+ msgstr ""
523
+
524
+ #: contact-form-7/includes/functions.php:217
525
+ msgid "Turkish"
526
+ msgstr ""
527
+
528
+ #: contact-form-7/includes/functions.php:218
529
+ msgid "Ukrainian"
530
+ msgstr ""
531
+
532
+ #: contact-form-7/includes/functions.php:219
533
msgid "Vietnamese"
534
msgstr ""
535
748
msgid "This contact form contains file uploading fields, but the temporary folder for the files (%s) does not exist or is not writable. You can create the folder or change its permission manually."
749
msgstr ""
750
751
#: contact-form-7/modules/quiz.php:160
752
msgid "Sender doesn't enter the correct answer to the quiz"
753
msgstr ""
modules/icl.php DELETED
@@ -1,79 +0,0 @@
1
- <?php
2
- /**
3
- ** Note: This ICL module is obsolete and no longer functioning on this version.
4
- ** There is a simpler way for creating contact forms of other languages.
5
- **/
6
-
7
- /* Shortcode handler */
8
-
9
- wpcf7_add_shortcode( 'icl', 'icl_wpcf7_shortcode_handler', true );
10
-
11
- function icl_wpcf7_shortcode_handler( $tag ) {
12
-
13
- if ( ! is_array( $tag ) )
14
- return '';
15
-
16
- $name = $tag['name'];
17
- $values = (array) $tag['values'];
18
- $content = $tag['content'];
19
-
20
- // Just return the content.
21
-
22
- $content = trim( $content );
23
- if ( ! empty( $content ) )
24
- return $content;
25
-
26
- $value = trim( $values[0] );
27
- if ( ! empty( $value ) )
28
- return $value;
29
-
30
- return '';
31
- }
32
-
33
-
34
- /* Message dispaly filter */
35
-
36
- add_filter( 'wpcf7_display_message', 'icl_wpcf7_display_message_filter' );
37
-
38
- function icl_wpcf7_display_message_filter( $message ) {
39
- $shortcode_manager = new WPCF7_ShortcodeManager();
40
- $shortcode_manager->add_shortcode( 'icl', 'icl_wpcf7_shortcode_handler', true );
41
-
42
- return $shortcode_manager->do_shortcode( $message );
43
- }
44
-
45
-
46
- /* Warning message */
47
-
48
- add_action( 'wpcf7_admin_before_subsubsub', 'icl_wpcf7_display_warning_message' );
49
-
50
- function icl_wpcf7_display_warning_message( &$contact_form ) {
51
- if ( ! $contact_form )
52
- return;
53
-
54
- $has_icl_tags = (bool) $contact_form->form_scan_shortcode(
55
- array( 'type' => array( 'icl' ) ) );
56
-
57
- if ( ! $has_icl_tags ) {
58
- $messages = (array) $contact_form->messages;
59
-
60
- $shortcode_manager = new WPCF7_ShortcodeManager();
61
- $shortcode_manager->add_shortcode( 'icl', create_function( '$tag', 'return null;' ), true );
62
-
63
- foreach ( $messages as $message ) {
64
- if ( $shortcode_manager->scan_shortcode( $message ) ) {
65
- $has_icl_tags = true;
66
- break;
67
- }
68
- }
69
- }
70
-
71
- if ( ! $has_icl_tags )
72
- return;
73
-
74
- $message = __( "This contact form contains [icl] tags, but they are obsolete and no longer functioning on this version of Contact Form 7. <a href=\"http://contactform7.com/2009/12/25/contact-form-in-your-language/#Creating_contact_form_in_different_languages\" target=\"_blank\">There is a simpler way for creating contact forms of other languages</a> and you are recommended to use it.", 'wpcf7' );
75
-
76
- echo '<div class="error"><p><strong>' . $message . '</strong></p></div>';
77
- }
78
-
79
- ?>
modules/select.php CHANGED
@@ -132,7 +132,7 @@ function wpcf7_select_validation_filter( $result, $tag ) {
132
}
133
134
if ( 'select*' == $type ) {
135
- if ( empty( $_POST[$name] ) && '0' !== $_POST[$name] ) {
136
$result['valid'] = false;
137
$result['reason'][$name] = wpcf7_get_message( 'invalid_required' );
138
}
132
}
133
134
if ( 'select*' == $type ) {
135
+ if ( ! isset( $_POST[$name] ) || empty( $_POST[$name] ) && '0' !== $_POST[$name] ) {
136
$result['valid'] = false;
137
$result['reason'][$name] = wpcf7_get_message( 'invalid_required' );
138
}
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.2
6
Tested up to: 3.2.1
7
- Stable tag: 2.4.6
8
9
Just another contact form plugin. Simple but flexible.
10
@@ -29,6 +29,7 @@ It is hard to continue development and support for this plugin without contribut
29
* Arabic (ar) - [Tarek Chaaban](http://www.chaaban.info/), Muhammed Lardi, [Yaser Mohammed](http://www.englize.com/)
30
* Armenian (hy_AM) - [Emmanuelle Traduction](http://www.translatonline.com/)
31
* Bangla (bn_BD) - [SM Mehdi Akram](http://www.shamokaldarpon.com/)
32
* Bosnian (bs) - [Vedran](http://www.seorabbit.com/)
33
* Brazilian Portuguese (pt_BR) - [Leonardo Pinheiro](http://www.eletrikabarbarella.com.br/), [Henrique Vianna](http://henriquevianna.com/), [Caciano Gabriel Batista](http://www.gn10.com.br/), [Gervásio Antônio](http://twitter.com/gervasioantonio)
34
* Bulgarian (bg_BG) - [Iliyan Darganov](http://www.darganov.com/)
@@ -58,11 +59,12 @@ It is hard to continue development and support for this plugin without contribut
58
* Macedonian (mk_MK) - [Darko](http://www.findermind.com/)
59
* Malay (ms_MY) - [Zairul Azmil](http://www.zairul.com/)
60
* Malayalam (ml_IN) - [RAHUL.S.A](http://www.infution.co.cc/)
61
* Norwegian (nb_NO) - Kjetil M. Bergem, [aanvik.net](http://www.aanvik.net), [Peter Holme](http://holme.se/nettsteder/)
62
* Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/)
63
* Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com), [RafalDesign](http://www.rafaldesign.pl/)
64
* Portuguese (pt_PT) - [Hugo Baeta](http://hugobaeta.com)
65
- * Russian (ru_RU) - Dmitry Volotovich, [Denis Voituk](http://artprima.cz/)
66
* Romanian (ro_RO) - [Stas Sushkov](http://stas.nerd.ro/), [Anunturi Jibo](http://www.jibo.ro/)
67
* Serbian (sr_RS) - [Vedran](http://www.seorabbit.com/), [Aleksandar Urošević](http://blog.urosevic.net/)
68
* Sinhala (si_LK) - [Nitin Aggarwal](http://offshoreally.com/)
@@ -70,6 +72,7 @@ It is hard to continue development and support for this plugin without contribut
70
* Slovene (sl_SI) - [Mihael Simonič](http://smihael.bplaced.net)
71
* Spanish (es_ES) - [Jordi Sancho](http://www.qasolutions.net/blog), [Vladimir Prieto](http://vladimir.prie.to/), [Federico Mikaelian](http://www.fedemika.com.ar/), [Matias Baldanza](http://matiasbaldanza.com/), [Carlos Agnese](http://albumdecarlitos.com.ar/)
72
* Swedish (sv_SE) - [Fredrik Jonsson](http://www.fredda-o-ac.se/), [the Swedish community](http://wp-support.se/)
73
* Tamil (ta) - [Nitin Aggarwal](http://offshoreally.com/)
74
* Thai (th) - [kazama](http://blog.wordthai.com/)
75
* Turkish (tr_TR) - [Roman Neumuller](http://katpatuka.wordpress.com), [Hasan Yılmaz](http://hedefturkce.com/), [Emin Buğra Saral](http://www.rahmetli.info/)
@@ -104,6 +107,16 @@ Do you have questions or issues with Contact Form 7? Use these support channels
104
105
== Changelog ==
106
107
= 3.0 =
108
109
* Contact Form 7 3.0 utilizes Custom Post Types feature to save contact forms. It does not create its own table (contact_form_7) anymore.
4
Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
5
Requires at least: 3.2
6
Tested up to: 3.2.1
7
+ Stable tag: 3.0
8
9
Just another contact form plugin. Simple but flexible.
10
29
* Arabic (ar) - [Tarek Chaaban](http://www.chaaban.info/), Muhammed Lardi, [Yaser Mohammed](http://www.englize.com/)
30
* Armenian (hy_AM) - [Emmanuelle Traduction](http://www.translatonline.com/)
31
* Bangla (bn_BD) - [SM Mehdi Akram](http://www.shamokaldarpon.com/)
32
+ * Belarusian (be_BY) - [Igor Dubilei](http://www.iflexion.com/)
33
* Bosnian (bs) - [Vedran](http://www.seorabbit.com/)
34
* Brazilian Portuguese (pt_BR) - [Leonardo Pinheiro](http://www.eletrikabarbarella.com.br/), [Henrique Vianna](http://henriquevianna.com/), [Caciano Gabriel Batista](http://www.gn10.com.br/), [Gervásio Antônio](http://twitter.com/gervasioantonio)
35
* Bulgarian (bg_BG) - [Iliyan Darganov](http://www.darganov.com/)
59
* Macedonian (mk_MK) - [Darko](http://www.findermind.com/)
60
* Malay (ms_MY) - [Zairul Azmil](http://www.zairul.com/)
61
* Malayalam (ml_IN) - [RAHUL.S.A](http://www.infution.co.cc/)
62
+ * Maltese (mt_MT) - [Ajoft Technologies](http://www.ajoft.com/)
63
* Norwegian (nb_NO) - Kjetil M. Bergem, [aanvik.net](http://www.aanvik.net), [Peter Holme](http://holme.se/nettsteder/)
64
* Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/)
65
* Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com), [RafalDesign](http://www.rafaldesign.pl/)
66
* Portuguese (pt_PT) - [Hugo Baeta](http://hugobaeta.com)
67
+ * Russian (ru_RU) - Dmitry Volotovich, [Denis Voituk](http://artprima.cz/), [kg69design](http://kg69design.com/)
68
* Romanian (ro_RO) - [Stas Sushkov](http://stas.nerd.ro/), [Anunturi Jibo](http://www.jibo.ro/)
69
* Serbian (sr_RS) - [Vedran](http://www.seorabbit.com/), [Aleksandar Urošević](http://blog.urosevic.net/)
70
* Sinhala (si_LK) - [Nitin Aggarwal](http://offshoreally.com/)
72
* Slovene (sl_SI) - [Mihael Simonič](http://smihael.bplaced.net)
73
* Spanish (es_ES) - [Jordi Sancho](http://www.qasolutions.net/blog), [Vladimir Prieto](http://vladimir.prie.to/), [Federico Mikaelian](http://www.fedemika.com.ar/), [Matias Baldanza](http://matiasbaldanza.com/), [Carlos Agnese](http://albumdecarlitos.com.ar/)
74
* Swedish (sv_SE) - [Fredrik Jonsson](http://www.fredda-o-ac.se/), [the Swedish community](http://wp-support.se/)
75
+ * Tagalog (tl) - [Rupert Agnew Lanuza](http://wheretobuy.com.ph/)
76
* Tamil (ta) - [Nitin Aggarwal](http://offshoreally.com/)
77
* Thai (th) - [kazama](http://blog.wordthai.com/)
78
* Turkish (tr_TR) - [Roman Neumuller](http://katpatuka.wordpress.com), [Hasan Yılmaz](http://hedefturkce.com/), [Emin Buğra Saral](http://www.rahmetli.info/)
107
108
== Changelog ==
109
110
+ = 3.0.1 =
111
+
112
+ * Removed unused icl.php file from modules folder.
113
+ * Replaced deprecated get_bloginfo('text_direction') with is_rtl().
114
+ * Made “Acceptable file types” field in the File upload tag generator being able to accept comma (,) and pipe (|) as separating character in addition to space.
115
+ * Added sanitization for $_POST['_wpcf7_unit_tag'] value for avoiding possible abuse.
116
+ * Updated jquery.form.js to 2.87.
117
+ * Translations for Tagalog, Belarusian, and Maltese have been created.
118
+ * Translations for Italian, German, Japanese, Russian, Latvian, and Afrikaans have been updated.
119
+
120
= 3.0 =
121
122
* Contact Form 7 3.0 utilizes Custom Post Types feature to save contact forms. It does not create its own table (contact_form_7) anymore.
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.0
11
*/
12
13
/* Copyright 2007-2011 Takayuki Miyoshi (email: takayukister at gmail.com)
@@ -27,7 +27,7 @@ Version: 3.0
27
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
*/
29
30
- define( 'WPCF7_VERSION', '3.0' );
31
32
if ( ! defined( 'WPCF7_PLUGIN_BASENAME' ) )
33
define( 'WPCF7_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );
7
Author URI: http://ideasilo.wordpress.com/
8
Text Domain: wpcf7
9
Domain Path: /languages/
10
+ Version: 3.0.1
11
*/
12
13
/* Copyright 2007-2011 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.0.1' );
31
32
if ( ! defined( 'WPCF7_PLUGIN_BASENAME' ) )
33
define( 'WPCF7_PLUGIN_BASENAME', plugin_basename( __FILE__ ) );