MailPoet Newsletters (Previous) - Version 2.7.13

Version Description

  • 2017-09-29 =
  • Added throttling of repeated subscriptions from an IP address
Download this release

Release Info

Developer wysija
Plugin Icon 128x128 MailPoet Newsletters (Previous)
Version 2.7.13
Comparing to
See all releases

Code changes from version 2.7.12.1 to 2.7.13

Files changed (55) hide show
  1. controllers/ajax/subscribers.php +1 -0
  2. controllers/front/subscribers.php +1 -1
  3. core/base.php +1 -1
  4. helpers/user.php +36 -0
  5. index.php +1 -1
  6. languages/wysija-newsletters-af.mo +0 -0
  7. languages/wysija-newsletters-ar.mo +0 -0
  8. languages/wysija-newsletters-be.mo +0 -0
  9. languages/wysija-newsletters-bg_BG.mo +0 -0
  10. languages/wysija-newsletters-bs_BA.mo +0 -0
  11. languages/wysija-newsletters-ca.mo +0 -0
  12. languages/wysija-newsletters-ca_ES.mo +0 -0
  13. languages/wysija-newsletters-cs_CZ.mo +0 -0
  14. languages/wysija-newsletters-da_DK.mo +0 -0
  15. languages/wysija-newsletters-de_DE.mo +0 -0
  16. languages/wysija-newsletters-el.mo +0 -0
  17. languages/wysija-newsletters-en_AU.mo +0 -0
  18. languages/wysija-newsletters-es_AR.mo +0 -0
  19. languages/wysija-newsletters-es_ES.mo +0 -0
  20. languages/wysija-newsletters-es_MX.mo +0 -0
  21. languages/wysija-newsletters-et.mo +0 -0
  22. languages/wysija-newsletters-eu.mo +0 -0
  23. languages/wysija-newsletters-fa_IR.mo +0 -0
  24. languages/wysija-newsletters-fi.mo +0 -0
  25. languages/wysija-newsletters-fr_CA.mo +0 -0
  26. languages/wysija-newsletters-fr_FR.mo +0 -0
  27. languages/wysija-newsletters-gl_ES.mo +0 -0
  28. languages/wysija-newsletters-he_IL.mo +0 -0
  29. languages/wysija-newsletters-hi_IN.mo +0 -0
  30. languages/wysija-newsletters-hr_HR.mo +0 -0
  31. languages/wysija-newsletters-hu_HU.mo +0 -0
  32. languages/wysija-newsletters-hy_AM.mo +0 -0
  33. languages/wysija-newsletters-id.mo +0 -0
  34. languages/wysija-newsletters-is_IS.mo +0 -0
  35. languages/wysija-newsletters-it_IT.mo +0 -0
  36. languages/wysija-newsletters-ja.mo +0 -0
  37. languages/wysija-newsletters-lt_LT.mo +0 -0
  38. languages/wysija-newsletters-lv.mo +0 -0
  39. languages/wysija-newsletters-mk_MK.mo +0 -0
  40. languages/wysija-newsletters-nb_NO.mo +0 -0
  41. languages/wysija-newsletters-nl_NL.mo +0 -0
  42. languages/wysija-newsletters-oc.mo +0 -0
  43. languages/wysija-newsletters-pl_PL.mo +0 -0
  44. languages/wysija-newsletters-pt_PT.mo +0 -0
  45. languages/wysija-newsletters-ro_RO.mo +0 -0
  46. languages/wysija-newsletters-ru_RU.mo +0 -0
  47. languages/wysija-newsletters-sk_SK.mo +0 -0
  48. languages/wysija-newsletters-sl_SI.mo +0 -0
  49. languages/wysija-newsletters-sr_RS.mo +0 -0
  50. languages/wysija-newsletters-sr_RS@latin.mo +0 -0
  51. languages/wysija-newsletters-sv_SE.mo +0 -0
  52. languages/wysija-newsletters-tr_TR.mo +0 -0
  53. languages/wysija-newsletters-uk.mo +0 -0
  54. languages/wysija-newsletters-zh_CN.mo +0 -0
  55. readme.txt +4 -1
controllers/ajax/subscribers.php CHANGED
@@ -36,6 +36,7 @@ class WYSIJA_control_back_subscribers extends WYSIJA_control_front{
36
 
37
  $helperUser=WYSIJA::get('user','helper');
38
  if(!$helperUser->checkData($data))return false;
 
39
  $helperUser->addSubscriber($data);
40
 
41
  return true;
36
 
37
  $helperUser=WYSIJA::get('user','helper');
38
  if(!$helperUser->checkData($data))return false;
39
+ if(!$helperUser->throttleRepeatedSubscriptions($data))return false;
40
  $helperUser->addSubscriber($data);
41
 
42
  return true;
controllers/front/subscribers.php CHANGED
@@ -42,6 +42,7 @@ class WYSIJA_control_front_subscribers extends WYSIJA_control_front{
42
 
43
  $helperUser=WYSIJA::get('user','helper');
44
  if(!$helperUser->checkData($data))return false;
 
45
 
46
  $helperUser->addSubscriber($data);
47
 
@@ -138,5 +139,4 @@ class WYSIJA_control_front_subscribers extends WYSIJA_control_front{
138
  echo $subscription_form;
139
  exit;
140
  }
141
-
142
  }
42
 
43
  $helperUser=WYSIJA::get('user','helper');
44
  if(!$helperUser->checkData($data))return false;
45
+ if(!$helperUser->throttleRepeatedSubscriptions()) return false;
46
 
47
  $helperUser->addSubscriber($data);
48
 
139
  echo $subscription_form;
140
  exit;
141
  }
 
142
  }
core/base.php CHANGED
@@ -19,7 +19,7 @@ class WYSIJA_object{
19
  * Static variable holding core MailPoet's version
20
  * @var array
21
  */
22
- static $version = '2.7.12.1';
23
 
24
  function __construct(){}
25
 
19
  * Static variable holding core MailPoet's version
20
  * @var array
21
  */
22
+ static $version = '2.7.13';
23
 
24
  function __construct(){}
25
 
helpers/user.php CHANGED
@@ -385,6 +385,42 @@ class WYSIJA_help_user extends WYSIJA_object {
385
  return $user_id;
386
  }
387
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
388
  /**
389
  * send auto nl based on the params passed
390
  * @staticvar type $emails
385
  return $user_id;
386
  }
387
 
388
+ function throttleRepeatedSubscriptions() {
389
+ $model_user = WYSIJA::get('user', 'model');
390
+
391
+ $subscription_limit_enabled = apply_filters('wysija_subscription_limit_enabled', true);
392
+
393
+ if ($subscription_limit_enabled && !is_user_logged_in()) {
394
+ $subscription_limit_window = apply_filters('wysija_subscription_limit_window', DAY_IN_SECONDS);
395
+ $subscription_limit_base = apply_filters('wysija_subscription_limit_base', MINUTE_IN_SECONDS);
396
+
397
+ $subscriber_ip = $this->getIP();
398
+ if (!empty($subscriber_ip)) {
399
+ $subscription_count = $model_user->query(
400
+ 'get_row',
401
+ 'SELECT COUNT(*) as row_count FROM ' . $model_user->getSelectTableName() . '
402
+ WHERE `ip` = "' . $subscriber_ip . '" AND `created_at` >= (UNIX_TIMESTAMP() - ' . (int) $subscription_limit_window . ')'
403
+ );
404
+
405
+ if (isset($subscription_count['row_count']) && $subscription_count['row_count'] > 0) {
406
+ $timeout = $subscription_limit_base * pow(2, $subscription_count['row_count'] - 1);
407
+ $existing_user = $model_user->query(
408
+ 'get_row',
409
+ 'SELECT COUNT(*) as row_count
410
+ FROM ' . $model_user->getSelectTableName() . '
411
+ WHERE `ip` = "' . $subscriber_ip . '" AND `created_at` >= (UNIX_TIMESTAMP() - ' . (int) $timeout . ') LIMIT 1'
412
+ );
413
+ if (!empty($existing_user['row_count'])) {
414
+ $this->error( sprintf(__( 'You need to wait %s seconds before subscribing again.' , WYSIJA ), $timeout) , true);
415
+ return false;
416
+ }
417
+ }
418
+ }
419
+ }
420
+
421
+ return true;
422
+ }
423
+
424
  /**
425
  * send auto nl based on the params passed
426
  * @staticvar type $emails
index.php CHANGED
@@ -3,7 +3,7 @@
3
  Plugin Name: MailPoet 2
4
  Plugin URI: http://www.mailpoet.com/
5
  Description: Create and send newsletters or automated emails. Capture subscribers with a widget. Import and manage your lists. This version is being replaced by MailPoet 3. Support offered to Premium customers only. Updates are limited to security issues.
6
- Version: 2.7.12.1
7
  Author: MailPoet
8
  Author URI: http://www.mailpoet.com/
9
  License: GPLv2 or later
3
  Plugin Name: MailPoet 2
4
  Plugin URI: http://www.mailpoet.com/
5
  Description: Create and send newsletters or automated emails. Capture subscribers with a widget. Import and manage your lists. This version is being replaced by MailPoet 3. Support offered to Premium customers only. Updates are limited to security issues.
6
+ Version: 2.7.13
7
  Author: MailPoet
8
  Author URI: http://www.mailpoet.com/
9
  License: GPLv2 or later
languages/wysija-newsletters-af.mo CHANGED
Binary file
languages/wysija-newsletters-ar.mo CHANGED
Binary file
languages/wysija-newsletters-be.mo CHANGED
Binary file
languages/wysija-newsletters-bg_BG.mo CHANGED
Binary file
languages/wysija-newsletters-bs_BA.mo CHANGED
Binary file
languages/wysija-newsletters-ca.mo CHANGED
Binary file
languages/wysija-newsletters-ca_ES.mo CHANGED
Binary file
languages/wysija-newsletters-cs_CZ.mo CHANGED
Binary file
languages/wysija-newsletters-da_DK.mo CHANGED
Binary file
languages/wysija-newsletters-de_DE.mo CHANGED
Binary file
languages/wysija-newsletters-el.mo CHANGED
Binary file
languages/wysija-newsletters-en_AU.mo CHANGED
Binary file
languages/wysija-newsletters-es_AR.mo CHANGED
Binary file
languages/wysija-newsletters-es_ES.mo CHANGED
Binary file
languages/wysija-newsletters-es_MX.mo CHANGED
Binary file
languages/wysija-newsletters-et.mo CHANGED
Binary file
languages/wysija-newsletters-eu.mo CHANGED
Binary file
languages/wysija-newsletters-fa_IR.mo CHANGED
Binary file
languages/wysija-newsletters-fi.mo CHANGED
Binary file
languages/wysija-newsletters-fr_CA.mo CHANGED
Binary file
languages/wysija-newsletters-fr_FR.mo CHANGED
Binary file
languages/wysija-newsletters-gl_ES.mo CHANGED
Binary file
languages/wysija-newsletters-he_IL.mo CHANGED
Binary file
languages/wysija-newsletters-hi_IN.mo CHANGED
Binary file
languages/wysija-newsletters-hr_HR.mo CHANGED
Binary file
languages/wysija-newsletters-hu_HU.mo CHANGED
Binary file
languages/wysija-newsletters-hy_AM.mo CHANGED
Binary file
languages/wysija-newsletters-id.mo CHANGED
Binary file
languages/wysija-newsletters-is_IS.mo CHANGED
Binary file
languages/wysija-newsletters-it_IT.mo CHANGED
Binary file
languages/wysija-newsletters-ja.mo CHANGED
Binary file
languages/wysija-newsletters-lt_LT.mo CHANGED
Binary file
languages/wysija-newsletters-lv.mo CHANGED
Binary file
languages/wysija-newsletters-mk_MK.mo CHANGED
Binary file
languages/wysija-newsletters-nb_NO.mo CHANGED
Binary file
languages/wysija-newsletters-nl_NL.mo CHANGED
Binary file
languages/wysija-newsletters-oc.mo CHANGED
Binary file
languages/wysija-newsletters-pl_PL.mo CHANGED
Binary file
languages/wysija-newsletters-pt_PT.mo CHANGED
Binary file
languages/wysija-newsletters-ro_RO.mo CHANGED
Binary file
languages/wysija-newsletters-ru_RU.mo CHANGED
Binary file
languages/wysija-newsletters-sk_SK.mo CHANGED
Binary file
languages/wysija-newsletters-sl_SI.mo CHANGED
Binary file
languages/wysija-newsletters-sr_RS.mo CHANGED
Binary file
languages/wysija-newsletters-sr_RS@latin.mo CHANGED
Binary file
languages/wysija-newsletters-sv_SE.mo CHANGED
Binary file
languages/wysija-newsletters-tr_TR.mo CHANGED
Binary file
languages/wysija-newsletters-uk.mo CHANGED
Binary file
languages/wysija-newsletters-zh_CN.mo CHANGED
Binary file
readme.txt CHANGED
@@ -3,7 +3,7 @@ Contributors: wysija
3
  Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
4
  Requires at least: 3.5
5
  Tested up to: 4.8
6
- Stable tag: 2.7.12.1
7
  Send newsletters post notifications or autoresponders from WordPress easily, and beautifully. Start to capture subscribers with our widget now.
8
 
9
  == Description ==
@@ -113,6 +113,9 @@ Our [support site](https://www.mailpoet.com/support) has plenty of articles and
113
 
114
  == Changelog ==
115
 
 
 
 
116
  = 2.7.12.1 - 2017-09-19 =
117
  * Update messages in regards to official launch of MailPoet version 3
118
 
3
  Tags: newsletter, email, welcome email, post notification, autoresponder, signup, subscription, SMTP
4
  Requires at least: 3.5
5
  Tested up to: 4.8
6
+ Stable tag: 2.7.13
7
  Send newsletters post notifications or autoresponders from WordPress easily, and beautifully. Start to capture subscribers with our widget now.
8
 
9
  == Description ==
113
 
114
  == Changelog ==
115
 
116
+ = 2.7.13 - 2017-09-29 =
117
+ * Added throttling of repeated subscriptions from an IP address
118
+
119
  = 2.7.12.1 - 2017-09-19 =
120
  * Update messages in regards to official launch of MailPoet version 3
121