Contact Form 7 - Version 3.9.2

Version Description

  • Fixed: incorrect behavior seen in demo mode.
  • Fixed: Flamingo saved submitter's contact info even when the submission was spam.
  • New: Introduce wpcf7_skip_mail filter.
  • Enhancement: add a random-named directory to each uploaded file's temporary file path in order to make the path harder for a submitter to guess.
  • Translation for Punjabi has been created.
  • Translations for Turkish, Korean and Slovak have been updated.
Download this release

Release Info

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

Code changes from version 3.9.1 to 3.9.2

includes/contact-form.php CHANGED
@@ -547,17 +547,14 @@ class WPCF7_ContactForm {
547
 
548
  $result = array(
549
  'status' => $submission->get_status(),
550
- 'message' => $submission->get_response() );
 
551
 
552
  if ( $submission->is( 'validation_failed' ) ) {
553
  $result['invalid_fields'] = $submission->get_invalid_fields();
554
  }
555
 
556
  if ( $submission->is( 'mail_sent' ) ) {
557
- if ( $this->in_demo_mode() ) {
558
- $result['status'] = 'demo_mode';
559
- }
560
-
561
  if ( $ajax ) {
562
  $on_sent_ok = $this->additional_setting( 'on_sent_ok', false );
563
 
547
 
548
  $result = array(
549
  'status' => $submission->get_status(),
550
+ 'message' => $submission->get_response(),
551
+ 'demo_mode' => $this->in_demo_mode() );
552
 
553
  if ( $submission->is( 'validation_failed' ) ) {
554
  $result['invalid_fields'] = $submission->get_invalid_fields();
555
  }
556
 
557
  if ( $submission->is( 'mail_sent' ) ) {
 
 
 
 
558
  if ( $ajax ) {
559
  $on_sent_ok = $this->additional_setting( 'on_sent_ok', false );
560
 
includes/functions.php CHANGED
@@ -85,6 +85,7 @@ function wpcf7_l10n() {
85
  'fa_IR' => __( 'Persian', 'contact-form-7' ),
86
  'pl_PL' => __( 'Polish', 'contact-form-7' ),
87
  'pt_PT' => __( 'Portuguese', 'contact-form-7' ),
 
88
  'ru_RU' => __( 'Russian', 'contact-form-7' ),
89
  'ro_RO' => __( 'Romanian', 'contact-form-7' ),
90
  'sr_RS' => __( 'Serbian', 'contact-form-7' ),
@@ -363,4 +364,29 @@ function wpcf7_enctype_value( $enctype ) {
363
  return '';
364
  }
365
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
366
  ?>
85
  'fa_IR' => __( 'Persian', 'contact-form-7' ),
86
  'pl_PL' => __( 'Polish', 'contact-form-7' ),
87
  'pt_PT' => __( 'Portuguese', 'contact-form-7' ),
88
+ 'pa_IN' => __( 'Punjabi', 'contact-form-7' ),
89
  'ru_RU' => __( 'Russian', 'contact-form-7' ),
90
  'ro_RO' => __( 'Romanian', 'contact-form-7' ),
91
  'sr_RS' => __( 'Serbian', 'contact-form-7' ),
364
  return '';
365
  }
366
 
367
+ function wpcf7_rmdir_p( $dir ) {
368
+ if ( is_file( $dir ) ) {
369
+ @unlink( $dir );
370
+ return true;
371
+ }
372
+
373
+ if ( ! is_dir( $dir ) ) {
374
+ return false;
375
+ }
376
+
377
+ if ( $handle = @opendir( $dir ) ) {
378
+ while ( false !== ( $file = readdir( $handle ) ) ) {
379
+ if ( $file == "." || $file == ".." ) {
380
+ continue;
381
+ }
382
+
383
+ wpcf7_rmdir_p( path_join( $dir, $file ) );
384
+ }
385
+
386
+ closedir( $handle );
387
+ }
388
+
389
+ return @rmdir( $dir );
390
+ }
391
+
392
  ?>
includes/submission.php CHANGED
@@ -237,7 +237,10 @@ class WPCF7_Submission {
237
 
238
  do_action( 'wpcf7_before_send_mail', $contact_form );
239
 
240
- if ( $this->skip_mail || ! empty( $contact_form->skip_mail ) ) {
 
 
 
241
  return true;
242
  }
243
 
@@ -278,6 +281,7 @@ class WPCF7_Submission {
278
  public function remove_uploaded_files() {
279
  foreach ( (array) $this->uploaded_files as $name => $path ) {
280
  @unlink( $path );
 
281
  }
282
  }
283
 
237
 
238
  do_action( 'wpcf7_before_send_mail', $contact_form );
239
 
240
+ $skip_mail = $this->skip_mail || ! empty( $contact_form->skip_mail );
241
+ $skip_mail = apply_filters( 'wpcf7_skip_mail', $skip_mail, $contact_form );
242
+
243
+ if ( $skip_mail ) {
244
  return true;
245
  }
246
 
281
  public function remove_uploaded_files() {
282
  foreach ( (array) $this->uploaded_files as $name => $path ) {
283
  @unlink( $path );
284
+ @rmdir( dirname( $path ) ); // remove parent dir if it's removable (empty).
285
  }
286
  }
287
 
languages/contact-form-7-ja.mo CHANGED
Binary file
languages/contact-form-7-ko_KR.mo CHANGED
Binary file
languages/contact-form-7-pa_IN.mo ADDED
Binary file
languages/contact-form-7-sk_SK.mo CHANGED
Binary file
languages/contact-form-7-tr_TR.mo CHANGED
Binary file
languages/contact-form-7.pot CHANGED
@@ -2,8 +2,8 @@ msgid ""
2
  msgstr ""
3
  "Project-Id-Version: Contact Form 7\n"
4
  "Report-Msgid-Bugs-To: \n"
5
- "POT-Creation-Date: 2014-07-09 20:55+0900\n"
6
- "PO-Revision-Date: 2014-07-09 20:56+0900\n"
7
  "Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
@@ -25,7 +25,7 @@ msgstr ""
25
  msgid "Contact form %d"
26
  msgstr ""
27
 
28
- #: contact-form-7/admin/admin.php:8 contact-form-7/modules/flamingo.php:128
29
  msgid "Contact Form 7"
30
  msgstr ""
31
 
@@ -379,102 +379,102 @@ msgid ""
379
  "<strong>no longer accessible</strong>. Use <code>%2$s</code> method instead."
380
  msgstr ""
381
 
382
- #: contact-form-7/includes/contact-form.php:834
383
  msgid "Your Name"
384
  msgstr ""
385
 
386
- #: contact-form-7/includes/contact-form.php:834
387
- #: contact-form-7/includes/contact-form.php:836
388
  msgid "(required)"
389
  msgstr ""
390
 
391
- #: contact-form-7/includes/contact-form.php:836
392
  msgid "Your Email"
393
  msgstr ""
394
 
395
- #: contact-form-7/includes/contact-form.php:838
396
  msgid "Subject"
397
  msgstr ""
398
 
399
- #: contact-form-7/includes/contact-form.php:840
400
  msgid "Your Message"
401
  msgstr ""
402
 
403
- #: contact-form-7/includes/contact-form.php:842
404
  #: contact-form-7/modules/submit.php:28
405
  msgid "Send"
406
  msgstr ""
407
 
408
- #: contact-form-7/includes/contact-form.php:850
409
  #, php-format
410
  msgid "From: %s"
411
  msgstr ""
412
 
413
- #: contact-form-7/includes/contact-form.php:851
414
  #, php-format
415
  msgid "Subject: %s"
416
  msgstr ""
417
 
418
- #: contact-form-7/includes/contact-form.php:852
419
- #: contact-form-7/includes/contact-form.php:867
420
  msgid "Message Body:"
421
  msgstr ""
422
 
423
- #: contact-form-7/includes/contact-form.php:853
424
- #: contact-form-7/includes/contact-form.php:868
425
  #, php-format
426
  msgid "This e-mail was sent from a contact form on %1$s (%2$s)"
427
  msgstr ""
428
 
429
- #: contact-form-7/includes/contact-form.php:891
430
  msgid "Sender's message was sent successfully"
431
  msgstr ""
432
 
433
- #: contact-form-7/includes/contact-form.php:892
434
  msgid "Your message was sent successfully. Thanks."
435
  msgstr ""
436
 
437
- #: contact-form-7/includes/contact-form.php:896
438
  msgid "Sender's message was failed to send"
439
  msgstr ""
440
 
441
- #: contact-form-7/includes/contact-form.php:897
442
- #: contact-form-7/includes/contact-form.php:907
443
  msgid ""
444
  "Failed to send your message. Please try later or contact the administrator "
445
  "by another method."
446
  msgstr ""
447
 
448
- #: contact-form-7/includes/contact-form.php:901
449
  msgid "Validation errors occurred"
450
  msgstr ""
451
 
452
- #: contact-form-7/includes/contact-form.php:902
453
  msgid ""
454
  "Validation errors occurred. Please confirm the fields and submit it again."
455
  msgstr ""
456
 
457
- #: contact-form-7/includes/contact-form.php:906
458
  msgid "Submission was referred to as spam"
459
  msgstr ""
460
 
461
- #: contact-form-7/includes/contact-form.php:911
462
  msgid "There are terms that the sender must accept"
463
  msgstr ""
464
 
465
- #: contact-form-7/includes/contact-form.php:912
466
  msgid "Please accept the terms to proceed."
467
  msgstr ""
468
 
469
- #: contact-form-7/includes/contact-form.php:916
470
  msgid "There is a field that the sender must fill in"
471
  msgstr ""
472
 
473
- #: contact-form-7/includes/contact-form.php:917
474
  msgid "Please fill the required field."
475
  msgstr ""
476
 
477
- #: contact-form-7/includes/controller.php:205
478
  msgid "Sending ..."
479
  msgstr ""
480
 
@@ -675,58 +675,62 @@ msgid "Portuguese"
675
  msgstr ""
676
 
677
  #: contact-form-7/includes/functions.php:88
678
- msgid "Russian"
679
  msgstr ""
680
 
681
  #: contact-form-7/includes/functions.php:89
682
- msgid "Romanian"
683
  msgstr ""
684
 
685
  #: contact-form-7/includes/functions.php:90
686
- msgid "Serbian"
687
  msgstr ""
688
 
689
  #: contact-form-7/includes/functions.php:91
690
- msgid "Sinhala"
691
  msgstr ""
692
 
693
  #: contact-form-7/includes/functions.php:92
694
- msgid "Slovak"
695
  msgstr ""
696
 
697
  #: contact-form-7/includes/functions.php:93
698
- msgid "Slovene"
699
  msgstr ""
700
 
701
  #: contact-form-7/includes/functions.php:94
702
- msgid "Spanish"
703
  msgstr ""
704
 
705
  #: contact-form-7/includes/functions.php:95
706
- msgid "Swedish"
707
  msgstr ""
708
 
709
  #: contact-form-7/includes/functions.php:96
710
- msgid "Tamil"
711
  msgstr ""
712
 
713
  #: contact-form-7/includes/functions.php:97
714
- msgid "Thai"
715
  msgstr ""
716
 
717
  #: contact-form-7/includes/functions.php:98
718
- msgid "Tagalog"
719
  msgstr ""
720
 
721
  #: contact-form-7/includes/functions.php:99
722
- msgid "Turkish"
723
  msgstr ""
724
 
725
  #: contact-form-7/includes/functions.php:100
726
- msgid "Ukrainian"
727
  msgstr ""
728
 
729
  #: contact-form-7/includes/functions.php:101
 
 
 
 
730
  msgid "Vietnamese"
731
  msgstr ""
732
 
@@ -737,7 +741,7 @@ msgstr ""
737
  #: contact-form-7/modules/acceptance.php:146
738
  #: contact-form-7/modules/captcha.php:210
739
  #: contact-form-7/modules/checkbox.php:289 contact-form-7/modules/date.php:164
740
- #: contact-form-7/modules/file.php:240 contact-form-7/modules/number.php:174
741
  #: contact-form-7/modules/quiz.php:171 contact-form-7/modules/select.php:161
742
  #: contact-form-7/modules/text.php:217 contact-form-7/modules/textarea.php:116
743
  msgid "Name"
@@ -758,9 +762,9 @@ msgstr ""
758
  #: contact-form-7/modules/checkbox.php:297 contact-form-7/modules/date.php:169
759
  #: contact-form-7/modules/date.php:172 contact-form-7/modules/date.php:177
760
  #: contact-form-7/modules/date.php:180 contact-form-7/modules/date.php:185
761
- #: contact-form-7/modules/date.php:190 contact-form-7/modules/file.php:245
762
- #: contact-form-7/modules/file.php:248 contact-form-7/modules/file.php:253
763
- #: contact-form-7/modules/file.php:256 contact-form-7/modules/number.php:179
764
  #: contact-form-7/modules/number.php:182 contact-form-7/modules/number.php:187
765
  #: contact-form-7/modules/number.php:190 contact-form-7/modules/number.php:195
766
  #: contact-form-7/modules/number.php:200 contact-form-7/modules/quiz.php:176
@@ -795,7 +799,7 @@ msgstr ""
795
  #: contact-form-7/modules/acceptance.php:167
796
  #: contact-form-7/modules/captcha.php:259
797
  #: contact-form-7/modules/checkbox.php:317 contact-form-7/modules/date.php:198
798
- #: contact-form-7/modules/file.php:261 contact-form-7/modules/number.php:208
799
  #: contact-form-7/modules/quiz.php:199 contact-form-7/modules/select.php:186
800
  #: contact-form-7/modules/submit.php:74 contact-form-7/modules/text.php:260
801
  #: contact-form-7/modules/textarea.php:150
@@ -887,7 +891,7 @@ msgid "Radio buttons"
887
  msgstr ""
888
 
889
  #: contact-form-7/modules/checkbox.php:286 contact-form-7/modules/date.php:163
890
- #: contact-form-7/modules/file.php:239 contact-form-7/modules/number.php:173
891
  #: contact-form-7/modules/select.php:160 contact-form-7/modules/text.php:216
892
  #: contact-form-7/modules/textarea.php:115
893
  msgid "Required field?"
@@ -955,59 +959,59 @@ msgstr ""
955
  msgid "Use this text as placeholder?"
956
  msgstr ""
957
 
958
- #: contact-form-7/modules/file.php:200
959
  msgid "Uploading a file fails for any reason"
960
  msgstr ""
961
 
962
- #: contact-form-7/modules/file.php:201
963
  msgid "Failed to upload file."
964
  msgstr ""
965
 
966
- #: contact-form-7/modules/file.php:205
967
  msgid "Uploaded file is not allowed file type"
968
  msgstr ""
969
 
970
- #: contact-form-7/modules/file.php:206
971
  msgid "This file type is not allowed."
972
  msgstr ""
973
 
974
- #: contact-form-7/modules/file.php:210
975
  msgid "Uploaded file is too large"
976
  msgstr ""
977
 
978
- #: contact-form-7/modules/file.php:211
979
  msgid "This file is too large."
980
  msgstr ""
981
 
982
- #: contact-form-7/modules/file.php:215
983
  msgid "Uploading a file fails for PHP error"
984
  msgstr ""
985
 
986
- #: contact-form-7/modules/file.php:216
987
  msgid "Failed to upload file. Error occurred."
988
  msgstr ""
989
 
990
- #: contact-form-7/modules/file.php:230
991
  msgid "File upload"
992
  msgstr ""
993
 
994
- #: contact-form-7/modules/file.php:253
995
  msgid "File size limit"
996
  msgstr ""
997
 
998
- #: contact-form-7/modules/file.php:253
999
  msgid "bytes"
1000
  msgstr ""
1001
 
1002
- #: contact-form-7/modules/file.php:256
1003
  msgid "Acceptable file types"
1004
  msgstr ""
1005
 
1006
- #: contact-form-7/modules/file.php:263
1007
  msgid "And, put this code into the File Attachments field below."
1008
  msgstr ""
1009
 
1010
- #: contact-form-7/modules/file.php:289
1011
  #, php-format
1012
  msgid ""
1013
  "This contact form contains file uploading fields, but the temporary folder "
2
  msgstr ""
3
  "Project-Id-Version: Contact Form 7\n"
4
  "Report-Msgid-Bugs-To: \n"
5
+ "POT-Creation-Date: 2014-08-31 15:20+0900\n"
6
+ "PO-Revision-Date: 2014-08-31 15:20+0900\n"
7
  "Last-Translator: Takayuki Miyoshi <takayukister@gmail.com>\n"
8
  "Language-Team: \n"
9
  "MIME-Version: 1.0\n"
25
  msgid "Contact form %d"
26
  msgstr ""
27
 
28
+ #: contact-form-7/admin/admin.php:8 contact-form-7/modules/flamingo.php:134
29
  msgid "Contact Form 7"
30
  msgstr ""
31
 
379
  "<strong>no longer accessible</strong>. Use <code>%2$s</code> method instead."
380
  msgstr ""
381
 
382
+ #: contact-form-7/includes/contact-form.php:831
383
  msgid "Your Name"
384
  msgstr ""
385
 
386
+ #: contact-form-7/includes/contact-form.php:831
387
+ #: contact-form-7/includes/contact-form.php:833
388
  msgid "(required)"
389
  msgstr ""
390
 
391
+ #: contact-form-7/includes/contact-form.php:833
392
  msgid "Your Email"
393
  msgstr ""
394
 
395
+ #: contact-form-7/includes/contact-form.php:835
396
  msgid "Subject"
397
  msgstr ""
398
 
399
+ #: contact-form-7/includes/contact-form.php:837
400
  msgid "Your Message"
401
  msgstr ""
402
 
403
+ #: contact-form-7/includes/contact-form.php:839
404
  #: contact-form-7/modules/submit.php:28
405
  msgid "Send"
406
  msgstr ""
407
 
408
+ #: contact-form-7/includes/contact-form.php:847
409
  #, php-format
410
  msgid "From: %s"
411
  msgstr ""
412
 
413
+ #: contact-form-7/includes/contact-form.php:848
414
  #, php-format
415
  msgid "Subject: %s"
416
  msgstr ""
417
 
418
+ #: contact-form-7/includes/contact-form.php:849
419
+ #: contact-form-7/includes/contact-form.php:864
420
  msgid "Message Body:"
421
  msgstr ""
422
 
423
+ #: contact-form-7/includes/contact-form.php:850
424
+ #: contact-form-7/includes/contact-form.php:865
425
  #, php-format
426
  msgid "This e-mail was sent from a contact form on %1$s (%2$s)"
427
  msgstr ""
428
 
429
+ #: contact-form-7/includes/contact-form.php:888
430
  msgid "Sender's message was sent successfully"
431
  msgstr ""
432
 
433
+ #: contact-form-7/includes/contact-form.php:889
434
  msgid "Your message was sent successfully. Thanks."
435
  msgstr ""
436
 
437
+ #: contact-form-7/includes/contact-form.php:893
438
  msgid "Sender's message was failed to send"
439
  msgstr ""
440
 
441
+ #: contact-form-7/includes/contact-form.php:894
442
+ #: contact-form-7/includes/contact-form.php:904
443
  msgid ""
444
  "Failed to send your message. Please try later or contact the administrator "
445
  "by another method."
446
  msgstr ""
447
 
448
+ #: contact-form-7/includes/contact-form.php:898
449
  msgid "Validation errors occurred"
450
  msgstr ""
451
 
452
+ #: contact-form-7/includes/contact-form.php:899
453
  msgid ""
454
  "Validation errors occurred. Please confirm the fields and submit it again."
455
  msgstr ""
456
 
457
+ #: contact-form-7/includes/contact-form.php:903
458
  msgid "Submission was referred to as spam"
459
  msgstr ""
460
 
461
+ #: contact-form-7/includes/contact-form.php:908
462
  msgid "There are terms that the sender must accept"
463
  msgstr ""
464
 
465
+ #: contact-form-7/includes/contact-form.php:909
466
  msgid "Please accept the terms to proceed."
467
  msgstr ""
468
 
469
+ #: contact-form-7/includes/contact-form.php:913
470
  msgid "There is a field that the sender must fill in"
471
  msgstr ""
472
 
473
+ #: contact-form-7/includes/contact-form.php:914
474
  msgid "Please fill the required field."
475
  msgstr ""
476
 
477
+ #: contact-form-7/includes/controller.php:211
478
  msgid "Sending ..."
479
  msgstr ""
480
 
675
  msgstr ""
676
 
677
  #: contact-form-7/includes/functions.php:88
678
+ msgid "Punjabi"
679
  msgstr ""
680
 
681
  #: contact-form-7/includes/functions.php:89
682
+ msgid "Russian"
683
  msgstr ""
684
 
685
  #: contact-form-7/includes/functions.php:90
686
+ msgid "Romanian"
687
  msgstr ""
688
 
689
  #: contact-form-7/includes/functions.php:91
690
+ msgid "Serbian"
691
  msgstr ""
692
 
693
  #: contact-form-7/includes/functions.php:92
694
+ msgid "Sinhala"
695
  msgstr ""
696
 
697
  #: contact-form-7/includes/functions.php:93
698
+ msgid "Slovak"
699
  msgstr ""
700
 
701
  #: contact-form-7/includes/functions.php:94
702
+ msgid "Slovene"
703
  msgstr ""
704
 
705
  #: contact-form-7/includes/functions.php:95
706
+ msgid "Spanish"
707
  msgstr ""
708
 
709
  #: contact-form-7/includes/functions.php:96
710
+ msgid "Swedish"
711
  msgstr ""
712
 
713
  #: contact-form-7/includes/functions.php:97
714
+ msgid "Tamil"
715
  msgstr ""
716
 
717
  #: contact-form-7/includes/functions.php:98
718
+ msgid "Thai"
719
  msgstr ""
720
 
721
  #: contact-form-7/includes/functions.php:99
722
+ msgid "Tagalog"
723
  msgstr ""
724
 
725
  #: contact-form-7/includes/functions.php:100
726
+ msgid "Turkish"
727
  msgstr ""
728
 
729
  #: contact-form-7/includes/functions.php:101
730
+ msgid "Ukrainian"
731
+ msgstr ""
732
+
733
+ #: contact-form-7/includes/functions.php:102
734
  msgid "Vietnamese"
735
  msgstr ""
736
 
741
  #: contact-form-7/modules/acceptance.php:146
742
  #: contact-form-7/modules/captcha.php:210
743
  #: contact-form-7/modules/checkbox.php:289 contact-form-7/modules/date.php:164
744
+ #: contact-form-7/modules/file.php:241 contact-form-7/modules/number.php:174
745
  #: contact-form-7/modules/quiz.php:171 contact-form-7/modules/select.php:161
746
  #: contact-form-7/modules/text.php:217 contact-form-7/modules/textarea.php:116
747
  msgid "Name"
762
  #: contact-form-7/modules/checkbox.php:297 contact-form-7/modules/date.php:169
763
  #: contact-form-7/modules/date.php:172 contact-form-7/modules/date.php:177
764
  #: contact-form-7/modules/date.php:180 contact-form-7/modules/date.php:185
765
+ #: contact-form-7/modules/date.php:190 contact-form-7/modules/file.php:246
766
+ #: contact-form-7/modules/file.php:249 contact-form-7/modules/file.php:254
767
+ #: contact-form-7/modules/file.php:257 contact-form-7/modules/number.php:179
768
  #: contact-form-7/modules/number.php:182 contact-form-7/modules/number.php:187
769
  #: contact-form-7/modules/number.php:190 contact-form-7/modules/number.php:195
770
  #: contact-form-7/modules/number.php:200 contact-form-7/modules/quiz.php:176
799
  #: contact-form-7/modules/acceptance.php:167
800
  #: contact-form-7/modules/captcha.php:259
801
  #: contact-form-7/modules/checkbox.php:317 contact-form-7/modules/date.php:198
802
+ #: contact-form-7/modules/file.php:262 contact-form-7/modules/number.php:208
803
  #: contact-form-7/modules/quiz.php:199 contact-form-7/modules/select.php:186
804
  #: contact-form-7/modules/submit.php:74 contact-form-7/modules/text.php:260
805
  #: contact-form-7/modules/textarea.php:150
891
  msgstr ""
892
 
893
  #: contact-form-7/modules/checkbox.php:286 contact-form-7/modules/date.php:163
894
+ #: contact-form-7/modules/file.php:240 contact-form-7/modules/number.php:173
895
  #: contact-form-7/modules/select.php:160 contact-form-7/modules/text.php:216
896
  #: contact-form-7/modules/textarea.php:115
897
  msgid "Required field?"
959
  msgid "Use this text as placeholder?"
960
  msgstr ""
961
 
962
+ #: contact-form-7/modules/file.php:201
963
  msgid "Uploading a file fails for any reason"
964
  msgstr ""
965
 
966
+ #: contact-form-7/modules/file.php:202
967
  msgid "Failed to upload file."
968
  msgstr ""
969
 
970
+ #: contact-form-7/modules/file.php:206
971
  msgid "Uploaded file is not allowed file type"
972
  msgstr ""
973
 
974
+ #: contact-form-7/modules/file.php:207
975
  msgid "This file type is not allowed."
976
  msgstr ""
977
 
978
+ #: contact-form-7/modules/file.php:211
979
  msgid "Uploaded file is too large"
980
  msgstr ""
981
 
982
+ #: contact-form-7/modules/file.php:212
983
  msgid "This file is too large."
984
  msgstr ""
985
 
986
+ #: contact-form-7/modules/file.php:216
987
  msgid "Uploading a file fails for PHP error"
988
  msgstr ""
989
 
990
+ #: contact-form-7/modules/file.php:217
991
  msgid "Failed to upload file. Error occurred."
992
  msgstr ""
993
 
994
+ #: contact-form-7/modules/file.php:231
995
  msgid "File upload"
996
  msgstr ""
997
 
998
+ #: contact-form-7/modules/file.php:254
999
  msgid "File size limit"
1000
  msgstr ""
1001
 
1002
+ #: contact-form-7/modules/file.php:254
1003
  msgid "bytes"
1004
  msgstr ""
1005
 
1006
+ #: contact-form-7/modules/file.php:257
1007
  msgid "Acceptable file types"
1008
  msgstr ""
1009
 
1010
+ #: contact-form-7/modules/file.php:264
1011
  msgid "And, put this code into the File Attachments field below."
1012
  msgstr ""
1013
 
1014
+ #: contact-form-7/modules/file.php:290
1015
  #, php-format
1016
  msgid ""
1017
  "This contact form contains file uploading fields, but the temporary folder "
modules/file.php CHANGED
@@ -163,8 +163,9 @@ function wpcf7_file_validation_filter( $result, $tag ) {
163
  return $result;
164
  }
165
 
166
- $uploads_dir = wpcf7_upload_tmp_dir();
167
  wpcf7_init_uploads(); // Confirm upload dir
 
 
168
 
169
  $filename = $file['name'];
170
  $filename = wpcf7_antiscript_file_name( $filename );
@@ -310,6 +311,19 @@ function wpcf7_init_uploads() {
310
  }
311
  }
312
 
 
 
 
 
 
 
 
 
 
 
 
 
 
313
  function wpcf7_upload_tmp_dir() {
314
  if ( defined( 'WPCF7_UPLOADS_TMP_DIR' ) )
315
  return WPCF7_UPLOADS_TMP_DIR;
@@ -343,7 +357,7 @@ function wpcf7_cleanup_upload_files() {
343
  continue;
344
  }
345
 
346
- @unlink( $dir . $file );
347
  }
348
 
349
  closedir( $handle );
163
  return $result;
164
  }
165
 
 
166
  wpcf7_init_uploads(); // Confirm upload dir
167
+ $uploads_dir = wpcf7_upload_tmp_dir();
168
+ $uploads_dir = wpcf7_maybe_add_random_dir( $uploads_dir );
169
 
170
  $filename = $file['name'];
171
  $filename = wpcf7_antiscript_file_name( $filename );
311
  }
312
  }
313
 
314
+ function wpcf7_maybe_add_random_dir( $dir ) {
315
+ do {
316
+ $rand = zeroise( mt_rand( 0, 999999999999 ), 12 );
317
+ $dir_new = path_join( $dir, $rand );
318
+ } while ( file_exists( $dir_new ) );
319
+
320
+ if ( wp_mkdir_p( $dir_new ) ) {
321
+ return $dir_new;
322
+ }
323
+
324
+ return $dir;
325
+ }
326
+
327
  function wpcf7_upload_tmp_dir() {
328
  if ( defined( 'WPCF7_UPLOADS_TMP_DIR' ) )
329
  return WPCF7_UPLOADS_TMP_DIR;
357
  continue;
358
  }
359
 
360
+ wpcf7_rmdir_p( path_join( $dir, $file ) );
361
  }
362
 
363
  closedir( $handle );
modules/flamingo.php CHANGED
@@ -7,6 +7,15 @@
7
  add_action( 'wpcf7_submit', 'wpcf7_flamingo_submit', 10, 2 );
8
 
9
  function wpcf7_flamingo_submit( $contactform, $result ) {
 
 
 
 
 
 
 
 
 
10
  $cases = (array) apply_filters( 'wpcf7_flamingo_submit_if',
11
  array( 'spam', 'mail_sent', 'mail_failed' ) );
12
 
@@ -15,11 +24,6 @@ function wpcf7_flamingo_submit( $contactform, $result ) {
15
  return;
16
  }
17
 
18
- if ( ! class_exists( 'Flamingo_Contact' )
19
- || ! class_exists( 'Flamingo_Inbound_Message' ) ) {
20
- return;
21
- }
22
-
23
  $submission = WPCF7_Submission::get_instance();
24
 
25
  if ( ! $submission || ! $posted_data = $submission->get_posted_data() ) {
@@ -58,9 +62,11 @@ function wpcf7_flamingo_submit( $contactform, $result ) {
58
 
59
  $akismet = isset( $submission->akismet ) ? (array) $submission->akismet : null;
60
 
61
- Flamingo_Contact::add( array(
62
- 'email' => $email,
63
- 'name' => $name ) );
 
 
64
 
65
  $channel_id = wpcf7_flamingo_add_channel(
66
  $contactform->name(), $contactform->title() );
7
  add_action( 'wpcf7_submit', 'wpcf7_flamingo_submit', 10, 2 );
8
 
9
  function wpcf7_flamingo_submit( $contactform, $result ) {
10
+ if ( ! class_exists( 'Flamingo_Contact' )
11
+ || ! class_exists( 'Flamingo_Inbound_Message' ) ) {
12
+ return;
13
+ }
14
+
15
+ if ( $contactform->in_demo_mode() ) {
16
+ return;
17
+ }
18
+
19
  $cases = (array) apply_filters( 'wpcf7_flamingo_submit_if',
20
  array( 'spam', 'mail_sent', 'mail_failed' ) );
21
 
24
  return;
25
  }
26
 
 
 
 
 
 
27
  $submission = WPCF7_Submission::get_instance();
28
 
29
  if ( ! $submission || ! $posted_data = $submission->get_posted_data() ) {
62
 
63
  $akismet = isset( $submission->akismet ) ? (array) $submission->akismet : null;
64
 
65
+ if ( 'mail_sent' == $result['status'] ) {
66
+ Flamingo_Contact::add( array(
67
+ 'email' => $email,
68
+ 'name' => $name ) );
69
+ }
70
 
71
  $channel_id = wpcf7_flamingo_add_channel(
72
  $contactform->name(), $contactform->title() );
readme.txt CHANGED
@@ -3,8 +3,8 @@ Contributors: takayukister
3
  Donate link: http://contactform7.com/donate/
4
  Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
5
  Requires at least: 3.8
6
- Tested up to: 3.9.1
7
- Stable tag: 3.9.1
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
@@ -80,6 +80,7 @@ The following are other recommended plugins by the author of Contact Form 7.
80
  * Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/), [Mohsen Firoozmandan](http://www.rankbazar.com/), Ghaem Omidi
81
  * Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com), [RafalDesign](http://www.rafaldesign.pl/), [Bartosz Arendt](http://digitalfactory.pl/)
82
  * Portuguese (pt_PT) - [Hugo Baeta](http://hugobaeta.com), [Pedro Nave](http://pedronave.com/)
 
83
  * Russian (ru_RU) - Dmitry Volotovich, [Denis Voituk](http://artprima.cz/), [kg69design](http://kg69design.com/)
84
  * Romanian (ro_RO) - [Stas Sushkov](http://stas.nerd.ro/), [Anunturi Jibo](http://www.jibo.ro/), [Marius Olar](http://webdudes.ro/), [Inbox Translation](http://inboxtranslation.com/)
85
  * Serbian (sr_RS) - [Vedran](http://www.seorabbit.com/), [Aleksandar Urošević](http://blog.urosevic.net/)
@@ -124,6 +125,15 @@ Do you have questions or issues with Contact Form 7? Use these support channels
124
 
125
  For more information, see [Releases](http://contactform7.com/category/releases/).
126
 
 
 
 
 
 
 
 
 
 
127
  = 3.9.1 =
128
 
129
  * Fix: options with empty values didn't work correctly in a drop-down menu.
3
  Donate link: http://contactform7.com/donate/
4
  Tags: contact, form, contact form, feedback, email, ajax, captcha, akismet, multilingual
5
  Requires at least: 3.8
6
+ Tested up to: 4.0
7
+ Stable tag: 3.9.2
8
  License: GPLv2 or later
9
  License URI: http://www.gnu.org/licenses/gpl-2.0.html
10
 
80
  * Persian (Farsi; fa_IR) - [Mohammad Musavi](http://www.musavis.com/), [Mohsen Firoozmandan](http://www.rankbazar.com/), Ghaem Omidi
81
  * Polish (pl_PL) - [Zbigniew Czernik](http://zibik.jogger.pl/), [Daniel Fruzynski](http://www.poradnik-webmastera.com), [RafalDesign](http://www.rafaldesign.pl/), [Bartosz Arendt](http://digitalfactory.pl/)
82
  * Portuguese (pt_PT) - [Hugo Baeta](http://hugobaeta.com), [Pedro Nave](http://pedronave.com/)
83
+ * Punjabi (pa_IN) - Jasvinder Sing
84
  * Russian (ru_RU) - Dmitry Volotovich, [Denis Voituk](http://artprima.cz/), [kg69design](http://kg69design.com/)
85
  * Romanian (ro_RO) - [Stas Sushkov](http://stas.nerd.ro/), [Anunturi Jibo](http://www.jibo.ro/), [Marius Olar](http://webdudes.ro/), [Inbox Translation](http://inboxtranslation.com/)
86
  * Serbian (sr_RS) - [Vedran](http://www.seorabbit.com/), [Aleksandar Urošević](http://blog.urosevic.net/)
125
 
126
  For more information, see [Releases](http://contactform7.com/category/releases/).
127
 
128
+ = 3.9.2 =
129
+
130
+ * Fixed: incorrect behavior seen in demo mode.
131
+ * Fixed: Flamingo saved submitter's contact info even when the submission was spam.
132
+ * New: Introduce wpcf7_skip_mail filter.
133
+ * Enhancement: add a random-named directory to each uploaded file's temporary file path in order to make the path harder for a submitter to guess.
134
+ * Translation for Punjabi has been created.
135
+ * Translations for Turkish, Korean and Slovak have been updated.
136
+
137
  = 3.9.1 =
138
 
139
  * Fix: options with empty values didn't work correctly in a drop-down menu.
wp-contact-form-7.php CHANGED
@@ -7,7 +7,7 @@ Author: Takayuki Miyoshi
7
  Author URI: http://ideasilo.wordpress.com/
8
  Text Domain: contact-form-7
9
  Domain Path: /languages/
10
- Version: 3.9.1
11
  */
12
 
13
  /* Copyright 2007-2014 Takayuki Miyoshi (email: takayukister at gmail.com)
@@ -27,7 +27,7 @@ Version: 3.9.1
27
  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
28
  */
29
 
30
- define( 'WPCF7_VERSION', '3.9.1' );
31
 
32
  define( 'WPCF7_REQUIRED_WP_VERSION', '3.8' );
33
 
7
  Author URI: http://ideasilo.wordpress.com/
8
  Text Domain: contact-form-7
9
  Domain Path: /languages/
10
+ Version: 3.9.2
11
  */
12
 
13
  /* Copyright 2007-2014 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.9.2' );
31
 
32
  define( 'WPCF7_REQUIRED_WP_VERSION', '3.8' );
33