Version Description
Download this release
Release Info
Developer | PriMoThemes |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 111220 |
Comparing to | |
See all releases |
Code changes from version 111216 to 111220
includes/classes/meta-box-security.inc.php
CHANGED
@@ -15,7 +15,7 @@
|
|
15 |
* @since 3.5
|
16 |
*/
|
17 |
if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
18 |
-
exit
|
19 |
/**/
|
20 |
if (!class_exists ("c_ws_plugin__s2member_meta_box_security"))
|
21 |
{
|
@@ -38,7 +38,7 @@ if (!class_exists ("c_ws_plugin__s2member_meta_box_security"))
|
|
38 |
*/
|
39 |
public static function security_meta_box ($post = FALSE)
|
40 |
{
|
41 |
-
eval
|
42 |
do_action ("ws_plugin__s2member_before_security_meta_box", get_defined_vars ());
|
43 |
unset ($__refs, $__v); /* Unset defined __refs, __v. */
|
44 |
/**/
|
@@ -69,7 +69,7 @@ if (!class_exists ("c_ws_plugin__s2member_meta_box_security"))
|
|
69 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts of this type )</option>' . "\n")/**/
|
70 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Pages )</option>' . "\n";
|
71 |
/**/
|
72 |
-
echo '</select><br /><small>* see: <code>
|
73 |
/**/
|
74 |
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
75 |
/* ^ Will change once Custom Capabilities are compatible with a Blog Farm. */
|
@@ -115,7 +115,7 @@ if (!class_exists ("c_ws_plugin__s2member_meta_box_security"))
|
|
115 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts of this type )</option>' . "\n")/**/
|
116 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts )</option>' . "\n";
|
117 |
/**/
|
118 |
-
echo '</select><br /><small>* see: <code>
|
119 |
/**/
|
120 |
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
121 |
/* ^ Will change once Custom Capabilities are compatible with a Blog Farm. */
|
15 |
* @since 3.5
|
16 |
*/
|
17 |
if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
18 |
+
exit("Do not access this file directly.");
|
19 |
/**/
|
20 |
if (!class_exists ("c_ws_plugin__s2member_meta_box_security"))
|
21 |
{
|
38 |
*/
|
39 |
public static function security_meta_box ($post = FALSE)
|
40 |
{
|
41 |
+
eval('foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;');
|
42 |
do_action ("ws_plugin__s2member_before_security_meta_box", get_defined_vars ());
|
43 |
unset ($__refs, $__v); /* Unset defined __refs, __v. */
|
44 |
/**/
|
69 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts of this type )</option>' . "\n")/**/
|
70 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Pages )</option>' . "\n";
|
71 |
/**/
|
72 |
+
echo '</select><br /><small>* see: <code>Restriction Options -> Page Level Access</code></small>' . "\n";
|
73 |
/**/
|
74 |
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
75 |
/* ^ Will change once Custom Capabilities are compatible with a Blog Farm. */
|
115 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts of this type )</option>' . "\n")/**/
|
116 |
: '<option value="" disabled="disabled">Level #' . $n . ' ( already protects "all" Posts )</option>' . "\n";
|
117 |
/**/
|
118 |
+
echo '</select><br /><small>* see: <code>Restriction Options -> Post Level Access</code></small>' . "\n";
|
119 |
/**/
|
120 |
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
121 |
/* ^ Will change once Custom Capabilities are compatible with a Blog Farm. */
|
includes/classes/systematics.inc.php
CHANGED
@@ -96,10 +96,6 @@ if (!class_exists ("c_ws_plugin__s2member_systematics"))
|
|
96 |
{
|
97 |
return ($is_wp_systematic = apply_filters ("ws_plugin__s2member_is_wp_systematic_use_page", true, get_defined_vars ()));
|
98 |
}
|
99 |
-
else if ($_SERVER["REMOTE_ADDR"] === $_SERVER["SERVER_ADDR"] && !c_ws_plugin__s2member_utils_conds::is_localhost ())
|
100 |
-
{
|
101 |
-
return ($is_wp_systematic = apply_filters ("ws_plugin__s2member_is_wp_systematic_use_page", true, get_defined_vars ()));
|
102 |
-
}
|
103 |
else /* Otherwise, we return false ( it's NOT a WordPress® Systematic Use Page ). */
|
104 |
return ($is_wp_systematic = apply_filters ("ws_plugin__s2member_is_wp_systematic_use_page", false, get_defined_vars ()));
|
105 |
}
|
96 |
{
|
97 |
return ($is_wp_systematic = apply_filters ("ws_plugin__s2member_is_wp_systematic_use_page", true, get_defined_vars ()));
|
98 |
}
|
|
|
|
|
|
|
|
|
99 |
else /* Otherwise, we return false ( it's NOT a WordPress® Systematic Use Page ). */
|
100 |
return ($is_wp_systematic = apply_filters ("ws_plugin__s2member_is_wp_systematic_use_page", false, get_defined_vars ()));
|
101 |
}
|
includes/classes/utils-conds.inc.php
CHANGED
@@ -133,12 +133,12 @@ if (!class_exists ("c_ws_plugin__s2member_utils_conds"))
|
|
133 |
*
|
134 |
* @return bool True if we're in a localhost environment, else false.
|
135 |
*/
|
136 |
-
public static function is_localhost ()
|
137 |
{
|
138 |
if ((defined ("LOCALHOST") && LOCALHOST) || stripos ($_SERVER["HTTP_HOST"], "localhost") !== false || strpos ($_SERVER["HTTP_HOST"], "127.0.0.1") !== false)
|
139 |
return true;
|
140 |
/**/
|
141 |
-
return
|
142 |
}
|
143 |
/**
|
144 |
* Checks to see if we're using Amazon® S3.
|
133 |
*
|
134 |
* @return bool True if we're in a localhost environment, else false.
|
135 |
*/
|
136 |
+
public static function /* Checks to see if we're in a localhost environment. */ is_localhost ()
|
137 |
{
|
138 |
if ((defined ("LOCALHOST") && LOCALHOST) || stripos ($_SERVER["HTTP_HOST"], "localhost") !== false || strpos ($_SERVER["HTTP_HOST"], "127.0.0.1") !== false)
|
139 |
return true;
|
140 |
/**/
|
141 |
+
return /* Default return false. */ false;
|
142 |
}
|
143 |
/**
|
144 |
* Checks to see if we're using Amazon® S3.
|
includes/translations/s2member.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the s2Member package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: s2Member
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/.__s2member\n"
|
7 |
-
"POT-Creation-Date: 2011-12-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
2 |
# This file is distributed under the same license as the s2Member package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: s2Member 111220\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/.__s2member\n"
|
7 |
+
"POT-Creation-Date: 2011-12-20 14:28:23+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
readme.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== s2Member® ( Membership w/ PayPal® ) ===
|
2 |
|
3 |
-
Version:
|
4 |
-
Stable tag:
|
5 |
Framework: WS-P-110523
|
6 |
|
7 |
SSL Compatible: yes
|
@@ -179,6 +179,11 @@ Please visit s2Member.com for [video tutorials](http://www.s2member.com/videos/)
|
|
179 |
|
180 |
== Changelog ==
|
181 |
|
|
|
|
|
|
|
|
|
|
|
182 |
= v111216 =
|
183 |
* (s2Member/s2Member Pro) **Bug fix**. ClickBank® not passing all s2 Vars after return from a non-recurring transaction. Fixed in this release. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=16256#p56649).
|
184 |
* (s2Member) **Bug fix**. Amazon® S3/CloudFront issues with ACLs upon auto-configuration routine. Leading to a 400 error code. Fixed in this release. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=15853&p=56158#p56159).
|
1 |
=== s2Member® ( Membership w/ PayPal® ) ===
|
2 |
|
3 |
+
Version: 111220
|
4 |
+
Stable tag: 111220
|
5 |
Framework: WS-P-110523
|
6 |
|
7 |
SSL Compatible: yes
|
179 |
|
180 |
== Changelog ==
|
181 |
|
182 |
+
= v111220 =
|
183 |
+
* (s2Member Pro) **Security fix**. PayPal® Pro and Authorize.Net® Forms were vulnerable to an XSS attack, reproducible with a Coupon Code containing special characters. Discovered by ControlScan™. Fixed in this release. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=16173#p56982).
|
184 |
+
* (s2Member Pro) **Security hardening**. s2Member's Systematics routine hardended against a possible attack coming from a spoofed IP address matching that of the installation server itself. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=16412&p=57044#p57044).
|
185 |
+
* (s2Member Pro) **Security hardening**. PayPal® Pro and Authorize.Net® Forms hardended against a possible attack against card types. Discovered by ControlScan™. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=16173#p56982).
|
186 |
+
|
187 |
= v111216 =
|
188 |
* (s2Member/s2Member Pro) **Bug fix**. ClickBank® not passing all s2 Vars after return from a non-recurring transaction. Fixed in this release. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=16256#p56649).
|
189 |
* (s2Member) **Bug fix**. Amazon® S3/CloudFront issues with ACLs upon auto-configuration routine. Leading to a 400 error code. Fixed in this release. For further details, please see [this thread](http://www.primothemes.com/forums/viewtopic.php?f=4&t=15853&p=56158#p56159).
|
s2member.php
CHANGED
@@ -19,8 +19,8 @@
|
|
19 |
*/
|
20 |
/* -- This section for WordPress® parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
-
Version:
|
23 |
-
Stable tag:
|
24 |
Framework: WS-P-110523
|
25 |
|
26 |
SSL Compatible: yes
|
@@ -66,7 +66,7 @@ Tags: membership, members, member, register, signup, paypal, paypal pro, pay pal
|
|
66 |
|
67 |
-- end section for WordPress® parsing. ------------------------------------------------------------------------------- */
|
68 |
if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
69 |
-
exit("Do not access this file directly.");
|
70 |
/**
|
71 |
* The installed version of s2Member.
|
72 |
*
|
@@ -76,7 +76,7 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
76 |
* @var str
|
77 |
*/
|
78 |
if (!defined ("WS_PLUGIN__S2MEMBER_VERSION"))
|
79 |
-
define ("WS_PLUGIN__S2MEMBER_VERSION", "
|
80 |
/**
|
81 |
* Minimum PHP version required to run s2Member.
|
82 |
*
|
@@ -106,7 +106,7 @@ if (!defined ("WS_PLUGIN__S2MEMBER_MIN_WP_VERSION"))
|
|
106 |
* @var str
|
107 |
*/
|
108 |
if (!defined ("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION"))
|
109 |
-
define ("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION", "
|
110 |
/*
|
111 |
Several compatibility checks.
|
112 |
If all pass, load the s2Member plugin.
|
@@ -117,7 +117,7 @@ if (version_compare (PHP_VERSION, WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION, ">=") &&
|
|
117 |
/*
|
118 |
Hook before loaded.
|
119 |
*/
|
120 |
-
do_action("ws_plugin__s2member_before_loaded");
|
121 |
/*
|
122 |
System configuraton.
|
123 |
*/
|
@@ -129,7 +129,7 @@ if (version_compare (PHP_VERSION, WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION, ">=") &&
|
|
129 |
/*
|
130 |
Hook after system config & Hooks are loaded.
|
131 |
*/
|
132 |
-
do_action("ws_plugin__s2member_config_hooks_loaded");
|
133 |
/*
|
134 |
Load a possible Pro module, if/when available.
|
135 |
*/
|
@@ -150,8 +150,8 @@ if (version_compare (PHP_VERSION, WS_PLUGIN__S2MEMBER_MIN_PHP_VERSION, ">=") &&
|
|
150 |
/*
|
151 |
Hooks after loaded.
|
152 |
*/
|
153 |
-
do_action("ws_plugin__s2member_loaded");
|
154 |
-
do_action("ws_plugin__s2member_after_loaded");
|
155 |
}
|
156 |
/*
|
157 |
Else NOT compatible. Do we need admin compatibility errors now?
|
19 |
*/
|
20 |
/* -- This section for WordPress® parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
+
Version: 111220
|
23 |
+
Stable tag: 111220
|
24 |
Framework: WS-P-110523
|
25 |
|
26 |
SSL Compatible: yes
|
66 |
|
67 |
-- end section for WordPress® parsing. ------------------------------------------------------------------------------- */
|
68 |
if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
69 |
+
exit ("Do not access this file directly.");
|
70 |
/**
|
71 |
* The installed version of s2Member.
|
72 |
*
|
76 |
* @var str
|
77 |
*/
|
78 |
if (!defined ("WS_PLUGIN__S2MEMBER_VERSION"))
|
79 |
+
define ("WS_PLUGIN__S2MEMBER_VERSION", "111220");
|
80 |
/**
|
81 |
* Minimum PHP version required to run s2Member.
|
82 |
*
|
106 |
* @var str
|
107 |
*/
|
108 |
if (!defined ("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION"))
|
109 |
+
define ("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION", "111220");
|
110 |
/*
|
111 |
Several compatibility checks.
|
112 |
If all pass, load the s2Member plugin.
|
117 |
/*
|
118 |
Hook before loaded.
|
119 |
*/
|
120 |
+
do_action ("ws_plugin__s2member_before_loaded");
|
121 |
/*
|
122 |
System configuraton.
|
123 |
*/
|
129 |
/*
|
130 |
Hook after system config & Hooks are loaded.
|
131 |
*/
|
132 |
+
do_action ("ws_plugin__s2member_config_hooks_loaded");
|
133 |
/*
|
134 |
Load a possible Pro module, if/when available.
|
135 |
*/
|
150 |
/*
|
151 |
Hooks after loaded.
|
152 |
*/
|
153 |
+
do_action ("ws_plugin__s2member_loaded");
|
154 |
+
do_action ("ws_plugin__s2member_after_loaded");
|
155 |
}
|
156 |
/*
|
157 |
Else NOT compatible. Do we need admin compatibility errors now?
|