Version Description
= v121023 = Maintenance release. Upgrade immediately.
Download this release
Release Info
Developer | PriMoThemes |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 121023 |
Comparing to | |
See all releases |
Code changes from version 120703 to 121023
- includes/classes/paypal-utilities.inc.php +13 -11
- includes/classes/users-list-in.inc.php +1 -1
- includes/classes/utils-conds.inc.php +2 -1
- includes/classes/utils-html.inc.php +1 -2
- includes/classes/utils-strings.inc.php +3 -2
- includes/classes/utils-urls.inc.php +2 -0
- includes/functions/api-functions.inc.php +175 -146
- includes/menu-pages/gen-ops.inc.php +1 -0
- includes/menu-pages/mms-ops.inc.php +1 -1
- includes/translations/s2member.pot +94 -94
- readme.txt +15 -4
- s2member.php +5 -5
includes/classes/paypal-utilities.inc.php
CHANGED
@@ -67,13 +67,13 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
67 |
if(!empty($postvars["charset"]) && function_exists("mb_convert_encoding"))
|
68 |
{
|
69 |
foreach($postvars as &$value)
|
70 |
-
$value = @mb_convert_encoding($value, "UTF-8", $postvars["charset"]);
|
71 |
}
|
72 |
/**/
|
73 |
return apply_filters("ws_plugin__s2member_paypal_postvars", $postvars, get_defined_vars());
|
74 |
}
|
75 |
else /* Nope. */
|
76 |
-
|
77 |
}
|
78 |
else if(!empty($_REQUEST) && is_array($postvars = stripslashes_deep($_REQUEST)))
|
79 |
{
|
@@ -89,7 +89,7 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
89 |
if(!empty($postvars["charset"]) && function_exists("mb_convert_encoding"))
|
90 |
{
|
91 |
foreach($postvars as &$value)
|
92 |
-
$value = @mb_convert_encoding($value, "UTF-8", $postvars["charset"]);
|
93 |
}
|
94 |
/**/
|
95 |
$endpoint = ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_sandbox"]) ? "www.sandbox.paypal.com" : "www.paypal.com";
|
@@ -104,10 +104,10 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
104 |
return apply_filters("ws_plugin__s2member_paypal_postvars", $postvars, get_defined_vars());
|
105 |
/**/
|
106 |
else /* Nope. */
|
107 |
-
|
108 |
}
|
109 |
else /* Nope. */
|
110 |
-
|
111 |
}
|
112 |
else /* Else a custom conditional has been applied by Filters. */
|
113 |
{
|
@@ -136,7 +136,7 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
136 |
$key = md5(c_ws_plugin__s2member_utils_encryption::xencrypt($current_blog->domain.$current_blog->path, false, false));
|
137 |
/**/
|
138 |
else /* Else it's a standard Proxy Key; not on a Multisite Network, or not on the Main Site anyway. */
|
139 |
-
|
140 |
/**/
|
141 |
return apply_filters("ws_plugin__s2member_paypal_proxy_key_gen", $key, get_defined_vars());
|
142 |
}
|
@@ -186,7 +186,7 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
186 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s. %3$s.', "s2member-front", "s2member"), $response["L_ERRORCODE0"], rtrim($response["L_SHORTMESSAGE0"], "."), rtrim($response["L_LONGMESSAGE0"], "."));
|
187 |
/**/
|
188 |
else /* Else, generate an error messsage - so something is reported back to the Customer. */
|
189 |
-
|
190 |
}
|
191 |
/**/
|
192 |
$logv = c_ws_plugin__s2member_utilities::ver_details();
|
@@ -286,7 +286,8 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
286 |
/* translators: Exclude `%2$s`. These are English details returned by PayPal®. Replace `%2$s` with: `Unable to process, please try again`, or something to that affect. Or, if you prefer, you could Filter ``$response["__error"]`` with `ws_plugin__s2member_paypal_payflow_api_response`. */
|
287 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s.', "s2member-front", "s2member"), $response["RESULT"], rtrim($response["RESPMSG"], "."));
|
288 |
/**/
|
289 |
-
else
|
|
|
290 |
}
|
291 |
else if(isset($response["TRXRESULT"]) && $response["TRXRESULT"] !== "0")
|
292 |
{
|
@@ -294,7 +295,8 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
294 |
/* translators: Exclude `%2$s`. These are English details returned by PayPal®. Replace `%2$s` with: `Unable to process, please try again`, or something to that affect. Or, if you prefer, you could Filter ``$response["__error"]`` with `ws_plugin__s2member_paypal_payflow_api_response`. */
|
295 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s.', "s2member-front", "s2member"), $response["TRXRESULT"], rtrim($response["TRXRESPMSG"], "."));
|
296 |
/**/
|
297 |
-
else
|
|
|
298 |
}
|
299 |
/**/
|
300 |
$logv = c_ws_plugin__s2member_utilities::ver_details();
|
@@ -565,7 +567,7 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
565 |
return apply_filters("ws_plugin__s2member_paypal_pro_period1", $period1, get_defined_vars());
|
566 |
}
|
567 |
else /* Default. */
|
568 |
-
|
569 |
}
|
570 |
/**
|
571 |
* Get `period3` from either an array with `PROFILEREFERENCE|rp_invoice_id|period3`, or use an existing string.
|
@@ -621,7 +623,7 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
621 |
return apply_filters("ws_plugin__s2member_paypal_pro_period3", $period3, get_defined_vars());
|
622 |
}
|
623 |
else /* Default. */
|
624 |
-
|
625 |
}
|
626 |
}
|
627 |
}
|
67 |
if(!empty($postvars["charset"]) && function_exists("mb_convert_encoding"))
|
68 |
{
|
69 |
foreach($postvars as &$value)
|
70 |
+
$value = @mb_convert_encoding($value, "UTF-8", (($postvars["charset"] === "gb2312") ? "GBK" : $postvars["charset"]));
|
71 |
}
|
72 |
/**/
|
73 |
return apply_filters("ws_plugin__s2member_paypal_postvars", $postvars, get_defined_vars());
|
74 |
}
|
75 |
else /* Nope. */
|
76 |
+
return false;
|
77 |
}
|
78 |
else if(!empty($_REQUEST) && is_array($postvars = stripslashes_deep($_REQUEST)))
|
79 |
{
|
89 |
if(!empty($postvars["charset"]) && function_exists("mb_convert_encoding"))
|
90 |
{
|
91 |
foreach($postvars as &$value)
|
92 |
+
$value = @mb_convert_encoding($value, "UTF-8", (($postvars["charset"] === "gb2312") ? "GBK" : $postvars["charset"]));
|
93 |
}
|
94 |
/**/
|
95 |
$endpoint = ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_sandbox"]) ? "www.sandbox.paypal.com" : "www.paypal.com";
|
104 |
return apply_filters("ws_plugin__s2member_paypal_postvars", $postvars, get_defined_vars());
|
105 |
/**/
|
106 |
else /* Nope. */
|
107 |
+
return false;
|
108 |
}
|
109 |
else /* Nope. */
|
110 |
+
return false;
|
111 |
}
|
112 |
else /* Else a custom conditional has been applied by Filters. */
|
113 |
{
|
136 |
$key = md5(c_ws_plugin__s2member_utils_encryption::xencrypt($current_blog->domain.$current_blog->path, false, false));
|
137 |
/**/
|
138 |
else /* Else it's a standard Proxy Key; not on a Multisite Network, or not on the Main Site anyway. */
|
139 |
+
$key = md5(c_ws_plugin__s2member_utils_encryption::xencrypt(preg_replace("/\:[0-9]+$/", "", $_SERVER["HTTP_HOST"]), false, false));
|
140 |
/**/
|
141 |
return apply_filters("ws_plugin__s2member_paypal_proxy_key_gen", $key, get_defined_vars());
|
142 |
}
|
186 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s. %3$s.', "s2member-front", "s2member"), $response["L_ERRORCODE0"], rtrim($response["L_SHORTMESSAGE0"], "."), rtrim($response["L_LONGMESSAGE0"], "."));
|
187 |
/**/
|
188 |
else /* Else, generate an error messsage - so something is reported back to the Customer. */
|
189 |
+
$response["__error"] = _x("Error. Please contact Support for assistance.", "s2member-front", "s2member");
|
190 |
}
|
191 |
/**/
|
192 |
$logv = c_ws_plugin__s2member_utilities::ver_details();
|
286 |
/* translators: Exclude `%2$s`. These are English details returned by PayPal®. Replace `%2$s` with: `Unable to process, please try again`, or something to that affect. Or, if you prefer, you could Filter ``$response["__error"]`` with `ws_plugin__s2member_paypal_payflow_api_response`. */
|
287 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s.', "s2member-front", "s2member"), $response["RESULT"], rtrim($response["RESPMSG"], "."));
|
288 |
/**/
|
289 |
+
else
|
290 |
+
$response["__error"] = _x("Error. Please contact Support for assistance.", "s2member-front", "s2member");
|
291 |
}
|
292 |
else if(isset($response["TRXRESULT"]) && $response["TRXRESULT"] !== "0")
|
293 |
{
|
295 |
/* translators: Exclude `%2$s`. These are English details returned by PayPal®. Replace `%2$s` with: `Unable to process, please try again`, or something to that affect. Or, if you prefer, you could Filter ``$response["__error"]`` with `ws_plugin__s2member_paypal_payflow_api_response`. */
|
296 |
$response["__error"] = sprintf(_x('Error #%1$s. %2$s.', "s2member-front", "s2member"), $response["TRXRESULT"], rtrim($response["TRXRESPMSG"], "."));
|
297 |
/**/
|
298 |
+
else
|
299 |
+
$response["__error"] = _x("Error. Please contact Support for assistance.", "s2member-front", "s2member");
|
300 |
}
|
301 |
/**/
|
302 |
$logv = c_ws_plugin__s2member_utilities::ver_details();
|
567 |
return apply_filters("ws_plugin__s2member_paypal_pro_period1", $period1, get_defined_vars());
|
568 |
}
|
569 |
else /* Default. */
|
570 |
+
return apply_filters("ws_plugin__s2member_paypal_pro_period1", $default, get_defined_vars());
|
571 |
}
|
572 |
/**
|
573 |
* Get `period3` from either an array with `PROFILEREFERENCE|rp_invoice_id|period3`, or use an existing string.
|
623 |
return apply_filters("ws_plugin__s2member_paypal_pro_period3", $period3, get_defined_vars());
|
624 |
}
|
625 |
else /* Default. */
|
626 |
+
return apply_filters("ws_plugin__s2member_paypal_pro_period3", $default, get_defined_vars());
|
627 |
}
|
628 |
}
|
629 |
}
|
includes/classes/users-list-in.inc.php
CHANGED
@@ -169,7 +169,7 @@ if (!class_exists ("c_ws_plugin__s2member_users_list_in"))
|
|
169 |
echo '<tr>' . "\n";
|
170 |
$auto_eot_time = get_user_option ("s2member_auto_eot_time", $user_id);
|
171 |
$auto_eot_time = ($auto_eot_time) ? date ("D M j, Y g:i a T", $auto_eot_time) : "";
|
172 |
-
echo '<th><label for="ws-plugin--s2member-profile-s2member-auto-eot-time">Automatic EOT Time:</label> <a href="#" onclick="alert(\'EOT = End Of Term. ( i.e. Account Expiration / Termination. ).\\n\\nIf you leave this empty, s2Member will configure an EOT Time automatically, based on the paid Subscription associated with this account. In other words, if a paid Subscription expires, is cancelled, terminated, refunded, reversed, or charged back to you; s2Member will deal with the EOT automatically.\\n\\nThat being said, if you would rather take control over this, you can. If you type in a date manually, s2Member will obey the Auto-EOT Time that you\\\'ve given, no matter what. In other words, you can force certain Members to expire automatically, at a time that you specify. s2Member will obey.\\n\\nValid formats for Automatic EOT Time:\\n\\nmm/dd/yyyy\\nyyyy-mm-dd\\n+1 year\\n+2 weeks\\n+2 months\\n+10 minutes\\nnext thursday\\ntomorrow\\ntoday\\n\\n* anything compatible with PHP\\\'s strtotime() function.\'); return false;" tabindex="-1">[?]</a>' . (($auto_eot_time) ? '<br /><small>( <a href="http://
|
173 |
echo '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_profile_s2member_auto_eot_time" id="ws-plugin--s2member-profile-s2member-auto-eot-time" value="' . format_to_edit ($auto_eot_time) . '" class="regular-text" /></td>' . "\n";
|
174 |
echo '</tr>' . "\n";
|
175 |
/**/
|
169 |
echo '<tr>' . "\n";
|
170 |
$auto_eot_time = get_user_option ("s2member_auto_eot_time", $user_id);
|
171 |
$auto_eot_time = ($auto_eot_time) ? date ("D M j, Y g:i a T", $auto_eot_time) : "";
|
172 |
+
echo '<th><label for="ws-plugin--s2member-profile-s2member-auto-eot-time">Automatic EOT Time:</label> <a href="#" onclick="alert(\'EOT = End Of Term. ( i.e. Account Expiration / Termination. ).\\n\\nIf you leave this empty, s2Member will configure an EOT Time automatically, based on the paid Subscription associated with this account. In other words, if a paid Subscription expires, is cancelled, terminated, refunded, reversed, or charged back to you; s2Member will deal with the EOT automatically.\\n\\nThat being said, if you would rather take control over this, you can. If you type in a date manually, s2Member will obey the Auto-EOT Time that you\\\'ve given, no matter what. In other words, you can force certain Members to expire automatically, at a time that you specify. s2Member will obey.\\n\\nValid formats for Automatic EOT Time:\\n\\nmm/dd/yyyy\\nyyyy-mm-dd\\n+1 year\\n+2 weeks\\n+2 months\\n+10 minutes\\nnext thursday\\ntomorrow\\ntoday\\n\\n* anything compatible with PHP\\\'s strtotime() function.\'); return false;" tabindex="-1">[?]</a>' . (($auto_eot_time) ? '<br /><small>( <a href="http://en.wikipedia.org/wiki/Coordinated_Universal_Time" target="_blank" rel="external">Universal Time / GMT</a> )</small>' : '') . '</th>' . "\n";
|
173 |
echo '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_profile_s2member_auto_eot_time" id="ws-plugin--s2member-profile-s2member-auto-eot-time" value="' . format_to_edit ($auto_eot_time) . '" class="regular-text" /></td>' . "\n";
|
174 |
echo '</tr>' . "\n";
|
175 |
/**/
|
includes/classes/utils-conds.inc.php
CHANGED
@@ -121,7 +121,8 @@ if(!class_exists("c_ws_plugin__s2member_utils_conds"))
|
|
121 |
/**/
|
122 |
if(empty($parse["host"]) || strcasecmp($parse["host"], c_ws_plugin__s2member_utils_urls::parse_url(site_url(), PHP_URL_HOST)) === 0)
|
123 |
if($parse["path"] === "/" || rtrim($parse["path"], "/") === rtrim(c_ws_plugin__s2member_utils_urls::parse_url(site_url(), PHP_URL_PATH), "/"))
|
124 |
-
|
|
|
125 |
}
|
126 |
return false; /* Default return false. */
|
127 |
}
|
121 |
/**/
|
122 |
if(empty($parse["host"]) || strcasecmp($parse["host"], c_ws_plugin__s2member_utils_urls::parse_url(site_url(), PHP_URL_HOST)) === 0)
|
123 |
if($parse["path"] === "/" || rtrim($parse["path"], "/") === rtrim(c_ws_plugin__s2member_utils_urls::parse_url(site_url(), PHP_URL_PATH), "/"))
|
124 |
+
if(get_option("permalink_structure") || (empty($_GET["post_id"]) && empty($_GET["page_id"]) && empty($_GET["p"])))
|
125 |
+
return true;
|
126 |
}
|
127 |
return false; /* Default return false. */
|
128 |
}
|
includes/classes/utils-html.inc.php
CHANGED
@@ -55,9 +55,8 @@ if (!class_exists ("c_ws_plugin__s2member_utils_html"))
|
|
55 |
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' . "\n";
|
56 |
/**/
|
57 |
echo '<script type="text/javascript" src="' . esc_attr (site_url ("/wp-includes/js/jquery/jquery.js?ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ()))) . '"></script>' . "\n";
|
58 |
-
echo '<script type="text/javascript" src="' . esc_attr (site_url ("/wp-includes/js/l10n.js?ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ()))) . '"></script>' . "\n";
|
59 |
/**/
|
60 |
-
echo '<script type="text/javascript">' . "var pwsL10n = {empty: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Strength indicator", "s2member-front", "s2member")) . "', short: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Very weak", "s2member-front", "s2member")) . "', bad: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Weak", "s2member-front", "s2member")) . "', good: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Medium", "s2member-front", "s2member")) . "', strong: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Strong", "s2member-front", "s2member")) . "', mismatch: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Mismatch", "s2member-front", "s2member")) . "'}
|
61 |
echo '<script type="text/javascript" src="' . esc_attr (site_url ("/wp-admin/js/password-strength-meter.js?ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ()))) . '"></script>' . "\n";
|
62 |
/**/
|
63 |
echo '<script type="text/javascript" src="' . esc_attr ($s2o . "?ws_plugin__s2member_js_w_globals=" . urlencode (WS_PLUGIN__S2MEMBER_API_CONSTANTS_MD5) . "&qcABC=1&ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ())) . '"></script>' . "\n";
|
55 |
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />' . "\n";
|
56 |
/**/
|
57 |
echo '<script type="text/javascript" src="' . esc_attr (site_url ("/wp-includes/js/jquery/jquery.js?ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ()))) . '"></script>' . "\n";
|
|
|
58 |
/**/
|
59 |
+
echo '<script type="text/javascript">' . "var pwsL10n = {empty: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Strength indicator", "s2member-front", "s2member")) . "', short: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Very weak", "s2member-front", "s2member")) . "', bad: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Weak", "s2member-front", "s2member")) . "', good: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Medium", "s2member-front", "s2member")) . "', strong: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Strong", "s2member-front", "s2member")) . "', mismatch: '" . c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Mismatch", "s2member-front", "s2member")) . "'};</script>" . "\n";
|
60 |
echo '<script type="text/javascript" src="' . esc_attr (site_url ("/wp-admin/js/password-strength-meter.js?ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ()))) . '"></script>' . "\n";
|
61 |
/**/
|
62 |
echo '<script type="text/javascript" src="' . esc_attr ($s2o . "?ws_plugin__s2member_js_w_globals=" . urlencode (WS_PLUGIN__S2MEMBER_API_CONSTANTS_MD5) . "&qcABC=1&ver=" . urlencode (c_ws_plugin__s2member_utilities::ver_checksum ())) . '"></script>' . "\n";
|
includes/classes/utils-strings.inc.php
CHANGED
@@ -57,13 +57,14 @@ if(!class_exists("c_ws_plugin__s2member_utils_strings"))
|
|
57 |
*
|
58 |
* @param str $string Input string.
|
59 |
* @param int $times Number of escapes. Defaults to 1.
|
|
|
60 |
* @return str Output string after double quotes are escaped.
|
61 |
*/
|
62 |
-
public static function esc_dq($string = FALSE, $times = FALSE)
|
63 |
{
|
64 |
$times = (is_numeric($times) && $times >= 0) ? (int)$times : 1;
|
65 |
/**/
|
66 |
-
return str_replace('"', str_repeat(
|
67 |
}
|
68 |
/**
|
69 |
* Escapes single quotes.
|
57 |
*
|
58 |
* @param str $string Input string.
|
59 |
* @param int $times Number of escapes. Defaults to 1.
|
60 |
+
* @param str $escape_char The character to be used in escapes.
|
61 |
* @return str Output string after double quotes are escaped.
|
62 |
*/
|
63 |
+
public static function esc_dq($string = FALSE, $times = FALSE, $escape_char = "\\")
|
64 |
{
|
65 |
$times = (is_numeric($times) && $times >= 0) ? (int)$times : 1;
|
66 |
/**/
|
67 |
+
return str_replace('"', str_repeat($escape_char, $times).'"', (string)$string);
|
68 |
}
|
69 |
/**
|
70 |
* Escapes single quotes.
|
includes/classes/utils-urls.inc.php
CHANGED
@@ -195,6 +195,8 @@ if(!class_exists("c_ws_plugin__s2member_utils_urls"))
|
|
195 |
$args = /* Force array, and disable SSL verification. */ (!is_array($args)) ? array(): $args;
|
196 |
$args["sslverify"] = (!isset($args["sslverify"])) ? /* Off. */ false : $args["sslverify"];
|
197 |
/**/
|
|
|
|
|
198 |
if((is_array($post_vars) || is_string($post_vars)) && !empty($post_vars))
|
199 |
$args = array_merge($args, array("method" => "POST", "body" => $post_vars));
|
200 |
/**/
|
195 |
$args = /* Force array, and disable SSL verification. */ (!is_array($args)) ? array(): $args;
|
196 |
$args["sslverify"] = (!isset($args["sslverify"])) ? /* Off. */ false : $args["sslverify"];
|
197 |
/**/
|
198 |
+
$args["httpversion"] = (!isset($args["httpversion"])) ? "1.1" : $args["httpversion"];
|
199 |
+
/**/
|
200 |
if((is_array($post_vars) || is_string($post_vars)) && !empty($post_vars))
|
201 |
$args = array_merge($args, array("method" => "POST", "body" => $post_vars));
|
202 |
/**/
|
includes/functions/api-functions.inc.php
CHANGED
@@ -14,7 +14,7 @@
|
|
14 |
* @package s2Member\API_Functions
|
15 |
* @since 3.5
|
16 |
*/
|
17 |
-
if
|
18 |
exit("Do not access this file directly.");
|
19 |
/**
|
20 |
* Conditional to determine if the current User is NOT logged in.
|
@@ -49,11 +49,11 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
49 |
*
|
50 |
* @see http://codex.wordpress.org/Function_Reference/is_user_logged_in is_user_logged_in()
|
51 |
*/
|
52 |
-
if
|
53 |
{
|
54 |
-
function is_user_not_logged_in
|
55 |
{
|
56 |
-
return (!is_user_logged_in
|
57 |
}
|
58 |
}
|
59 |
/**
|
@@ -127,19 +127,19 @@ if (!function_exists ("is_user_not_logged_in"))
|
|
127 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
128 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
129 |
*/
|
130 |
-
if
|
131 |
{
|
132 |
-
function user_is
|
133 |
{
|
134 |
-
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace
|
135 |
/**/
|
136 |
-
if
|
137 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
138 |
/**/
|
139 |
-
else if
|
140 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
141 |
/**/
|
142 |
-
return user_can
|
143 |
}
|
144 |
}
|
145 |
/**
|
@@ -212,11 +212,11 @@ if (!function_exists ("user_is"))
|
|
212 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
213 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
214 |
*/
|
215 |
-
if
|
216 |
{
|
217 |
-
function user_is_not
|
218 |
{
|
219 |
-
return (!user_is
|
220 |
}
|
221 |
}
|
222 |
/**
|
@@ -289,19 +289,19 @@ if (!function_exists ("user_is_not"))
|
|
289 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
290 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
291 |
*/
|
292 |
-
if
|
293 |
{
|
294 |
-
function current_user_is
|
295 |
{
|
296 |
-
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace
|
297 |
/**/
|
298 |
-
if
|
299 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
300 |
/**/
|
301 |
-
else if
|
302 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
303 |
/**/
|
304 |
-
return current_user_can
|
305 |
}
|
306 |
}
|
307 |
/**
|
@@ -373,11 +373,11 @@ if (!function_exists ("current_user_is"))
|
|
373 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
374 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
375 |
*/
|
376 |
-
if
|
377 |
{
|
378 |
-
function current_user_is_not
|
379 |
{
|
380 |
-
return (!current_user_is
|
381 |
}
|
382 |
}
|
383 |
/**
|
@@ -456,19 +456,19 @@ if (!function_exists ("current_user_is_not"))
|
|
456 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
457 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
458 |
*/
|
459 |
-
if
|
460 |
{
|
461 |
-
function current_user_is_for_blog
|
462 |
{
|
463 |
-
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace
|
464 |
/**/
|
465 |
-
if
|
466 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
467 |
/**/
|
468 |
-
else if
|
469 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
470 |
/**/
|
471 |
-
return current_user_can_for_blog
|
472 |
}
|
473 |
}
|
474 |
/**
|
@@ -535,11 +535,11 @@ if (!function_exists ("current_user_is_for_blog"))
|
|
535 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
536 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
537 |
*/
|
538 |
-
if
|
539 |
{
|
540 |
-
function current_user_is_not_for_blog
|
541 |
{
|
542 |
-
return (!current_user_is_for_blog
|
543 |
}
|
544 |
}
|
545 |
/**
|
@@ -604,11 +604,11 @@ if (!function_exists ("current_user_is_not_for_blog"))
|
|
604 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
605 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
606 |
*/
|
607 |
-
if
|
608 |
{
|
609 |
-
function user_cannot
|
610 |
{
|
611 |
-
return (!user_can
|
612 |
}
|
613 |
}
|
614 |
/**
|
@@ -673,11 +673,11 @@ if (!function_exists ("user_cannot"))
|
|
673 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
674 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
675 |
*/
|
676 |
-
if
|
677 |
{
|
678 |
-
function current_user_cannot
|
679 |
{
|
680 |
-
return (!current_user_can
|
681 |
}
|
682 |
}
|
683 |
/**
|
@@ -743,11 +743,11 @@ if (!function_exists ("current_user_cannot"))
|
|
743 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
744 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
745 |
*/
|
746 |
-
if
|
747 |
{
|
748 |
-
function current_user_cannot_for_blog
|
749 |
{
|
750 |
-
return (!current_user_can_for_blog
|
751 |
}
|
752 |
}
|
753 |
/**
|
@@ -852,28 +852,28 @@ if (!function_exists ("current_user_cannot_for_blog"))
|
|
852 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
853 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
854 |
*/
|
855 |
-
if
|
856 |
{
|
857 |
-
function is_protected_by_s2member
|
858 |
{
|
859 |
global $post; /* Global reference to $post in The Loop. */
|
860 |
/**/
|
861 |
-
$what = ($what) ? $what : ((is_object
|
862 |
-
$type = ($type) ? strtolower
|
863 |
/**/
|
864 |
-
if
|
865 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
866 |
/**/
|
867 |
-
else if
|
868 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
869 |
/**/
|
870 |
-
else if
|
871 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
872 |
/**/
|
873 |
-
else if
|
874 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
875 |
/**/
|
876 |
-
else if
|
877 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
878 |
/**/
|
879 |
return false;
|
@@ -974,28 +974,28 @@ if (!function_exists ("is_protected_by_s2member"))
|
|
974 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
975 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
976 |
*/
|
977 |
-
if
|
978 |
{
|
979 |
-
function is_permitted_by_s2member
|
980 |
{
|
981 |
global $post; /* Global reference to $post in The Loop. */
|
982 |
/**/
|
983 |
-
$what = ($what) ? $what : ((is_object
|
984 |
-
$type = ($type) ? strtolower
|
985 |
/**/
|
986 |
-
if
|
987 |
return false;
|
988 |
/**/
|
989 |
-
else if
|
990 |
return false;
|
991 |
/**/
|
992 |
-
else if
|
993 |
return false;
|
994 |
/**/
|
995 |
-
else if
|
996 |
return false;
|
997 |
/**/
|
998 |
-
else if
|
999 |
return false;
|
1000 |
/**/
|
1001 |
return true;
|
@@ -1066,11 +1066,11 @@ if (!function_exists ("is_permitted_by_s2member"))
|
|
1066 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1067 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1068 |
*/
|
1069 |
-
if
|
1070 |
{
|
1071 |
-
function is_category_protected_by_s2member
|
1072 |
{
|
1073 |
-
if
|
1074 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1075 |
/**/
|
1076 |
return false;
|
@@ -1134,11 +1134,11 @@ if (!function_exists ("is_category_protected_by_s2member"))
|
|
1134 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1135 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1136 |
*/
|
1137 |
-
if
|
1138 |
{
|
1139 |
-
function is_category_permitted_by_s2member
|
1140 |
{
|
1141 |
-
if
|
1142 |
return false;
|
1143 |
/**/
|
1144 |
return true;
|
@@ -1222,11 +1222,11 @@ if (!function_exists ("is_category_permitted_by_s2member"))
|
|
1222 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1223 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1224 |
*/
|
1225 |
-
if
|
1226 |
{
|
1227 |
-
function is_tag_protected_by_s2member
|
1228 |
{
|
1229 |
-
if
|
1230 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1231 |
/**/
|
1232 |
return false;
|
@@ -1303,11 +1303,11 @@ if (!function_exists ("is_tag_protected_by_s2member"))
|
|
1303 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1304 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1305 |
*/
|
1306 |
-
if
|
1307 |
{
|
1308 |
-
function is_tag_permitted_by_s2member
|
1309 |
{
|
1310 |
-
if
|
1311 |
return false;
|
1312 |
/**/
|
1313 |
return true;
|
@@ -1378,11 +1378,11 @@ if (!function_exists ("is_tag_permitted_by_s2member"))
|
|
1378 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1379 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1380 |
*/
|
1381 |
-
if
|
1382 |
{
|
1383 |
-
function is_post_protected_by_s2member
|
1384 |
{
|
1385 |
-
if
|
1386 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
1387 |
/**/
|
1388 |
return false;
|
@@ -1446,11 +1446,11 @@ if (!function_exists ("is_post_protected_by_s2member"))
|
|
1446 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1447 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1448 |
*/
|
1449 |
-
if
|
1450 |
{
|
1451 |
-
function is_post_permitted_by_s2member
|
1452 |
{
|
1453 |
-
if
|
1454 |
return false;
|
1455 |
/**/
|
1456 |
return true;
|
@@ -1521,11 +1521,11 @@ if (!function_exists ("is_post_permitted_by_s2member"))
|
|
1521 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1522 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1523 |
*/
|
1524 |
-
if
|
1525 |
{
|
1526 |
-
function is_page_protected_by_s2member
|
1527 |
{
|
1528 |
-
if
|
1529 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
1530 |
/**/
|
1531 |
return false;
|
@@ -1589,11 +1589,11 @@ if (!function_exists ("is_page_protected_by_s2member"))
|
|
1589 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1590 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1591 |
*/
|
1592 |
-
if
|
1593 |
{
|
1594 |
-
function is_page_permitted_by_s2member
|
1595 |
{
|
1596 |
-
if
|
1597 |
return false;
|
1598 |
/**/
|
1599 |
return true;
|
@@ -1671,11 +1671,11 @@ if (!function_exists ("is_page_permitted_by_s2member"))
|
|
1671 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1672 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1673 |
*/
|
1674 |
-
if
|
1675 |
{
|
1676 |
-
function is_uri_protected_by_s2member
|
1677 |
{
|
1678 |
-
if
|
1679 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1680 |
/**/
|
1681 |
return false;
|
@@ -1746,11 +1746,11 @@ if (!function_exists ("is_uri_protected_by_s2member"))
|
|
1746 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1747 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1748 |
*/
|
1749 |
-
if
|
1750 |
{
|
1751 |
-
function is_uri_permitted_by_s2member
|
1752 |
{
|
1753 |
-
if
|
1754 |
return false;
|
1755 |
/**/
|
1756 |
return true;
|
@@ -1794,12 +1794,12 @@ if (!function_exists ("is_uri_permitted_by_s2member"))
|
|
1794 |
*
|
1795 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1796 |
*/
|
1797 |
-
if
|
1798 |
{
|
1799 |
-
function attach_s2member_query_filters
|
1800 |
{
|
1801 |
-
remove_action
|
1802 |
-
add_action
|
1803 |
}
|
1804 |
}
|
1805 |
/**
|
@@ -1840,12 +1840,12 @@ if (!function_exists ("attach_s2member_query_filters"))
|
|
1840 |
*
|
1841 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1842 |
*/
|
1843 |
-
if
|
1844 |
{
|
1845 |
-
function detach_s2member_query_filters
|
1846 |
{
|
1847 |
-
remove_action
|
1848 |
-
add_action
|
1849 |
}
|
1850 |
}
|
1851 |
/**
|
@@ -1912,11 +1912,11 @@ if (!function_exists ("detach_s2member_query_filters"))
|
|
1912 |
*
|
1913 |
* @see s2Member\API_Functions\s2member_file_download_key()
|
1914 |
*/
|
1915 |
-
if
|
1916 |
{
|
1917 |
-
function s2member_file_download_url
|
1918 |
{
|
1919 |
-
return c_ws_plugin__s2member_files::create_file_download_url
|
1920 |
}
|
1921 |
}
|
1922 |
/**
|
@@ -1964,11 +1964,11 @@ if (!function_exists ("s2member_file_download_url"))
|
|
1964 |
*
|
1965 |
* @todo Allow custom expiration times.
|
1966 |
*/
|
1967 |
-
if
|
1968 |
{
|
1969 |
-
function s2member_file_download_key
|
1970 |
{
|
1971 |
-
return c_ws_plugin__s2member_files::file_download_key
|
1972 |
}
|
1973 |
}
|
1974 |
/**
|
@@ -2015,12 +2015,12 @@ if (!function_exists ("s2member_file_download_key"))
|
|
2015 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2016 |
* @todo Create a Shortcode equivalent.
|
2017 |
*/
|
2018 |
-
if
|
2019 |
{
|
2020 |
-
function s2member_user_downloads
|
2021 |
{
|
2022 |
-
$user = ($user_id && is_object
|
2023 |
-
return c_ws_plugin__s2member_files::user_downloads
|
2024 |
}
|
2025 |
}
|
2026 |
/**
|
@@ -2068,11 +2068,11 @@ if (!function_exists ("s2member_user_downloads"))
|
|
2068 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2069 |
* @todo Create a Shortcode equivalent.
|
2070 |
*/
|
2071 |
-
if
|
2072 |
{
|
2073 |
-
function s2member_total_downloads_of
|
2074 |
{
|
2075 |
-
return c_ws_plugin__s2member_files::total_downloads_of
|
2076 |
}
|
2077 |
}
|
2078 |
/**
|
@@ -2120,11 +2120,11 @@ if (!function_exists ("s2member_total_downloads_of"))
|
|
2120 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2121 |
* @todo Create a Shortcode equivalent.
|
2122 |
*/
|
2123 |
-
if
|
2124 |
{
|
2125 |
-
function s2member_total_unique_downloads_of
|
2126 |
{
|
2127 |
-
return c_ws_plugin__s2member_files::total_unique_downloads_of
|
2128 |
}
|
2129 |
}
|
2130 |
/**
|
@@ -2157,11 +2157,11 @@ if (!function_exists ("s2member_total_unique_downloads_of"))
|
|
2157 |
*
|
2158 |
* @see s2Member\API_Functions\get_user_field()
|
2159 |
*/
|
2160 |
-
if
|
2161 |
{
|
2162 |
-
function s2member_registration_time
|
2163 |
{
|
2164 |
-
return c_ws_plugin__s2member_registration_times::registration_time
|
2165 |
}
|
2166 |
}
|
2167 |
/**
|
@@ -2200,11 +2200,11 @@ if (!function_exists ("s2member_registration_time"))
|
|
2200 |
*
|
2201 |
* @see s2Member\API_Functions\get_user_field()
|
2202 |
*/
|
2203 |
-
if
|
2204 |
{
|
2205 |
-
function s2member_paid_registration_time
|
2206 |
{
|
2207 |
-
return c_ws_plugin__s2member_registration_times::paid_registration_time
|
2208 |
}
|
2209 |
}
|
2210 |
/**
|
@@ -2368,11 +2368,11 @@ if (!function_exists ("s2member_paid_registration_time"))
|
|
2368 |
* @see http://codex.wordpress.org/Function_Reference/update_user_option update_user_option()
|
2369 |
* @see http://codex.wordpress.org/Function_Reference/wp_get_current_user wp_get_current_user()
|
2370 |
*/
|
2371 |
-
if
|
2372 |
{
|
2373 |
-
function get_user_field
|
2374 |
{
|
2375 |
-
return c_ws_plugin__s2member_utils_users::get_user_field
|
2376 |
}
|
2377 |
}
|
2378 |
/**
|
@@ -2415,20 +2415,20 @@ if (!function_exists ("get_user_field"))
|
|
2415 |
* @see http://codex.wordpress.org/Function_Reference/update_user_option update_user_option()
|
2416 |
* @see http://codex.wordpress.org/Function_Reference/wp_get_current_user wp_get_current_user()
|
2417 |
*/
|
2418 |
-
if
|
2419 |
{
|
2420 |
-
function get_s2member_custom_fields
|
2421 |
{
|
2422 |
-
$fields = ($user_id) ? get_user_option
|
2423 |
/**//**/
|
2424 |
-
foreach
|
2425 |
{
|
2426 |
-
if
|
2427 |
-
$s2member_custom_fields[$field["id"]]["user_value"] = (isset
|
2428 |
$s2member_custom_fields[$field["id"]]["config"] = $field; /* Copy configuration into config element. */
|
2429 |
}
|
2430 |
/**/
|
2431 |
-
return (isset
|
2432 |
}
|
2433 |
}
|
2434 |
/**
|
@@ -2456,11 +2456,11 @@ if (!function_exists ("get_s2member_custom_fields"))
|
|
2456 |
*
|
2457 |
* @todo Create a true Shortcode equivalent function.
|
2458 |
*/
|
2459 |
-
if
|
2460 |
{
|
2461 |
-
function s2member_value_for_pp_inv
|
2462 |
{
|
2463 |
-
return uniqid
|
2464 |
}
|
2465 |
}
|
2466 |
/**
|
@@ -2487,11 +2487,11 @@ if (!function_exists ("s2member_value_for_pp_inv"))
|
|
2487 |
*
|
2488 |
* @todo Create a Shortcode equivalent for this function.
|
2489 |
*/
|
2490 |
-
if
|
2491 |
{
|
2492 |
-
function s2member_shorten_url
|
2493 |
{
|
2494 |
-
return c_ws_plugin__s2member_utils_urls::shorten
|
2495 |
}
|
2496 |
}
|
2497 |
/**
|
@@ -2523,11 +2523,11 @@ if (!function_exists ("s2member_shorten_url"))
|
|
2523 |
*
|
2524 |
* @todo Create a Shortcode equivalent for this function.
|
2525 |
*/
|
2526 |
-
if
|
2527 |
{
|
2528 |
-
function s2member_encrypt
|
2529 |
{
|
2530 |
-
return c_ws_plugin__s2member_utils_encryption::encrypt
|
2531 |
}
|
2532 |
}
|
2533 |
/**
|
@@ -2558,11 +2558,11 @@ if (!function_exists ("s2member_encrypt"))
|
|
2558 |
*
|
2559 |
* @todo Create a Shortcode equivalent for this function.
|
2560 |
*/
|
2561 |
-
if
|
2562 |
{
|
2563 |
-
function s2member_decrypt
|
2564 |
{
|
2565 |
-
return c_ws_plugin__s2member_utils_encryption::decrypt
|
2566 |
}
|
2567 |
}
|
2568 |
/**
|
@@ -2592,11 +2592,11 @@ if (!function_exists ("s2member_decrypt"))
|
|
2592 |
*
|
2593 |
* @todo Create a Shortcode equivalent for this function.
|
2594 |
*/
|
2595 |
-
if
|
2596 |
{
|
2597 |
-
function s2member_xencrypt
|
2598 |
{
|
2599 |
-
return c_ws_plugin__s2member_utils_encryption::xencrypt
|
2600 |
}
|
2601 |
}
|
2602 |
/**
|
@@ -2625,11 +2625,40 @@ if (!function_exists ("s2member_xencrypt"))
|
|
2625 |
*
|
2626 |
* @todo Create a Shortcode equivalent for this function.
|
2627 |
*/
|
2628 |
-
if
|
2629 |
{
|
2630 |
-
function s2member_xdecrypt
|
2631 |
{
|
2632 |
-
return c_ws_plugin__s2member_utils_encryption::xdecrypt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2633 |
}
|
2634 |
}
|
2635 |
?>
|
14 |
* @package s2Member\API_Functions
|
15 |
* @since 3.5
|
16 |
*/
|
17 |
+
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
18 |
exit("Do not access this file directly.");
|
19 |
/**
|
20 |
* Conditional to determine if the current User is NOT logged in.
|
49 |
*
|
50 |
* @see http://codex.wordpress.org/Function_Reference/is_user_logged_in is_user_logged_in()
|
51 |
*/
|
52 |
+
if(!function_exists("is_user_not_logged_in"))
|
53 |
{
|
54 |
+
function is_user_not_logged_in()
|
55 |
{
|
56 |
+
return (!is_user_logged_in());
|
57 |
}
|
58 |
}
|
59 |
/**
|
127 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
128 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
129 |
*/
|
130 |
+
if(!function_exists("user_is"))
|
131 |
{
|
132 |
+
function user_is($id = FALSE, $role = FALSE)
|
133 |
{
|
134 |
+
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace("/^access_/i", "", $role);
|
135 |
/**/
|
136 |
+
if(($role === "super_administrator" || $role === "administrator") && is_multisite() && is_super_admin($id))
|
137 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
138 |
/**/
|
139 |
+
else if(is_multisite() && is_super_admin($id)) /* Else return false for Super Admins here. */
|
140 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
141 |
/**/
|
142 |
+
return user_can($id, $role);
|
143 |
}
|
144 |
}
|
145 |
/**
|
212 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
213 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
214 |
*/
|
215 |
+
if(!function_exists("user_is_not"))
|
216 |
{
|
217 |
+
function user_is_not($id = FALSE, $role = FALSE)
|
218 |
{
|
219 |
+
return (!user_is($id, $role));
|
220 |
}
|
221 |
}
|
222 |
/**
|
289 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
290 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
291 |
*/
|
292 |
+
if(!function_exists("current_user_is"))
|
293 |
{
|
294 |
+
function current_user_is($role = FALSE)
|
295 |
{
|
296 |
+
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace("/^access_/i", "", $role);
|
297 |
/**/
|
298 |
+
if(($role === "super_administrator" || $role === "administrator") && is_multisite() && is_super_admin())
|
299 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
300 |
/**/
|
301 |
+
else if(is_multisite() && is_super_admin()) /* Else return false for Super Admins here. */
|
302 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
303 |
/**/
|
304 |
+
return current_user_can($role);
|
305 |
}
|
306 |
}
|
307 |
/**
|
373 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
374 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
375 |
*/
|
376 |
+
if(!function_exists("current_user_is_not"))
|
377 |
{
|
378 |
+
function current_user_is_not($role = FALSE)
|
379 |
{
|
380 |
+
return (!current_user_is($role));
|
381 |
}
|
382 |
}
|
383 |
/**
|
456 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
457 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
458 |
*/
|
459 |
+
if(!function_exists("current_user_is_for_blog"))
|
460 |
{
|
461 |
+
function current_user_is_for_blog($blog_id = FALSE, $role = FALSE)
|
462 |
{
|
463 |
+
$role = ($role === "s2member_level0") ? "subscriber" : preg_replace("/^access_/i", "", $role);
|
464 |
/**/
|
465 |
+
if(($role === "super_administrator" || $role === "administrator") && is_multisite() && is_super_admin())
|
466 |
return true; /* Return true, Super Admins are always considered an Admnistrator, for all Blogs. */
|
467 |
/**/
|
468 |
+
else if(is_multisite() && is_super_admin()) /* Else return false for Super Admins here. */
|
469 |
return false; /* Super Admins can access all Capabilities, so the default handling would fail. */
|
470 |
/**/
|
471 |
+
return current_user_can_for_blog($blog_id, $role);
|
472 |
}
|
473 |
}
|
474 |
/**
|
535 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
536 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
537 |
*/
|
538 |
+
if(!function_exists("current_user_is_not_for_blog"))
|
539 |
{
|
540 |
+
function current_user_is_not_for_blog($blog_id = FALSE, $role = FALSE)
|
541 |
{
|
542 |
+
return (!current_user_is_for_blog($blog_id, $role));
|
543 |
}
|
544 |
}
|
545 |
/**
|
604 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
605 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
606 |
*/
|
607 |
+
if(!function_exists("user_cannot"))
|
608 |
{
|
609 |
+
function user_cannot($id = FALSE, $capability = FALSE)
|
610 |
{
|
611 |
+
return (!user_can($id, $capability));
|
612 |
}
|
613 |
}
|
614 |
/**
|
673 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
674 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
675 |
*/
|
676 |
+
if(!function_exists("current_user_cannot"))
|
677 |
{
|
678 |
+
function current_user_cannot($capability = FALSE)
|
679 |
{
|
680 |
+
return (!current_user_can($capability));
|
681 |
}
|
682 |
}
|
683 |
/**
|
743 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can current_user_can()
|
744 |
* @see http://codex.wordpress.org/Function_Reference/current_user_can_for_blog current_user_can_for_blog()
|
745 |
*/
|
746 |
+
if(!function_exists("current_user_cannot_for_blog"))
|
747 |
{
|
748 |
+
function current_user_cannot_for_blog($blog_id = FALSE, $capability = FALSE)
|
749 |
{
|
750 |
+
return (!current_user_can_for_blog($blog_id, $capability));
|
751 |
}
|
752 |
}
|
753 |
/**
|
852 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
853 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
854 |
*/
|
855 |
+
if(!function_exists("is_protected_by_s2member"))
|
856 |
{
|
857 |
+
function is_protected_by_s2member($what = FALSE, $type = FALSE, $check_user = FALSE)
|
858 |
{
|
859 |
global $post; /* Global reference to $post in The Loop. */
|
860 |
/**/
|
861 |
+
$what = ($what) ? $what : ((is_object($post) && $post->ID) ? $post->ID : false);
|
862 |
+
$type = ($type) ? strtolower($type) : "singular";
|
863 |
/**/
|
864 |
+
if($type === "category" && ($array = c_ws_plugin__s2member_catgs_sp::check_specific_catg_level_access($what, $check_user)))
|
865 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
866 |
/**/
|
867 |
+
else if($type === "tag" && ($array = c_ws_plugin__s2member_ptags_sp::check_specific_ptag_level_access($what, $check_user)))
|
868 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
869 |
/**/
|
870 |
+
else if(($type === "post" || $type === "singular") && ($array = c_ws_plugin__s2member_posts_sp::check_specific_post_level_access($what, $check_user)))
|
871 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
872 |
/**/
|
873 |
+
else if(($type === "page" || $type === "singular") && ($array = c_ws_plugin__s2member_pages_sp::check_specific_page_level_access($what, $check_user)))
|
874 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
875 |
/**/
|
876 |
+
else if($type === "uri" && ($array = c_ws_plugin__s2member_ruris_sp::check_specific_ruri_level_access($what, $check_user)))
|
877 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
878 |
/**/
|
879 |
return false;
|
974 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
975 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
976 |
*/
|
977 |
+
if(!function_exists("is_permitted_by_s2member"))
|
978 |
{
|
979 |
+
function is_permitted_by_s2member($what = FALSE, $type = FALSE)
|
980 |
{
|
981 |
global $post; /* Global reference to $post in The Loop. */
|
982 |
/**/
|
983 |
+
$what = ($what) ? $what : ((is_object($post) && $post->ID) ? $post->ID : false);
|
984 |
+
$type = ($type) ? strtolower($type) : "singular";
|
985 |
/**/
|
986 |
+
if($type === "category" && c_ws_plugin__s2member_catgs_sp::check_specific_catg_level_access($what, true))
|
987 |
return false;
|
988 |
/**/
|
989 |
+
else if($type === "tag" && c_ws_plugin__s2member_ptags_sp::check_specific_ptag_level_access($what, true))
|
990 |
return false;
|
991 |
/**/
|
992 |
+
else if(($type === "post" || $type === "singular") && c_ws_plugin__s2member_posts_sp::check_specific_post_level_access($what, true))
|
993 |
return false;
|
994 |
/**/
|
995 |
+
else if(($type === "page" || $type === "singular") && c_ws_plugin__s2member_pages_sp::check_specific_page_level_access($what, true))
|
996 |
return false;
|
997 |
/**/
|
998 |
+
else if($type === "uri" && c_ws_plugin__s2member_ruris_sp::check_specific_ruri_level_access($what, true))
|
999 |
return false;
|
1000 |
/**/
|
1001 |
return true;
|
1066 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1067 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1068 |
*/
|
1069 |
+
if(!function_exists("is_category_protected_by_s2member"))
|
1070 |
{
|
1071 |
+
function is_category_protected_by_s2member($cat_id = FALSE, $check_user = FALSE)
|
1072 |
{
|
1073 |
+
if($cat_id && ($array = c_ws_plugin__s2member_catgs_sp::check_specific_catg_level_access($cat_id, $check_user)))
|
1074 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1075 |
/**/
|
1076 |
return false;
|
1134 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1135 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1136 |
*/
|
1137 |
+
if(!function_exists("is_category_permitted_by_s2member"))
|
1138 |
{
|
1139 |
+
function is_category_permitted_by_s2member($cat_id = FALSE)
|
1140 |
{
|
1141 |
+
if($cat_id && c_ws_plugin__s2member_catgs_sp::check_specific_catg_level_access($cat_id, true))
|
1142 |
return false;
|
1143 |
/**/
|
1144 |
return true;
|
1222 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1223 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1224 |
*/
|
1225 |
+
if(!function_exists("is_tag_protected_by_s2member"))
|
1226 |
{
|
1227 |
+
function is_tag_protected_by_s2member($tag_id_slug_or_name = FALSE, $check_user = FALSE)
|
1228 |
{
|
1229 |
+
if($tag_id_slug_or_name && ($array = c_ws_plugin__s2member_ptags_sp::check_specific_ptag_level_access($tag_id_slug_or_name, $check_user)))
|
1230 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1231 |
/**/
|
1232 |
return false;
|
1303 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1304 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1305 |
*/
|
1306 |
+
if(!function_exists("is_tag_permitted_by_s2member"))
|
1307 |
{
|
1308 |
+
function is_tag_permitted_by_s2member($tag_id_slug_or_name = FALSE)
|
1309 |
{
|
1310 |
+
if($tag_id_slug_or_name && c_ws_plugin__s2member_ptags_sp::check_specific_ptag_level_access($tag_id_slug_or_name, true))
|
1311 |
return false;
|
1312 |
/**/
|
1313 |
return true;
|
1378 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1379 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1380 |
*/
|
1381 |
+
if(!function_exists("is_post_protected_by_s2member"))
|
1382 |
{
|
1383 |
+
function is_post_protected_by_s2member($post_id = FALSE, $check_user = FALSE)
|
1384 |
{
|
1385 |
+
if($post_id && ($array = c_ws_plugin__s2member_posts_sp::check_specific_post_level_access($post_id, $check_user)))
|
1386 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
1387 |
/**/
|
1388 |
return false;
|
1446 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1447 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1448 |
*/
|
1449 |
+
if(!function_exists("is_post_permitted_by_s2member"))
|
1450 |
{
|
1451 |
+
function is_post_permitted_by_s2member($post_id = FALSE)
|
1452 |
{
|
1453 |
+
if($post_id && c_ws_plugin__s2member_posts_sp::check_specific_post_level_access($post_id, true))
|
1454 |
return false;
|
1455 |
/**/
|
1456 |
return true;
|
1521 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1522 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1523 |
*/
|
1524 |
+
if(!function_exists("is_page_protected_by_s2member"))
|
1525 |
{
|
1526 |
+
function is_page_protected_by_s2member($page_id = FALSE, $check_user = FALSE)
|
1527 |
{
|
1528 |
+
if($page_id && ($array = c_ws_plugin__s2member_pages_sp::check_specific_page_level_access($page_id, $check_user)))
|
1529 |
return $array; /* A non-empty array with ["s2member_(level|sp|ccap)_req"]. */
|
1530 |
/**/
|
1531 |
return false;
|
1589 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1590 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1591 |
*/
|
1592 |
+
if(!function_exists("is_page_permitted_by_s2member"))
|
1593 |
{
|
1594 |
+
function is_page_permitted_by_s2member($page_id = FALSE)
|
1595 |
{
|
1596 |
+
if($page_id && c_ws_plugin__s2member_pages_sp::check_specific_page_level_access($page_id, true))
|
1597 |
return false;
|
1598 |
/**/
|
1599 |
return true;
|
1671 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1672 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1673 |
*/
|
1674 |
+
if(!function_exists("is_uri_protected_by_s2member"))
|
1675 |
{
|
1676 |
+
function is_uri_protected_by_s2member($uri_or_full_url = FALSE, $check_user = FALSE)
|
1677 |
{
|
1678 |
+
if($uri_or_full_url && ($array = c_ws_plugin__s2member_ruris_sp::check_specific_ruri_level_access($uri_or_full_url, $check_user)))
|
1679 |
return $array; /* A non-empty array with ["s2member_level_req"]. */
|
1680 |
/**/
|
1681 |
return false;
|
1746 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1747 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1748 |
*/
|
1749 |
+
if(!function_exists("is_uri_permitted_by_s2member"))
|
1750 |
{
|
1751 |
+
function is_uri_permitted_by_s2member($uri_or_full_url = FALSE)
|
1752 |
{
|
1753 |
+
if($uri_or_full_url && c_ws_plugin__s2member_ruris_sp::check_specific_ruri_level_access($uri_or_full_url, true))
|
1754 |
return false;
|
1755 |
/**/
|
1756 |
return true;
|
1794 |
*
|
1795 |
* @see s2Member\API_Functions\detach_s2member_query_filters()
|
1796 |
*/
|
1797 |
+
if(!function_exists("attach_s2member_query_filters"))
|
1798 |
{
|
1799 |
+
function attach_s2member_query_filters()
|
1800 |
{
|
1801 |
+
remove_action("pre_get_posts", "c_ws_plugin__s2member_security::security_gate_query", 100);
|
1802 |
+
add_action("pre_get_posts", "c_ws_plugin__s2member_querys::force_query_level_access", 100);
|
1803 |
}
|
1804 |
}
|
1805 |
/**
|
1840 |
*
|
1841 |
* @see s2Member\API_Functions\attach_s2member_query_filters()
|
1842 |
*/
|
1843 |
+
if(!function_exists("detach_s2member_query_filters"))
|
1844 |
{
|
1845 |
+
function detach_s2member_query_filters()
|
1846 |
{
|
1847 |
+
remove_action("pre_get_posts", "c_ws_plugin__s2member_querys::force_query_level_access", 100);
|
1848 |
+
add_action("pre_get_posts", "c_ws_plugin__s2member_security::security_gate_query", 100);
|
1849 |
}
|
1850 |
}
|
1851 |
/**
|
1912 |
*
|
1913 |
* @see s2Member\API_Functions\s2member_file_download_key()
|
1914 |
*/
|
1915 |
+
if(!function_exists("s2member_file_download_url"))
|
1916 |
{
|
1917 |
+
function s2member_file_download_url($config = FALSE, $get_streamer_array = FALSE)
|
1918 |
{
|
1919 |
+
return c_ws_plugin__s2member_files::create_file_download_url($config, $get_streamer_array);
|
1920 |
}
|
1921 |
}
|
1922 |
/**
|
1964 |
*
|
1965 |
* @todo Allow custom expiration times.
|
1966 |
*/
|
1967 |
+
if(!function_exists("s2member_file_download_key"))
|
1968 |
{
|
1969 |
+
function s2member_file_download_key($file = FALSE, $directive = FALSE)
|
1970 |
{
|
1971 |
+
return c_ws_plugin__s2member_files::file_download_key($file, $directive);
|
1972 |
}
|
1973 |
}
|
1974 |
/**
|
2015 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2016 |
* @todo Create a Shortcode equivalent.
|
2017 |
*/
|
2018 |
+
if(!function_exists("s2member_user_downloads"))
|
2019 |
{
|
2020 |
+
function s2member_user_downloads($user_id = FALSE, $not_counting_this_particular_file = FALSE)
|
2021 |
{
|
2022 |
+
$user = ($user_id && is_object($user = new WP_User((int)$user_id)) && !empty($user->ID)) ? $user : false;
|
2023 |
+
return c_ws_plugin__s2member_files::user_downloads($user, $not_counting_this_particular_file);
|
2024 |
}
|
2025 |
}
|
2026 |
/**
|
2068 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2069 |
* @todo Create a Shortcode equivalent.
|
2070 |
*/
|
2071 |
+
if(!function_exists("s2member_total_downloads_of"))
|
2072 |
{
|
2073 |
+
function s2member_total_downloads_of($file = FALSE, $user_id = FALSE, $check_archives_too = TRUE)
|
2074 |
{
|
2075 |
+
return c_ws_plugin__s2member_files::total_downloads_of($file, $user_id, $check_archives_too);
|
2076 |
}
|
2077 |
}
|
2078 |
/**
|
2120 |
* @todo Make it possible for s2Member to keep a count of files downloaded with an Advanced Download Key.
|
2121 |
* @todo Create a Shortcode equivalent.
|
2122 |
*/
|
2123 |
+
if(!function_exists("s2member_total_unique_downloads_of"))
|
2124 |
{
|
2125 |
+
function s2member_total_unique_downloads_of($file = FALSE, $user_id = FALSE, $check_archives_too = TRUE)
|
2126 |
{
|
2127 |
+
return c_ws_plugin__s2member_files::total_unique_downloads_of($file, $user_id, $check_archives_too);
|
2128 |
}
|
2129 |
}
|
2130 |
/**
|
2157 |
*
|
2158 |
* @see s2Member\API_Functions\get_user_field()
|
2159 |
*/
|
2160 |
+
if(!function_exists("s2member_registration_time"))
|
2161 |
{
|
2162 |
+
function s2member_registration_time($user_id = FALSE)
|
2163 |
{
|
2164 |
+
return c_ws_plugin__s2member_registration_times::registration_time($user_id);
|
2165 |
}
|
2166 |
}
|
2167 |
/**
|
2200 |
*
|
2201 |
* @see s2Member\API_Functions\get_user_field()
|
2202 |
*/
|
2203 |
+
if(!function_exists("s2member_paid_registration_time"))
|
2204 |
{
|
2205 |
+
function s2member_paid_registration_time($level = FALSE, $user_id = FALSE)
|
2206 |
{
|
2207 |
+
return c_ws_plugin__s2member_registration_times::paid_registration_time($level, $user_id);
|
2208 |
}
|
2209 |
}
|
2210 |
/**
|
2368 |
* @see http://codex.wordpress.org/Function_Reference/update_user_option update_user_option()
|
2369 |
* @see http://codex.wordpress.org/Function_Reference/wp_get_current_user wp_get_current_user()
|
2370 |
*/
|
2371 |
+
if(!function_exists("get_user_field"))
|
2372 |
{
|
2373 |
+
function get_user_field($field_id = FALSE, $user_id = FALSE)
|
2374 |
{
|
2375 |
+
return c_ws_plugin__s2member_utils_users::get_user_field($field_id, $user_id);
|
2376 |
}
|
2377 |
}
|
2378 |
/**
|
2415 |
* @see http://codex.wordpress.org/Function_Reference/update_user_option update_user_option()
|
2416 |
* @see http://codex.wordpress.org/Function_Reference/wp_get_current_user wp_get_current_user()
|
2417 |
*/
|
2418 |
+
if(!function_exists("get_s2member_custom_fields"))
|
2419 |
{
|
2420 |
+
function get_s2member_custom_fields($user_id = FALSE)
|
2421 |
{
|
2422 |
+
$fields = ($user_id) ? get_user_option("s2member_custom_fields", $user_id) : false;
|
2423 |
/**//**/
|
2424 |
+
foreach(json_decode($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_fields"], true) as $field)
|
2425 |
{
|
2426 |
+
if($user_id) /* Should we try to fill the User's value for this Custom Field? */
|
2427 |
+
$s2member_custom_fields[$field["id"]]["user_value"] = (isset($fields[$field["id"]])) ? $fields[$field["id"]] : false;
|
2428 |
$s2member_custom_fields[$field["id"]]["config"] = $field; /* Copy configuration into config element. */
|
2429 |
}
|
2430 |
/**/
|
2431 |
+
return (isset($s2member_custom_fields)) ? (array)$s2member_custom_fields : array();
|
2432 |
}
|
2433 |
}
|
2434 |
/**
|
2456 |
*
|
2457 |
* @todo Create a true Shortcode equivalent function.
|
2458 |
*/
|
2459 |
+
if(!function_exists("s2member_value_for_pp_inv"))
|
2460 |
{
|
2461 |
+
function s2member_value_for_pp_inv()
|
2462 |
{
|
2463 |
+
return uniqid()."~".$_SERVER["REMOTE_ADDR"];
|
2464 |
}
|
2465 |
}
|
2466 |
/**
|
2487 |
*
|
2488 |
* @todo Create a Shortcode equivalent for this function.
|
2489 |
*/
|
2490 |
+
if(!function_exists("s2member_shorten_url"))
|
2491 |
{
|
2492 |
+
function s2member_shorten_url($url = FALSE, $api_sp = FALSE, $try_backups = TRUE)
|
2493 |
{
|
2494 |
+
return c_ws_plugin__s2member_utils_urls::shorten($url, $api_sp, $try_backups);
|
2495 |
}
|
2496 |
}
|
2497 |
/**
|
2523 |
*
|
2524 |
* @todo Create a Shortcode equivalent for this function.
|
2525 |
*/
|
2526 |
+
if(!function_exists("s2member_encrypt"))
|
2527 |
{
|
2528 |
+
function s2member_encrypt($string = FALSE, $key = FALSE, $w_md5_cs = TRUE)
|
2529 |
{
|
2530 |
+
return c_ws_plugin__s2member_utils_encryption::encrypt($string, $key, $w_md5_cs);
|
2531 |
}
|
2532 |
}
|
2533 |
/**
|
2558 |
*
|
2559 |
* @todo Create a Shortcode equivalent for this function.
|
2560 |
*/
|
2561 |
+
if(!function_exists("s2member_decrypt"))
|
2562 |
{
|
2563 |
+
function s2member_decrypt($base64 = FALSE, $key = FALSE)
|
2564 |
{
|
2565 |
+
return c_ws_plugin__s2member_utils_encryption::decrypt($base64, $key);
|
2566 |
}
|
2567 |
}
|
2568 |
/**
|
2592 |
*
|
2593 |
* @todo Create a Shortcode equivalent for this function.
|
2594 |
*/
|
2595 |
+
if(!function_exists("s2member_xencrypt"))
|
2596 |
{
|
2597 |
+
function s2member_xencrypt($string = FALSE, $key = FALSE, $w_md5_cs = TRUE)
|
2598 |
{
|
2599 |
+
return c_ws_plugin__s2member_utils_encryption::xencrypt($string, $key, $w_md5_cs);
|
2600 |
}
|
2601 |
}
|
2602 |
/**
|
2625 |
*
|
2626 |
* @todo Create a Shortcode equivalent for this function.
|
2627 |
*/
|
2628 |
+
if(!function_exists("s2member_xdecrypt"))
|
2629 |
{
|
2630 |
+
function s2member_xdecrypt($base64 = FALSE, $key = FALSE)
|
2631 |
{
|
2632 |
+
return c_ws_plugin__s2member_utils_encryption::xdecrypt($base64, $key);
|
2633 |
+
}
|
2634 |
+
}
|
2635 |
+
/**
|
2636 |
+
* Gets login IPs for a particular username.
|
2637 |
+
*
|
2638 |
+
* ———— PHP Code Samples ————
|
2639 |
+
* ```
|
2640 |
+
* <!php print_r($ips = s2member_login_ips_for("johndoe22")); !>
|
2641 |
+
* ```
|
2642 |
+
* ———— Shortcode Equivalent ————
|
2643 |
+
* ```
|
2644 |
+
* There is NO Shortcode equivalent for this ( yet ).
|
2645 |
+
* ```
|
2646 |
+
*
|
2647 |
+
* @package s2Member\API_Functions
|
2648 |
+
* @since 120728
|
2649 |
+
*
|
2650 |
+
* @param str $username A username.
|
2651 |
+
* @return array An associative array of all IPs associated with a particular username, over the last 30 days.
|
2652 |
+
* Array keys are IP addresses; array values are UTC timestamps.
|
2653 |
+
*
|
2654 |
+
* @todo Create a Shortcode equivalent for this function.
|
2655 |
+
*/
|
2656 |
+
if(!function_exists("s2member_login_ips_for"))
|
2657 |
+
{
|
2658 |
+
function s2member_login_ips_for($username)
|
2659 |
+
{
|
2660 |
+
$ips = get_transient('s2m_ipr_'.md5('s2member_ip_restrictions_'.strtolower($username).'_entries'));
|
2661 |
+
return (is_array($ips)) ? $ips : array();
|
2662 |
}
|
2663 |
}
|
2664 |
?>
|
includes/menu-pages/gen-ops.inc.php
CHANGED
@@ -971,6 +971,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_gen_ops"))
|
|
971 |
echo '<p>Custom Fields will appear in your Standard Registration Form, and in User/Member Profiles:<br />( <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your Standard Registration Form.\\n* s2Member makes this form available to logged-in Administrators, at all times ( for testing purposes ), regardless of configuration.' . ((c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '\\n\\nBuddyPress: * BuddyPress will use its own Registration Form. Please note, you will probably be redirected away from the BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.' : '') . '\');">' . esc_html (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '</a> )</p>' . "\n";
|
972 |
echo (is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && is_main_site ()) ? '<p><em>The Main Site of a Multisite Blog Farm uses this Form. s2Member supports Custom Fields here too.<br />( <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your Multisite Registration Form.\\n* s2Member makes this form available to logged-in Super Administrators, at all times ( for testing purposes ), regardless of configuration.' . ((c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '\\n\\nBuddyPress: * BuddyPress will use its own Registration Form. Please note, you will probably be redirected away from the BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.' : '') . '\');">' . esc_html (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '</a> )</em></p>' . "\n" : '';
|
973 |
echo (c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '<p><em><strong>BuddyPress:</strong> BuddyPress will use its own Registration Form <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your BuddyPress Registration Form.\\n* However, you will probably be redirected away from this BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.\');">here</a>.<br />s2Member can integrate your Custom Fields with BuddyPress too, please see options below.</em></p>' . "\n" : '';
|
|
|
974 |
/**/
|
975 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_during_custom_reg_fields", get_defined_vars ());
|
976 |
/**/
|
971 |
echo '<p>Custom Fields will appear in your Standard Registration Form, and in User/Member Profiles:<br />( <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your Standard Registration Form.\\n* s2Member makes this form available to logged-in Administrators, at all times ( for testing purposes ), regardless of configuration.' . ((c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '\\n\\nBuddyPress: * BuddyPress will use its own Registration Form. Please note, you will probably be redirected away from the BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.' : '') . '\');">' . esc_html (c_ws_plugin__s2member_utils_urls::wp_register_url ()) . '</a> )</p>' . "\n";
|
972 |
echo (is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && is_main_site ()) ? '<p><em>The Main Site of a Multisite Blog Farm uses this Form. s2Member supports Custom Fields here too.<br />( <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your Multisite Registration Form.\\n* s2Member makes this form available to logged-in Super Administrators, at all times ( for testing purposes ), regardless of configuration.' . ((c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '\\n\\nBuddyPress: * BuddyPress will use its own Registration Form. Please note, you will probably be redirected away from the BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.' : '') . '\');">' . esc_html (c_ws_plugin__s2member_utils_urls::wp_signup_url ()) . '</a> )</em></p>' . "\n" : '';
|
973 |
echo (c_ws_plugin__s2member_utils_conds::bp_is_installed ()) ? '<p><em><strong>BuddyPress:</strong> BuddyPress will use its own Registration Form <a href="' . esc_attr (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . '" target="_blank" rel="external" onclick="alert(\'s2Member will now open your BuddyPress Registration Form.\\n* However, you will probably be redirected away from this BuddyPress Registration Form ( ' . c_ws_plugin__s2member_utils_strings::esc_js_sq (c_ws_plugin__s2member_utils_urls::bp_register_url ()) . ' ), because you\\\'re ALREADY logged-in. Please log out before testing BuddyPress registration.\');">here</a>.<br />s2Member can integrate your Custom Fields with BuddyPress too, please see options below.</em></p>' . "\n" : '';
|
974 |
+
echo '<p><strong>Regarding registration...</strong> Custom Fields do NOT appear during repeat registration and/or checkout attempts (e.g. they do NOT appear for any user that is currently logged into the site). Please make sure that you test registration and/or checkout forms while NOT logged in (e.g. please test as a first-time customer). Existing users/members/customers may update Custom Fields by editing their Profile.</p>' . "\n";
|
975 |
/**/
|
976 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_during_custom_reg_fields", get_defined_vars ());
|
977 |
/**/
|
includes/menu-pages/mms-ops.inc.php
CHANGED
@@ -56,7 +56,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_mms_ops"))
|
|
56 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-mms-patches-section">'."\n";
|
57 |
echo '<img src="'.esc_attr($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]).'/images/small-icon.png" title="s2Member ( a Membership management system for WordPress® )" alt="" style="float:right; margin:0 0 0 25px; border:0;" />'."\n";
|
58 |
echo '<h3>Multisite WordPress® Patches ( required for compatiblity )</h3>'."\n";
|
59 |
-
echo '<p>In order for s2Member to function properly in a Multisite environment, you MUST implement four patches. One goes into your <code>/wp-login.php</code> file, one into <code>/wp-includes/load.php</code>, one into <code>/wp-includes/ms-functions.php</code>, and another into <code>/wp-admin/user-new.php</code>.
|
60 |
do_action("ws_plugin__s2member_during_mms_ops_page_during_left_sections_during_mms_patches", get_defined_vars());
|
61 |
/**/
|
62 |
echo '<table class="form-table">'."\n";
|
56 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-mms-patches-section">'."\n";
|
57 |
echo '<img src="'.esc_attr($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["dir_url"]).'/images/small-icon.png" title="s2Member ( a Membership management system for WordPress® )" alt="" style="float:right; margin:0 0 0 25px; border:0;" />'."\n";
|
58 |
echo '<h3>Multisite WordPress® Patches ( required for compatiblity )</h3>'."\n";
|
59 |
+
echo '<p>In order for s2Member to function properly in a Multisite environment, you MUST implement four patches. One goes into your <code>/wp-login.php</code> file, one into <code>/wp-includes/load.php</code>, one into <code>/wp-includes/ms-functions.php</code>, and another into <code>/wp-admin/user-new.php</code>. Please use the automatic patcher below. All you do is check the box & click Save.</p>'."\n";
|
60 |
do_action("ws_plugin__s2member_during_mms_ops_page_during_left_sections_during_mms_patches", get_defined_vars());
|
61 |
/**/
|
62 |
echo '<table class="form-table">'."\n";
|
includes/translations/s2member.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the s2Member® Framework package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: s2Member® Framework
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/___s2member\n"
|
7 |
-
"POT-Creation-Date: 2012-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -666,24 +666,24 @@ msgid "Error #%1$s. %2$s. %3$s."
|
|
666 |
msgstr ""
|
667 |
|
668 |
#: s2member/includes/classes/paypal-utilities.inc.php:189
|
669 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
670 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
671 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
672 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
673 |
msgctxt "s2member-front"
|
674 |
msgid "Error. Please contact Support for assistance."
|
675 |
msgstr ""
|
676 |
|
677 |
#: s2member/includes/classes/paypal-utilities.inc.php:230
|
678 |
#: s2member/includes/classes/paypal-utilities.inc.php:236
|
679 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
680 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
681 |
msgctxt "s2member-front"
|
682 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
683 |
msgstr ""
|
684 |
|
685 |
#: s2member/includes/classes/paypal-utilities.inc.php:233
|
686 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
687 |
msgctxt "s2member-front"
|
688 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
689 |
msgstr ""
|
@@ -704,9 +704,9 @@ msgstr ""
|
|
704 |
#. `ws_plugin__s2member_pro_authnet_arb_response`.
|
705 |
|
706 |
#: s2member/includes/classes/paypal-utilities.inc.php:287
|
707 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
708 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
709 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
710 |
msgctxt "s2member-front"
|
711 |
msgid "Error #%1$s. %2$s."
|
712 |
msgstr ""
|
@@ -889,32 +889,32 @@ msgctxt "s2member-front"
|
|
889 |
msgid "( for this site )"
|
890 |
msgstr ""
|
891 |
|
892 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
893 |
msgctxt "s2member-front"
|
894 |
msgid "Strength indicator"
|
895 |
msgstr ""
|
896 |
|
897 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
898 |
msgctxt "s2member-front"
|
899 |
msgid "Very weak"
|
900 |
msgstr ""
|
901 |
|
902 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
903 |
msgctxt "s2member-front"
|
904 |
msgid "Weak"
|
905 |
msgstr ""
|
906 |
|
907 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
908 |
msgctxt "s2member-front"
|
909 |
msgid "Medium"
|
910 |
msgstr ""
|
911 |
|
912 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
913 |
msgctxt "s2member-front"
|
914 |
msgid "Strong"
|
915 |
msgstr ""
|
916 |
|
917 |
-
#: s2member/includes/classes/utils-html.inc.php:
|
918 |
msgctxt "s2member-front"
|
919 |
msgid "Mismatch"
|
920 |
msgstr ""
|
@@ -2464,24 +2464,24 @@ msgstr ""
|
|
2464 |
|
2465 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:248
|
2466 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:580
|
2467 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2468 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2469 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2470 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2471 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2472 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2473 |
msgctxt "s2member-front"
|
2474 |
msgid "<strong>Thank you.</strong> Your account has been updated.<br />— Please <a href=\"%s\" rel=\"nofollow\">log back in</a> now."
|
2475 |
msgstr ""
|
2476 |
|
2477 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:447
|
2478 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:696
|
2479 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2480 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2481 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2482 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2483 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2484 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2485 |
msgctxt "s2member-front"
|
2486 |
msgid "<strong>Thank you.</strong> Your account has been approved.<br />— Please <a href=\"%s\" rel=\"nofollow\">login</a>."
|
2487 |
msgstr ""
|
@@ -2492,18 +2492,18 @@ msgstr ""
|
|
2492 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:726
|
2493 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:124
|
2494 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:141
|
2495 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2496 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2497 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2498 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2499 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2500 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2501 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2502 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2503 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2504 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2505 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2506 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2507 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-registration-in.inc.php:124
|
2508 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-registration-in.inc.php:141
|
2509 |
msgctxt "s2member-front"
|
@@ -2512,20 +2512,20 @@ msgstr ""
|
|
2512 |
|
2513 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:471
|
2514 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:717
|
2515 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2516 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2517 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2518 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2519 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2520 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2521 |
msgctxt "s2member-front"
|
2522 |
msgid "<strong>Thank you.</strong> Your account has been approved.<br />— You'll receive an email momentarily."
|
2523 |
msgstr ""
|
2524 |
|
2525 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:737
|
2526 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2527 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
2528 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
2529 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-pf-in.inc.php:138
|
2530 |
msgctxt "s2member-front"
|
2531 |
msgid "<strong>Unknown error.</strong> Please contact Support for assistance."
|
@@ -3326,13 +3326,13 @@ msgid "Unknown form submission type. Please contact Support."
|
|
3326 |
msgstr ""
|
3327 |
|
3328 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php:163
|
3329 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php:
|
3330 |
msgctxt "s2member-front"
|
3331 |
msgid "<strong>Thank you.</strong> Your purchase has been approved.<br />— Please <a href=\"%s\" rel=\"nofollow\">click here</a> to proceed."
|
3332 |
msgstr ""
|
3333 |
|
3334 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php:170
|
3335 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php:
|
3336 |
msgctxt "s2member-front"
|
3337 |
msgid "<strong>Oops.</strong> Unable to generate Access Link. Please contact Support for assistance."
|
3338 |
msgstr ""
|
@@ -3357,26 +3357,26 @@ msgctxt "s2member-front"
|
|
3357 |
msgid "<strong>Oops.</strong> No Subscr. ID. Please contact Support for assistance."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3361 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3362 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:271
|
3363 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:414
|
3364 |
msgctxt "s2member-front percentage-symbol"
|
3365 |
msgid "%"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3369 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:413
|
3370 |
msgctxt "s2member-front"
|
3371 |
msgid " + tax"
|
3372 |
msgstr ""
|
3373 |
|
3374 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3375 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3376 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3377 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3378 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3379 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3380 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:458
|
3381 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:510
|
3382 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:523
|
@@ -3387,12 +3387,12 @@ msgctxt "s2member-front"
|
|
3387 |
msgid "COUPON %s off. ( Now: %s )"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3391 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3392 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3393 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3394 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3395 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3396 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:459
|
3397 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:511
|
3398 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:524
|
@@ -3403,12 +3403,12 @@ msgctxt "s2member-front"
|
|
3403 |
msgid "<div>Coupon: <strong>%s off</strong>. ( Now: <strong>%s</strong> )</div>"
|
3404 |
msgstr ""
|
3405 |
|
3406 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3407 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3408 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3409 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3410 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3411 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3412 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:471
|
3413 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:484
|
3414 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:497
|
@@ -3419,12 +3419,12 @@ msgctxt "s2member-front"
|
|
3419 |
msgid "COUPON %s off. ( Now: %s, then %s )"
|
3420 |
msgstr ""
|
3421 |
|
3422 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3423 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3424 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3425 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3426 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3427 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3428 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:472
|
3429 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:485
|
3430 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:498
|
@@ -3435,27 +3435,27 @@ msgctxt "s2member-front"
|
|
3435 |
msgid "<div>Coupon: <strong>%s off</strong>. ( Now: <strong>%s, then %s</strong> )</div>"
|
3436 |
msgstr ""
|
3437 |
|
3438 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3439 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3440 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:528
|
3441 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:625
|
3442 |
msgctxt "s2member-front"
|
3443 |
msgid "<div>Sorry, your Coupon is not applicable.</div>"
|
3444 |
msgstr ""
|
3445 |
|
3446 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3447 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:629
|
3448 |
msgctxt "s2member-front"
|
3449 |
msgid "<div>Coupon: <strong>%s0.00 off</strong>.</div>"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3453 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:633
|
3454 |
msgctxt "s2member-front"
|
3455 |
msgid "<div>Sorry, your Coupon cannot be applied to this particular purchase.</div>"
|
3456 |
msgstr ""
|
3457 |
|
3458 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3459 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:637
|
3460 |
msgctxt "s2member-front"
|
3461 |
msgid "<div>Sorry, your Coupon <strong>expired</strong>: <em>%s</em>.</div>"
|
@@ -3464,14 +3464,14 @@ msgstr ""
|
|
3464 |
#. translators: `%1$s` is new price/description, after coupon applied. `%2$s`
|
3465 |
#. is original description.
|
3466 |
|
3467 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3468 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:643
|
3469 |
msgctxt "s2member-front"
|
3470 |
msgid "%1$s ~ ORIGINALLY: %2$s"
|
3471 |
msgstr ""
|
3472 |
|
3473 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3474 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3475 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:671
|
3476 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:675
|
3477 |
msgctxt "s2member-front"
|
@@ -3593,12 +3593,12 @@ msgctxt "s2member-front"
|
|
3593 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal®</a> to cancel your Subscription."
|
3594 |
msgstr ""
|
3595 |
|
3596 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
3597 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
3598 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
3599 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:
|
3600 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
3601 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:
|
3602 |
msgctxt "s2member-front"
|
3603 |
msgid "<strong>Sorry.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3604 |
msgstr ""
|
2 |
# This file is distributed under the same license as the s2Member® Framework package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: s2Member® Framework 120703\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/___s2member\n"
|
7 |
+
"POT-Creation-Date: 2012-10-24 02:10:21+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
666 |
msgstr ""
|
667 |
|
668 |
#: s2member/includes/classes/paypal-utilities.inc.php:189
|
669 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:290
|
670 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:299
|
671 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:97
|
672 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:319
|
673 |
msgctxt "s2member-front"
|
674 |
msgid "Error. Please contact Support for assistance."
|
675 |
msgstr ""
|
676 |
|
677 |
#: s2member/includes/classes/paypal-utilities.inc.php:230
|
678 |
#: s2member/includes/classes/paypal-utilities.inc.php:236
|
679 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:340
|
680 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:346
|
681 |
msgctxt "s2member-front"
|
682 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
683 |
msgstr ""
|
684 |
|
685 |
#: s2member/includes/classes/paypal-utilities.inc.php:233
|
686 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:343
|
687 |
msgctxt "s2member-front"
|
688 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
689 |
msgstr ""
|
704 |
#. `ws_plugin__s2member_pro_authnet_arb_response`.
|
705 |
|
706 |
#: s2member/includes/classes/paypal-utilities.inc.php:287
|
707 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:296
|
708 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:94
|
709 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:316
|
710 |
msgctxt "s2member-front"
|
711 |
msgid "Error #%1$s. %2$s."
|
712 |
msgstr ""
|
889 |
msgid "( for this site )"
|
890 |
msgstr ""
|
891 |
|
892 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
893 |
msgctxt "s2member-front"
|
894 |
msgid "Strength indicator"
|
895 |
msgstr ""
|
896 |
|
897 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
898 |
msgctxt "s2member-front"
|
899 |
msgid "Very weak"
|
900 |
msgstr ""
|
901 |
|
902 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
903 |
msgctxt "s2member-front"
|
904 |
msgid "Weak"
|
905 |
msgstr ""
|
906 |
|
907 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
908 |
msgctxt "s2member-front"
|
909 |
msgid "Medium"
|
910 |
msgstr ""
|
911 |
|
912 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
913 |
msgctxt "s2member-front"
|
914 |
msgid "Strong"
|
915 |
msgstr ""
|
916 |
|
917 |
+
#: s2member/includes/classes/utils-html.inc.php:59
|
918 |
msgctxt "s2member-front"
|
919 |
msgid "Mismatch"
|
920 |
msgstr ""
|
2464 |
|
2465 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:248
|
2466 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:580
|
2467 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:294
|
2468 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:617
|
2469 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:337
|
2470 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:669
|
2471 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:425
|
2472 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:853
|
2473 |
msgctxt "s2member-front"
|
2474 |
msgid "<strong>Thank you.</strong> Your account has been updated.<br />— Please <a href=\"%s\" rel=\"nofollow\">log back in</a> now."
|
2475 |
msgstr ""
|
2476 |
|
2477 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:447
|
2478 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:696
|
2479 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:456
|
2480 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:769
|
2481 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:508
|
2482 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:821
|
2483 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:687
|
2484 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1005
|
2485 |
msgctxt "s2member-front"
|
2486 |
msgid "<strong>Thank you.</strong> Your account has been approved.<br />— Please <a href=\"%s\" rel=\"nofollow\">login</a>."
|
2487 |
msgstr ""
|
2492 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:726
|
2493 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:124
|
2494 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:141
|
2495 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:465
|
2496 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:486
|
2497 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:778
|
2498 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:799
|
2499 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:517
|
2500 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:538
|
2501 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:830
|
2502 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:851
|
2503 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:696
|
2504 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:717
|
2505 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1014
|
2506 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1035
|
2507 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-registration-in.inc.php:124
|
2508 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-registration-in.inc.php:141
|
2509 |
msgctxt "s2member-front"
|
2512 |
|
2513 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:471
|
2514 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:717
|
2515 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:477
|
2516 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:790
|
2517 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:529
|
2518 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:842
|
2519 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:708
|
2520 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1026
|
2521 |
msgctxt "s2member-front"
|
2522 |
msgid "<strong>Thank you.</strong> Your account has been approved.<br />— You'll receive an email momentarily."
|
2523 |
msgstr ""
|
2524 |
|
2525 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:737
|
2526 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:810
|
2527 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:862
|
2528 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1046
|
2529 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-pf-in.inc.php:138
|
2530 |
msgctxt "s2member-front"
|
2531 |
msgid "<strong>Unknown error.</strong> Please contact Support for assistance."
|
3326 |
msgstr ""
|
3327 |
|
3328 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php:163
|
3329 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php:280
|
3330 |
msgctxt "s2member-front"
|
3331 |
msgid "<strong>Thank you.</strong> Your purchase has been approved.<br />— Please <a href=\"%s\" rel=\"nofollow\">click here</a> to proceed."
|
3332 |
msgstr ""
|
3333 |
|
3334 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-sp-checkout-in.inc.php:170
|
3335 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-sp-checkout-in.inc.php:287
|
3336 |
msgctxt "s2member-front"
|
3337 |
msgid "<strong>Oops.</strong> Unable to generate Access Link. Please contact Support for assistance."
|
3338 |
msgstr ""
|
3357 |
msgid "<strong>Oops.</strong> No Subscr. ID. Please contact Support for assistance."
|
3358 |
msgstr ""
|
3359 |
|
3360 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:652
|
3361 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:795
|
3362 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:271
|
3363 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:414
|
3364 |
msgctxt "s2member-front percentage-symbol"
|
3365 |
msgid "%"
|
3366 |
msgstr ""
|
3367 |
|
3368 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:794
|
3369 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:413
|
3370 |
msgctxt "s2member-front"
|
3371 |
msgid " + tax"
|
3372 |
msgstr ""
|
3373 |
|
3374 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:839
|
3375 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:891
|
3376 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:904
|
3377 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:926
|
3378 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:986
|
3379 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1001
|
3380 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:458
|
3381 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:510
|
3382 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:523
|
3387 |
msgid "COUPON %s off. ( Now: %s )"
|
3388 |
msgstr ""
|
3389 |
|
3390 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:840
|
3391 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:892
|
3392 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:905
|
3393 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:927
|
3394 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:987
|
3395 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1002
|
3396 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:459
|
3397 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:511
|
3398 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:524
|
3403 |
msgid "<div>Coupon: <strong>%s off</strong>. ( Now: <strong>%s</strong> )</div>"
|
3404 |
msgstr ""
|
3405 |
|
3406 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:852
|
3407 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:865
|
3408 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:878
|
3409 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:941
|
3410 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:956
|
3411 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:971
|
3412 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:471
|
3413 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:484
|
3414 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:497
|
3419 |
msgid "COUPON %s off. ( Now: %s, then %s )"
|
3420 |
msgstr ""
|
3421 |
|
3422 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:853
|
3423 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:866
|
3424 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:879
|
3425 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:942
|
3426 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:957
|
3427 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:972
|
3428 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:472
|
3429 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:485
|
3430 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:498
|
3435 |
msgid "<div>Coupon: <strong>%s off</strong>. ( Now: <strong>%s, then %s</strong> )</div>"
|
3436 |
msgstr ""
|
3437 |
|
3438 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:909
|
3439 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1006
|
3440 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:528
|
3441 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:625
|
3442 |
msgctxt "s2member-front"
|
3443 |
msgid "<div>Sorry, your Coupon is not applicable.</div>"
|
3444 |
msgstr ""
|
3445 |
|
3446 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1010
|
3447 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:629
|
3448 |
msgctxt "s2member-front"
|
3449 |
msgid "<div>Coupon: <strong>%s0.00 off</strong>.</div>"
|
3450 |
msgstr ""
|
3451 |
|
3452 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1014
|
3453 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:633
|
3454 |
msgctxt "s2member-front"
|
3455 |
msgid "<div>Sorry, your Coupon cannot be applied to this particular purchase.</div>"
|
3456 |
msgstr ""
|
3457 |
|
3458 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1018
|
3459 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:637
|
3460 |
msgctxt "s2member-front"
|
3461 |
msgid "<div>Sorry, your Coupon <strong>expired</strong>: <em>%s</em>.</div>"
|
3464 |
#. translators: `%1$s` is new price/description, after coupon applied. `%2$s`
|
3465 |
#. is original description.
|
3466 |
|
3467 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1024
|
3468 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:643
|
3469 |
msgctxt "s2member-front"
|
3470 |
msgid "%1$s ~ ORIGINALLY: %2$s"
|
3471 |
msgstr ""
|
3472 |
|
3473 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1052
|
3474 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1056
|
3475 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:671
|
3476 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:675
|
3477 |
msgctxt "s2member-front"
|
3593 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal®</a> to cancel your Subscription."
|
3594 |
msgstr ""
|
3595 |
|
3596 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:306
|
3597 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:629
|
3598 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:349
|
3599 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:681
|
3600 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:442
|
3601 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:865
|
3602 |
msgctxt "s2member-front"
|
3603 |
msgid "<strong>Sorry.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3604 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== s2Member® Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
-
Version:
|
4 |
-
Stable tag:
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
@@ -16,7 +16,7 @@ Authorize.Net® Compatible: yes w/s2Member® Pro
|
|
16 |
Google® Checkout Compatible: yes w/s2Member® Pro
|
17 |
ClickBank® Compatible: yes w/s2Member® Pro
|
18 |
|
19 |
-
Tested up to: 3.4
|
20 |
Requires at least: 3.2
|
21 |
|
22 |
Copyright: © 2009 WebSharks, Inc.
|
@@ -91,11 +91,22 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
91 |
|
92 |
== Upgrade Notice ==
|
93 |
|
94 |
-
=
|
95 |
Maintenance release. Upgrade immediately.
|
96 |
|
97 |
== Changelog ==
|
98 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
99 |
= v120703 =
|
100 |
* **(Maintenance Release) Upgrade immediately.**
|
101 |
* (s2Member/s2Member Pro) **Payflow® Express Checkout**. An issue related to Express Checkout (when using the Payflow® API), has been corrected in this release. A bug in previous releases, was causing error messages under certain circumstances that read `Field format error: Invalid PayerID`.
|
1 |
=== s2Member® Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 121023
|
4 |
+
Stable tag: 121023
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
16 |
Google® Checkout Compatible: yes w/s2Member® Pro
|
17 |
ClickBank® Compatible: yes w/s2Member® Pro
|
18 |
|
19 |
+
Tested up to: 3.4.2
|
20 |
Requires at least: 3.2
|
21 |
|
22 |
Copyright: © 2009 WebSharks, Inc.
|
91 |
|
92 |
== Upgrade Notice ==
|
93 |
|
94 |
+
= v121023 =
|
95 |
Maintenance release. Upgrade immediately.
|
96 |
|
97 |
== Changelog ==
|
98 |
|
99 |
+
= v121023 =
|
100 |
+
* **(Maintenance Release) Upgrade immediately.**
|
101 |
+
* (s2Member / s2Member Pro) **Bug Fix**. A bug related to s2Member's `is_site_root()` method, when fancy permalinks are NOT in use; has been corrected for compatibility with the latest version of WordPress. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
102 |
+
* (s2Member Pro) **Import/Export Bug Fix**. An issue related to RFC guidelines for escape sequences in CSV files has been addressed in this release. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
103 |
+
* (s2Member Pro) **ccBill® DataLink Integration**. DataLink integration with ccBill® was updated for improved compatibility across multiple ccBill® sub-accounts.
|
104 |
+
* (s2Member Pro) **ccBill® DataLink Integration**. DataLink integration with ccBill® was updated for improved compatibility w/ ccBill® servers running on MST timezone.
|
105 |
+
* (s2Member/s2Member Pro) **API Function**. A new API Function was added. See: ``s2member_login_ips_for($username)``. Please check the [s2Member® Codex](http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/) for documentation. [This thread](http://www.s2member.com/forums/topic/s2member-restriction-options-unique-ip/#post-20562) may also be of some assistance.
|
106 |
+
* (s2Member/s2Member Pro) **404 Error (Bug Fix)**. A former dependency on `l10n.js` from the WordPress® core is no longer necessary. This old dependency has been removed to prevent 404 errors in the latest versions of WordPress®. Please check [this thread](http://www.s2member.com/forums/topic/wordpress-i10n-file-404-from-s2member/#post-20567) for further details.
|
107 |
+
* (s2Member Pro) **reCAPTCHA® Bug Fix**. A bug sometimes causing failed reCAPTCHA® responses after PayPal® Express Checkout has been corrected in this release. This occurred during certain scenarios, whenever reCAPTCHA® was enabled for checkout forms, and PayPal Express Checkout was selected as the payment method of choice.
|
108 |
+
* (s2Member Pro) **ccBill® DataLink Integration**. DataLink integration with ccBill® was modified to prevent dates in the future from being requested from the DataLink API. ccBill® was responding to some DataLink requests with a failed authentication, which were caused by dates/times in the future; according to MST on the ccBill® side of things.
|
109 |
+
|
110 |
= v120703 =
|
111 |
* **(Maintenance Release) Upgrade immediately.**
|
112 |
* (s2Member/s2Member Pro) **Payflow® Express Checkout**. An issue related to Express Checkout (when using the Payflow® API), has been corrected in this release. A bug in previous releases, was causing error messages under certain circumstances that read `Field format error: Invalid PayerID`.
|
s2member.php
CHANGED
@@ -19,8 +19,8 @@
|
|
19 |
*/
|
20 |
/* -- This section for WordPress® parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
-
Version:
|
23 |
-
Stable tag:
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress® Compatible: yes
|
@@ -35,7 +35,7 @@ Authorize.Net® Compatible: yes w/s2Member® Pro
|
|
35 |
Google® Checkout Compatible: yes w/s2Member® Pro
|
36 |
ClickBank® Compatible: yes w/s2Member® Pro
|
37 |
|
38 |
-
Tested up to: 3.4
|
39 |
Requires at least: 3.2
|
40 |
|
41 |
Copyright: © 2009 WebSharks, Inc.
|
@@ -75,7 +75,7 @@ if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
-
define("WS_PLUGIN__S2MEMBER_VERSION", "
|
79 |
/**
|
80 |
* Minimum PHP version required to run s2Member.
|
81 |
*
|
@@ -105,7 +105,7 @@ if(!defined("WS_PLUGIN__S2MEMBER_MIN_WP_VERSION"))
|
|
105 |
* @var str
|
106 |
*/
|
107 |
if(!defined("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION"))
|
108 |
-
define("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION", "
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|
19 |
*/
|
20 |
/* -- This section for WordPress® parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
+
Version: 121023
|
23 |
+
Stable tag: 121023
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress® Compatible: yes
|
35 |
Google® Checkout Compatible: yes w/s2Member® Pro
|
36 |
ClickBank® Compatible: yes w/s2Member® Pro
|
37 |
|
38 |
+
Tested up to: 3.4.2
|
39 |
Requires at least: 3.2
|
40 |
|
41 |
Copyright: © 2009 WebSharks, Inc.
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
+
define("WS_PLUGIN__S2MEMBER_VERSION", "121023" /* !#distro-version#! */);
|
79 |
/**
|
80 |
* Minimum PHP version required to run s2Member.
|
81 |
*
|
105 |
* @var str
|
106 |
*/
|
107 |
if(!defined("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION"))
|
108 |
+
define("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION", "121023" /* !#distro-version#! */);
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|