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

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 220421
Comparing to
See all releases

Code changes from version 220318 to 220421

readme.txt CHANGED
@@ -3,12 +3,12 @@
3
  Plugin Name: s2Member® Framework
4
  Plugin URI: http://s2member.com/
5
  Tags: membership, subscribers, subscriber, members only, roles, capabilities, capability, register, signup, paypal, ecommerce, restriction
6
- Version: 220318
7
- Stable tag: 220318
8
- Tested up to: 6.0-alpha-52937
9
  Requires at least: 4.2
10
  Requires PHP: 5.6.2
11
- Tested up to PHP: 7.4.6
12
  License: GNU General Public License v2 or later.
13
  Contributors: WebSharks, JasWSInc, raamdev, clavaque, eduan
14
  Author: WP Sharks
@@ -20,6 +20,7 @@ Privacy URI: http://s2member.com/privacy-policy/
20
  Changelog URI: http://s2member.com/changelog/
21
  Video Tutorials: http://s2member.com/r/s2member-videos/
22
  Knowledge Base: http://s2member.com/kb/
 
23
  Newsletter: http://s2member.com/r/subscribe/
24
  PayPal Pro Integration: http://s2member.com/r/pp-account-types/
25
  Text Domain: s2member
@@ -139,6 +140,12 @@ Released under the terms of the [GNU General Public License](http://www.gnu.org/
139
 
140
  == Changelog ==
141
 
 
 
 
 
 
 
142
  = v220318 =
143
 
144
  - (Framework) **Enhancement**: New `current_user_gateway_is` function for conditionals. Useful for sites using more than one gateway. E.g. `[s2If current_user_gateway_is(stripe)] ...`
3
  Plugin Name: s2Member® Framework
4
  Plugin URI: http://s2member.com/
5
  Tags: membership, subscribers, subscriber, members only, roles, capabilities, capability, register, signup, paypal, ecommerce, restriction
6
+ Version: 220421
7
+ Stable tag: 220421
8
+ Tested up to: 6.0-beta2-53236
9
  Requires at least: 4.2
10
  Requires PHP: 5.6.2
11
+ Tested up to PHP: 8.1
12
  License: GNU General Public License v2 or later.
13
  Contributors: WebSharks, JasWSInc, raamdev, clavaque, eduan
14
  Author: WP Sharks
20
  Changelog URI: http://s2member.com/changelog/
21
  Video Tutorials: http://s2member.com/r/s2member-videos/
22
  Knowledge Base: http://s2member.com/kb/
23
+ More Updates: https://s2member.com/category/news-updates/
24
  Newsletter: http://s2member.com/r/subscribe/
25
  PayPal Pro Integration: http://s2member.com/r/pp-account-types/
26
  Text Domain: s2member
140
 
141
  == Changelog ==
142
 
143
+ = v220421 =
144
+
145
+ - (Framework & Pro) **Enhancement**: Improved PHP compatibility to 8.1.
146
+
147
+ - (Framework) **UI Fix**: `More Updates` link fixed.
148
+
149
  = v220318 =
150
 
151
  - (Framework) **Enhancement**: New `current_user_gateway_is` function for conditionals. Useful for sites using more than one gateway. E.g. `[s2If current_user_gateway_is(stripe)] ...`
s2member.php CHANGED
@@ -20,8 +20,8 @@
20
  */
21
  /* -- This section for WordPress parsing. ------------------------------------------------------------------------------
22
 
23
- Version: 220318
24
- Stable tag: 220318
25
 
26
  SSL Compatible: yes
27
  bbPress Compatible: yes
@@ -36,11 +36,11 @@ 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: 6.0-alpha-52937
40
  Requires at least: 4.2
41
 
42
  Requires PHP: 5.6.2
43
- Tested up to PHP: 7.4.6
44
 
45
  Copyright: © 2009 WP Sharks
46
  License: GNU General Public License
@@ -77,7 +77,7 @@ if(!defined('WPINC')) // MUST have WordPress.
77
  *
78
  * @var string
79
  */
80
- ${__FILE__}['tmp'] = '220318'; //version//
81
  if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
82
  define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
83
  /**
@@ -110,7 +110,7 @@ if(!defined('WS_PLUGIN__S2MEMBER_MIN_WP_VERSION'))
110
  *
111
  * @var string
112
  */
113
- ${__FILE__}['tmp'] = '220318'; //version//
114
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
115
  define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
116
  /*
20
  */
21
  /* -- This section for WordPress parsing. ------------------------------------------------------------------------------
22
 
23
+ Version: 220421
24
+ Stable tag: 220421
25
 
26
  SSL Compatible: yes
27
  bbPress Compatible: yes
36
  Authorize.Net Compatible: yes w/s2Member Pro
37
  ClickBank Compatible: yes w/s2Member Pro
38
 
39
+ Tested up to: 6.0-beta2-53236
40
  Requires at least: 4.2
41
 
42
  Requires PHP: 5.6.2
43
+ Tested up to PHP: 8.1
44
 
45
  Copyright: © 2009 WP Sharks
46
  License: GNU General Public License
77
  *
78
  * @var string
79
  */
80
+ ${__FILE__}['tmp'] = '220421'; //version//
81
  if(!defined('WS_PLUGIN__S2MEMBER_VERSION'))
82
  define('WS_PLUGIN__S2MEMBER_VERSION', ${__FILE__}['tmp']);
83
  /**
110
  *
111
  * @var string
112
  */
113
+ ${__FILE__}['tmp'] = '220421'; //version//
114
  if(!defined('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION'))
115
  define('WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION', ${__FILE__}['tmp']);
116
  /*
src/includes/menu-pages/updates.inc.php CHANGED
@@ -42,7 +42,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_pages_updates"))
42
 
43
  echo '<div class="ws-menu-page-r-group open">'."\n";
44
  echo '<script type="text/javascript" src="http://feeds.feedburner.com/s2member?format=sigpro&amp;nItems=5&amp;openLinks=new&amp;displayTitle=false&amp;displayFeedIcon=false&amp;displayExcerpts=false&amp;displayAuthor=false&amp;displayDate=false&amp;displayEnclosures=false&amp;displayLinkToFeed=false"></script>'."\n";
45
- echo '➘ <a href="'.esc_attr(c_ws_plugin__s2member_readmes::parse_readme_value("Knowledge Base")).'" target="_blank" rel="external">More updates...</a>'."\n";
46
  echo '</div>'."\n";
47
  }
48
  echo '<div class="ws-menu-page-r-group-header">'."\n";
42
 
43
  echo '<div class="ws-menu-page-r-group open">'."\n";
44
  echo '<script type="text/javascript" src="http://feeds.feedburner.com/s2member?format=sigpro&amp;nItems=5&amp;openLinks=new&amp;displayTitle=false&amp;displayFeedIcon=false&amp;displayExcerpts=false&amp;displayAuthor=false&amp;displayDate=false&amp;displayEnclosures=false&amp;displayLinkToFeed=false"></script>'."\n";
45
+ echo '➘ <a href="'.esc_attr(c_ws_plugin__s2member_readmes::parse_readme_value("More Updates")).'" target="_blank" rel="external">More updates...</a>'."\n";
46
  echo '</div>'."\n";
47
  }
48
  echo '<div class="ws-menu-page-r-group-header">'."\n";
src/includes/translations/s2member.pot CHANGED
@@ -2,9 +2,9 @@
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
- "Project-Id-Version: 220318\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
7
- "POT-Creation-Date: 2022-03-18 01:20:36+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
@@ -2063,11 +2063,6 @@ msgid ""
2063
  "%s"
2064
  msgstr ""
2065
 
2066
- #: pro/src/includes/syscon.inc.php:137
2067
- msgctxt "s2member-front"
2068
- msgid "<div><small style=\"font-size:70%;\">ClickBank is the retailer of products on this site. CLICKBANK® is a registered trademark of Click Sales, Inc., a Delaware corporation located at 917 S. Lusk Street, Suite 200, Boise Idaho, 83706, USA and used by permission. ClickBank's role as retailer does not constitute an endorsement, approval or review of these products or any claim, statement or opinion used in promotion of these products.</small></div><p>%1$s <strong><em>says&hellip;</em></strong></p>"
2069
- msgstr ""
2070
-
2071
  #: pro/src/includes/templates/forms/authnet-cancellation-form.php:33
2072
  #: pro/src/includes/templates/forms/paypal-cancellation-form.php:33
2073
  #: pro/src/includes/templates/forms/stripe-cancellation-form.php:33
2
  # This file is distributed under the same license as the package.
3
  msgid ""
4
  msgstr ""
5
+ "Project-Id-Version: 220421\n"
6
  "Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
7
+ "POT-Creation-Date: 2022-04-21 18:25:11+00:00\n"
8
  "MIME-Version: 1.0\n"
9
  "Content-Type: text/plain; charset=UTF-8\n"
10
  "Content-Transfer-Encoding: 8bit\n"
2063
  "%s"
2064
  msgstr ""
2065
 
 
 
 
 
 
2066
  #: pro/src/includes/templates/forms/authnet-cancellation-form.php:33
2067
  #: pro/src/includes/templates/forms/paypal-cancellation-form.php:33
2068
  #: pro/src/includes/templates/forms/stripe-cancellation-form.php:33
src/vendor/autoload.php CHANGED
@@ -4,4 +4,4 @@
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
- return ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00::getLoader();
4
 
5
  require_once __DIR__ . '/composer/autoload_real.php';
6
 
7
+ return ComposerAutoloaderInitc7a6f6d6900216c69e1e8cecca7e80a7::getLoader();
src/vendor/composer/autoload_real.php CHANGED
@@ -2,7 +2,7 @@
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
- class ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00
6
  {
7
  private static $loader;
8
 
@@ -22,15 +22,15 @@ class ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00
22
  return self::$loader;
23
  }
24
 
25
- spl_autoload_register(array('ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
- spl_autoload_unregister(array('ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
- call_user_func(\Composer\Autoload\ComposerStaticInit8fe9b31b7fa2ae60e3895dff21199f00::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
@@ -51,19 +51,19 @@ class ComposerAutoloaderInit8fe9b31b7fa2ae60e3895dff21199f00
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
- $includeFiles = Composer\Autoload\ComposerStaticInit8fe9b31b7fa2ae60e3895dff21199f00::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
- composerRequire8fe9b31b7fa2ae60e3895dff21199f00($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
- function composerRequire8fe9b31b7fa2ae60e3895dff21199f00($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
2
 
3
  // autoload_real.php @generated by Composer
4
 
5
+ class ComposerAutoloaderInitc7a6f6d6900216c69e1e8cecca7e80a7
6
  {
7
  private static $loader;
8
 
22
  return self::$loader;
23
  }
24
 
25
+ spl_autoload_register(array('ComposerAutoloaderInitc7a6f6d6900216c69e1e8cecca7e80a7', 'loadClassLoader'), true, true);
26
  self::$loader = $loader = new \Composer\Autoload\ClassLoader();
27
+ spl_autoload_unregister(array('ComposerAutoloaderInitc7a6f6d6900216c69e1e8cecca7e80a7', 'loadClassLoader'));
28
 
29
  $useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
30
  if ($useStaticLoader) {
31
  require_once __DIR__ . '/autoload_static.php';
32
 
33
+ call_user_func(\Composer\Autoload\ComposerStaticInitc7a6f6d6900216c69e1e8cecca7e80a7::getInitializer($loader));
34
  } else {
35
  $map = require __DIR__ . '/autoload_namespaces.php';
36
  foreach ($map as $namespace => $path) {
51
  $loader->register(true);
52
 
53
  if ($useStaticLoader) {
54
+ $includeFiles = Composer\Autoload\ComposerStaticInitc7a6f6d6900216c69e1e8cecca7e80a7::$files;
55
  } else {
56
  $includeFiles = require __DIR__ . '/autoload_files.php';
57
  }
58
  foreach ($includeFiles as $fileIdentifier => $file) {
59
+ composerRequirec7a6f6d6900216c69e1e8cecca7e80a7($fileIdentifier, $file);
60
  }
61
 
62
  return $loader;
63
  }
64
  }
65
 
66
+ function composerRequirec7a6f6d6900216c69e1e8cecca7e80a7($fileIdentifier, $file)
67
  {
68
  if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
69
  require $file;
src/vendor/composer/autoload_static.php CHANGED
@@ -4,7 +4,7 @@
4
 
5
  namespace Composer\Autoload;
6
 
7
- class ComposerStaticInit8fe9b31b7fa2ae60e3895dff21199f00
8
  {
9
  public static $files = array (
10
  '5255c38a0faeba867671b61dfda6d864' => __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php',
@@ -30,7 +30,7 @@ class ComposerStaticInit8fe9b31b7fa2ae60e3895dff21199f00
30
  public static function getInitializer(ClassLoader $loader)
31
  {
32
  return \Closure::bind(function () use ($loader) {
33
- $loader->classMap = ComposerStaticInit8fe9b31b7fa2ae60e3895dff21199f00::$classMap;
34
 
35
  }, null, ClassLoader::class);
36
  }
4
 
5
  namespace Composer\Autoload;
6
 
7
+ class ComposerStaticInitc7a6f6d6900216c69e1e8cecca7e80a7
8
  {
9
  public static $files = array (
10
  '5255c38a0faeba867671b61dfda6d864' => __DIR__ . '/..' . '/paragonie/random_compat/lib/random.php',
30
  public static function getInitializer(ClassLoader $loader)
31
  {
32
  return \Closure::bind(function () use ($loader) {
33
+ $loader->classMap = ComposerStaticInitc7a6f6d6900216c69e1e8cecca7e80a7::$classMap;
34
 
35
  }, null, ClassLoader::class);
36
  }