s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) - Version 190617

Version Description

= v160801 =

(Maintenance Release) Upgrade immediately.

Download this release

Release Info

Developer clavaque
Plugin Icon 128x128 s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members)
Version 190617
Comparing to
See all releases

Code changes from version 170722 to 190617

readme.txt CHANGED
@@ -1,14 +1,14 @@
1
  === s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
2
 
3
- Version: 170722
4
- Stable tag: 170722
5
- Tested up to: 4.9.4
6
  Requires at least: 4.2
7
- Requires PHP: 5.2
8
- Tested up to PHP: 7.0.17
9
  License: GNU General Public License v2 or later.
10
- Contributors: WebSharks, JasWSInc, raamdev
11
- Author: s2Member® / WebSharks, Inc.
12
  Author URI: http://s2member.com/
13
  Donate link: http://s2member.com/donate/
14
  Beta link: http://s2member.com/beta-testers/
@@ -91,7 +91,7 @@ Please see: <http://s2member.com/r/translations/>
91
 
92
  == License ==
93
 
94
- Copyright: © 2013 [WebSharks, Inc.](http://www.websharks-inc.com/bizdev/) (coded in the USA)
95
 
96
  Released under the terms of the [GNU General Public License](http://www.gnu.org/licenses/gpl-2.0.html).
97
 
@@ -137,6 +137,20 @@ Released under the terms of the [GNU General Public License](http://www.gnu.org/
137
 
138
  == Changelog ==
139
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
140
  = v170722 =
141
 
142
  - (s2Member/s2Member Pro) **PayPal IPN Compatibility:** This release includes an updated PayPal IPN handler that is capable of reading number-suffixed IPN variables that are now being sent by PayPal's IPN system in some cases, for some customers. We strongly encourage all site owners to upgrade to this release as soon as possible, particularly if you're using PayPal to process transactions. Props @openmtbmap and @patdumond for reporting. See: [Issue #1112](https://github.com/websharks/s2member/issues/1112)
1
  === s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
2
 
3
+ Version: 190617
4
+ Stable tag: 190617
5
+ Tested up to: 5.2.2
6
  Requires at least: 4.2
7
+ Requires PHP: 5.6
8
+ Tested up to PHP: 7.2.19
9
  License: GNU General Public License v2 or later.
10
+ Contributors: WebSharks, JasWSInc, raamdev, clavaque
11
+ Author: WP Sharks
12
  Author URI: http://s2member.com/
13
  Donate link: http://s2member.com/donate/
14
  Beta link: http://s2member.com/beta-testers/
91
 
92
  == License ==
93
 
94
+ Copyright: © 2013 [WP Sharks](http://www.wpsharks.com/) (coded in the USA)
95
 
96
  Released under the terms of the [GNU General Public License](http://www.gnu.org/licenses/gpl-2.0.html).
97
 
137
 
138
  == Changelog ==
139
 
140
+ = v190617 =
141
+
142
+ - (s2Member Pro) **Authorize.Net Hash Upgrade:** Authorize.Net [announced](https://support.authorize.net/s/article/MD5-Hash-End-of-Life-Signature-Key-Replacement) the end-of-life for their MD5 Hash in favor of their new SHA512 Signature Key. Support for this has been added to s2Member Pro. The MD5 Hash is not provided by Authorize.Net any more, so the field for it in s2Member has been disabled. Props @krumch for his work. For further details see [forum thread 5514](https://f.wpsharks.com/t/5514).
143
+
144
+ **Note:** For those that already used the MD5 Hash in their configuration, it is kept there and will keep working while Authorize.Net accepts it, which will not be much longer. It's important to update your integration with the new Signature Key. Once you have your Signature Key in the s2Member configuration, it will be favored over the old MD5 Hash._
145
+
146
+ - (s2Member Pro) **Bug Fix:** The multisite patch for `wp-admin/user_new.php` wasn't finding the code to replace because of changes in the latest releases of WordPress. It has now been updated, as well as the instructions in the Dashboard for those that prefer to apply it manually. Props @crazycoolcam for reporting it. For further details see [Issue #1132](https://github.com/wpsharks/s2member/issues/1132).
147
+
148
+ **Note:** If you already had patched this file in the past, it's recommended that you remove the previous patch restoring it to the original file, and let s2Member Pro patch it again now, otherwise you risk getting it patched over the previous one and ending up with errors. After the new patch, please review that file to verify that it's correct._
149
+
150
+ - (s2Member Pro) **Bug Fix:** The search results for `s2Member-List` were not being ordered as specified in the `orderby` attribute when this was a field from the `usermeta` table in the database, e.g. `first_name`, `last_name`. This is now fixed and working correctly. Props to @stevenwolock for reporting it. For further details see [Issue #1103](https://github.com/wpsharks/s2member/issues/1103).
151
+
152
+ - (s2Member) **WP 5.2 Compat. Enhancement:** s2Member has been tested with WP up to 5.2.2-alpha. With `WP_DEBUG` enabled, only one "notice" was found. In `wp-login.php` it said 'login_headertitle is deprecated since version 5.2.0! Use login_headertext instead.' This release now uses `login_headertext` and doesn't get that notice anymore. Props Azunga for reporting it. See [forum thread 5962](https://f.wpsharks.com/t/5962).
153
+
154
  = v170722 =
155
 
156
  - (s2Member/s2Member Pro) **PayPal IPN Compatibility:** This release includes an updated PayPal IPN handler that is capable of reading number-suffixed IPN variables that are now being sent by PayPal's IPN system in some cases, for some customers. We strongly encourage all site owners to upgrade to this release as soon as possible, particularly if you're using PayPal to process transactions. Props @openmtbmap and @patdumond for reporting. See: [Issue #1112](https://github.com/websharks/s2member/issues/1112)
s2member.php CHANGED
@@ -7,7 +7,7 @@
7
  * PHP, WordPress and other compatibility requirements.
8
  *
9
  * Copyright: © 2009-2011
10
- * {@link http://websharks-inc.com/ WebSharks, Inc.}
11
  * (coded in the USA)
12
  *
13
  * Released under the terms of the GNU General Public License.
@@ -20,8 +20,8 @@
20
  */
21
  /* -- This section for WordPress parsing. ------------------------------------------------------------------------------
22
 
23
- Version: 170722
24
- Stable tag: 170722
25
 
26
  SSL Compatible: yes
27
  bbPress Compatible: yes
@@ -31,22 +31,22 @@ WP Multisite Compatible: yes
31
  Multisite Blog Farm Compatible: yes
32
 
33
  PayPal Standard Compatible: yes
 
34
  PayPal Pro Compatible: yes w/s2Member Pro
35
  Authorize.Net Compatible: yes w/s2Member Pro
36
- Google Wallet Compatible: yes w/s2Member Pro
37
  ClickBank Compatible: yes w/s2Member Pro
38
 
39
- Tested up to: 4.9-alpha
40
  Requires at least: 4.2
41
 
42
- Requires PHP: 5.2
43
- Tested up to PHP: 7.0.17
44
 
45
- Copyright: © 2009 WebSharks, Inc.
46
  License: GNU General Public License
47
- Contributors: WebSharks, JasWSInc, anguz, raamdev, bruce-caldwell
48
 
49
- Author: s2Member / WebSharks, Inc.
50
  Author URI: http://s2member.com/
51
  Donate link: http://s2member.com/r/donate
52
 
@@ -77,7 +77,7 @@ if(!defined('WPINC')) // MUST have WordPress.
77
  *
78
  * @var string
79
  */
80
- ${__FILE__}['tmp'] = '170722'; //version//
81
  if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
82
  define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
83
  /**
@@ -88,7 +88,7 @@ if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
88
  *
89
  * @var string
90
  */
91
- ${__FILE__}['tmp'] = '5.2'; //php-required-version//
92
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION'))
93
  define('WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION', ${__FILE__}['tmp']);
94
  /**
@@ -110,7 +110,7 @@ if(!defined('WS_PLUGIN__S2MEMBER_MIN_WP_VERSION'))
110
  *
111
  * @var string
112
  */
113
- ${__FILE__}['tmp'] = '170722'; //version//
114
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
115
  define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
116
  /*
7
  * PHP, WordPress and other compatibility requirements.
8
  *
9
  * Copyright: © 2009-2011
10
+ * {@link http://wpsharks.com/ WP Sharks}
11
  * (coded in the USA)
12
  *
13
  * Released under the terms of the GNU General Public License.
20
  */
21
  /* -- This section for WordPress parsing. ------------------------------------------------------------------------------
22
 
23
+ Version: 190617
24
+ Stable tag: 190617
25
 
26
  SSL Compatible: yes
27
  bbPress Compatible: yes
31
  Multisite Blog Farm Compatible: yes
32
 
33
  PayPal Standard Compatible: yes
34
+ Stripe Compatible: yes w/s2Member Pro
35
  PayPal Pro Compatible: yes w/s2Member Pro
36
  Authorize.Net Compatible: yes w/s2Member Pro
 
37
  ClickBank Compatible: yes w/s2Member Pro
38
 
39
+ Tested up to: 5.2.2-RC2
40
  Requires at least: 4.2
41
 
42
+ Requires PHP: 5.6
43
+ Tested up to PHP: 7.2.19-0ubuntu0.18.10.1
44
 
45
+ Copyright: © 2009 WP Sharks
46
  License: GNU General Public License
47
+ Contributors: WebSharks, JasWSInc, anguz, raamdev, bruce-caldwell, clavaque
48
 
49
+ Author: WP Sharks
50
  Author URI: http://s2member.com/
51
  Donate link: http://s2member.com/r/donate
52
 
77
  *
78
  * @var string
79
  */
80
+ ${__FILE__}['tmp'] = '190617'; //version//
81
  if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
82
  define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
83
  /**
88
  *
89
  * @var string
90
  */
91
+ ${__FILE__}['tmp'] = '5.6'; //php-required-version//
92
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION'))
93
  define('WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION', ${__FILE__}['tmp']);
94
  /**
110
  *
111
  * @var string
112
  */
113
+ ${__FILE__}['tmp'] = '190617'; //version//
114
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
115
  define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
116
  /*
src/includes/classes/login-customizations.inc.php CHANGED
@@ -58,7 +58,7 @@ if(!class_exists('c_ws_plugin__s2member_login_customizations'))
58
  * @package s2Member\Login_Customizations
59
  * @since 3.5
60
  *
61
- * @attaches-to ``add_filter('login_headertitle');``
62
  *
63
  * @param string $title Expects a title passed in by the Filter.
64
  *
58
  * @package s2Member\Login_Customizations
59
  * @since 3.5
60
  *
61
+ * @attaches-to ``add_filter('login_headertext');``
62
  *
63
  * @param string $title Expects a title passed in by the Filter.
64
  *
src/includes/hooks.inc.php CHANGED
@@ -125,7 +125,7 @@ add_action('xprofile_updated_profile', 'c_ws_plugin__s2member_profile_mods_4bp::
125
  add_action('wp_login', 'c_ws_plugin__s2member_login_redirects::login_redirect', 10, 2);
126
  add_action('login_head', 'c_ws_plugin__s2member_login_customizations::login_header_styles');
127
  add_filter('login_headerurl', 'c_ws_plugin__s2member_login_customizations::login_header_url');
128
- add_filter('login_headertitle', 'c_ws_plugin__s2member_login_customizations::login_header_title');
129
  add_action('login_footer', 'c_ws_plugin__s2member_login_customizations::login_footer_design');
130
  add_filter("lostpassword_url", "c_ws_plugin__s2member_login_customizations::lost_password_url", 10, 2);
131
 
125
  add_action('wp_login', 'c_ws_plugin__s2member_login_redirects::login_redirect', 10, 2);
126
  add_action('login_head', 'c_ws_plugin__s2member_login_customizations::login_header_styles');
127
  add_filter('login_headerurl', 'c_ws_plugin__s2member_login_customizations::login_header_url');
128
+ add_filter('login_headertext', 'c_ws_plugin__s2member_login_customizations::login_header_title');
129
  add_action('login_footer', 'c_ws_plugin__s2member_login_customizations::login_footer_design');
130
  add_filter("lostpassword_url", "c_ws_plugin__s2member_login_customizations::lost_password_url", 10, 2);
131
 
src/includes/translations/s2member.pot CHANGED
@@ -1,14 +1,14 @@
1
- # Copyright (C) 2017
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: 170722\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
7
- "POT-Creation-Date: 2017-07-22 16:20:53+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
- "PO-Revision-Date: 2017-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
@@ -18,7 +18,7 @@ msgid "+ tax"
18
  msgstr ""
19
 
20
  #: pro/src/includes/classes/coupons.inc.php:241
21
- #: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:670
22
  #: pro/src/includes/classes/gateways/paypal/paypal-utilities.inc.php:312
23
  #: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:900
24
  msgctxt "s2member-front percentage-symbol"
@@ -430,7 +430,7 @@ msgstr ""
430
 
431
  #: pro/src/includes/classes/gateways/authnet/authnet-responses.inc.php:212
432
  msgctxt "s2member-admin"
433
- msgid "Authorize.Net configuration error. Your Authorize.Net Secret MD5 Hash is not yet configured."
434
  msgstr ""
435
 
436
  #: pro/src/includes/classes/gateways/authnet/authnet-responses.inc.php:234
1
+ # Copyright (C) 2019
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: 190617\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
7
+ "POT-Creation-Date: 2019-06-17 00:36:46+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
11
+ "PO-Revision-Date: 2019-MO-DA HO:MI+ZONE\n"
12
  "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13
  "Language-Team: LANGUAGE <LL@li.org>\n"
14
 
18
  msgstr ""
19
 
20
  #: pro/src/includes/classes/coupons.inc.php:241
21
+ #: pro/src/includes/classes/gateways/authnet/authnet-utilities.inc.php:692
22
  #: pro/src/includes/classes/gateways/paypal/paypal-utilities.inc.php:312
23
  #: pro/src/includes/classes/gateways/stripe/stripe-utilities.inc.php:900
24
  msgctxt "s2member-front percentage-symbol"
430
 
431
  #: pro/src/includes/classes/gateways/authnet/authnet-responses.inc.php:212
432
  msgctxt "s2member-admin"
433
+ msgid "Authorize.Net configuration error. Your Authorize.Net Signature Key is not yet configured."
434
  msgstr ""
435
 
436
  #: pro/src/includes/classes/gateways/authnet/authnet-responses.inc.php:234
src/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6::getLoader();
4
 
5
  require_once __DIR__ . '/composer' . '/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInit3d2e56f8124719cd50c1419a5b5b04e5::getLoader();
src/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6
6
  {
7
  private static $loader;
8
 
@@ -19,9 +19,9 @@ class ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6
19
  return self::$loader;
20
  }
21
 
22
- spl_autoload_register(array('ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
- spl_autoload_unregister(array('ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
@@ -42,14 +42,14 @@ class ComposerAutoloaderInit9da2b04099525fccfb91e6dbe84e45d6
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
- composerRequire9da2b04099525fccfb91e6dbe84e45d6($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
- function composerRequire9da2b04099525fccfb91e6dbe84e45d6($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInit3d2e56f8124719cd50c1419a5b5b04e5
6
  {
7
  private static $loader;
8
 
19
  return self::$loader;
20
  }
21
 
22
+ spl_autoload_register(array('ComposerAutoloaderInit3d2e56f8124719cd50c1419a5b5b04e5', 'loadClassLoader'), true, true);
23
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
24
+ spl_autoload_unregister(array('ComposerAutoloaderInit3d2e56f8124719cd50c1419a5b5b04e5', 'loadClassLoader'));
25
 
26
  $map = require __DIR__ . '/autoload_namespaces.php';
27
  foreach ($map as $namespace => $path) {
42
 
43
  $includeFiles = require __DIR__ . '/autoload_files.php';
44
  foreach ($includeFiles as $fileIdentifier => $file) {
45
+ composerRequire3d2e56f8124719cd50c1419a5b5b04e5($fileIdentifier, $file);
46
  }
47
 
48
  return $loader;
49
  }
50
  }
51
 
52
+ function composerRequire3d2e56f8124719cd50c1419a5b5b04e5($fileIdentifier, $file)
53
  {
54
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
55
  require $file;