Version Description
= v130404 = (Maintenance Release) Upgrade immediately.
Download this release
Release Info
Developer | WebSharks |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 130404 |
Comparing to | |
See all releases |
Code changes from version 130221 to 130404
- checksum.txt +1 -1
- includes/classes/files-in.inc.php +4 -0
- includes/classes/installation.inc.php +13 -2
- includes/classes/list-servers.inc.php +17 -5
- includes/classes/menu-pages.inc.php +1 -1
- includes/classes/paypal-notify-in.inc.php +5 -7
- includes/classes/paypal-return-in.inc.php +5 -4
- includes/classes/paypal-utilities.inc.php +8 -2
- includes/classes/registrations.inc.php +4 -1
- includes/classes/roles-caps.inc.php +11 -10
- includes/classes/s-badge-status-in.inc.php +9 -6
- includes/classes/sc-files-in.inc.php +5 -5
- includes/classes/users-list.inc.php +1 -0
- includes/classes/utils-logs.inc.php +38 -2
- includes/menu-pages/els-ops.inc.php +18 -1
- includes/menu-pages/logs.inc.php +10 -5
- includes/menu-pages/paypal-buttons.inc.php +1 -1
- includes/menu-pages/paypal-ops.inc.php +10 -0
- includes/syscon.inc.php +6 -4
- includes/templates/players/jwplayer-v6-rtmp-only.php +2 -2
- includes/templates/players/jwplayer-v6-rtmp.php +2 -2
- includes/templates/players/jwplayer-v6.php +2 -2
- includes/translations/s2member.pot +153 -145
- readme.txt +18 -7
- s2member.php +4 -4
checksum.txt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
dd95a97ddfcfe1a0a334d9d9a42a522c
|
includes/classes/files-in.inc.php
CHANGED
@@ -326,6 +326,7 @@ if(!class_exists("c_ws_plugin__s2member_files_in"))
|
|
326 |
$_url_e_key = ($key) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($key)) : "";
|
327 |
$_url_e_storage = ($storage) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($storage)) : "";
|
328 |
$_url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($req["file_download"]));
|
|
|
329 |
|
330 |
$url = ($rewrite_base) ? rtrim($rewrite_base, "/") : rtrim($rewrite_base_guess, "/");
|
331 |
$url .= (isset($req["file_download_key"])) ? (($key && $_url_e_key) ? "/s2member-file-download-key-".$_url_e_key : "") : "";
|
@@ -346,6 +347,7 @@ if(!class_exists("c_ws_plugin__s2member_files_in"))
|
|
346 |
$_url_e_key = ($key) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($key)) : "";
|
347 |
$_url_e_storage = ($storage) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($storage)) : "";
|
348 |
$_url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($req["file_download"]));
|
|
|
349 |
|
350 |
$url = (isset($req["file_download_key"])) ? (($key && $_url_e_key) ? "&s2member_file_download_key=".$_url_e_key : "") : "";
|
351 |
$url .= (isset($req["file_stream"])) ? (($stream) ? "&s2member_file_stream=yes" : "&s2member_file_stream=no") : "";
|
@@ -658,6 +660,7 @@ if(!class_exists("c_ws_plugin__s2member_files_in"))
|
|
658 |
{
|
659 |
$file = /* Trim / force string. */ trim((string)$file, "/");
|
660 |
$url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($file));
|
|
|
661 |
|
662 |
foreach($GLOBALS["WS_PLUGIN__"]["s2member"]["o"] as $option => $option_value)
|
663 |
if(preg_match("/^amazon_s3_files_/", $option) && ($option = preg_replace("/^amazon_s3_files_/", "", $option)))
|
@@ -807,6 +810,7 @@ if(!class_exists("c_ws_plugin__s2member_files_in"))
|
|
807 |
{
|
808 |
$file = /* Trim & force string. */ trim((string)$file, "/");
|
809 |
$url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($file));
|
|
|
810 |
|
811 |
foreach($GLOBALS["WS_PLUGIN__"]["s2member"]["o"] as $option => $option_value)
|
812 |
if(preg_match("/^amazon_cf_files_/", $option) && ($option = preg_replace("/^amazon_cf_files_/", "", $option)))
|
326 |
$_url_e_key = ($key) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($key)) : "";
|
327 |
$_url_e_storage = ($storage) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($storage)) : "";
|
328 |
$_url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($req["file_download"]));
|
329 |
+
$_url_e_file = str_ireplace("%2F", "/", $_url_e_file);
|
330 |
|
331 |
$url = ($rewrite_base) ? rtrim($rewrite_base, "/") : rtrim($rewrite_base_guess, "/");
|
332 |
$url .= (isset($req["file_download_key"])) ? (($key && $_url_e_key) ? "/s2member-file-download-key-".$_url_e_key : "") : "";
|
347 |
$_url_e_key = ($key) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($key)) : "";
|
348 |
$_url_e_storage = ($storage) ? c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($storage)) : "";
|
349 |
$_url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($req["file_download"]));
|
350 |
+
$_url_e_file = str_ireplace("%2F", "/", $_url_e_file);
|
351 |
|
352 |
$url = (isset($req["file_download_key"])) ? (($key && $_url_e_key) ? "&s2member_file_download_key=".$_url_e_key : "") : "";
|
353 |
$url .= (isset($req["file_stream"])) ? (($stream) ? "&s2member_file_stream=yes" : "&s2member_file_stream=no") : "";
|
660 |
{
|
661 |
$file = /* Trim / force string. */ trim((string)$file, "/");
|
662 |
$url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($file));
|
663 |
+
$url_e_file = str_ireplace("%2F", "/", $url_e_file);
|
664 |
|
665 |
foreach($GLOBALS["WS_PLUGIN__"]["s2member"]["o"] as $option => $option_value)
|
666 |
if(preg_match("/^amazon_s3_files_/", $option) && ($option = preg_replace("/^amazon_s3_files_/", "", $option)))
|
810 |
{
|
811 |
$file = /* Trim & force string. */ trim((string)$file, "/");
|
812 |
$url_e_file = c_ws_plugin__s2member_utils_strings::urldecode_ur_chars_deep(urlencode($file));
|
813 |
+
$url_e_file = str_ireplace("%2F", "/", $url_e_file);
|
814 |
|
815 |
foreach($GLOBALS["WS_PLUGIN__"]["s2member"]["o"] as $option => $option_value)
|
816 |
if(preg_match("/^amazon_cf_files_/", $option) && ($option = preg_replace("/^amazon_cf_files_/", "", $option)))
|
includes/classes/installation.inc.php
CHANGED
@@ -94,10 +94,21 @@ if(!class_exists("c_ws_plugin__s2member_installation"))
|
|
94 |
if(!$v || !version_compare($v, "110912", ">=") && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["filter_wp_query"] === array("all"))
|
95 |
// s2Member v110912 changed the way the "all" option for Alternative Views was handled.
|
96 |
{
|
97 |
-
$notice = '<strong>IMPORTANT:</strong> This version of s2Member® changes the way your <code>Alternative View Protections</code> work. Please review your options under: <code>s2Member -› Restriction Options -› Alternative View Protections</code
|
98 |
c_ws_plugin__s2member_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--s2member-start", "blog|network:ws-plugin--s2member-mms-ops", "blog|network:ws-plugin--s2member-gen-ops", "blog|network:ws-plugin--s2member-res-ops"));
|
99 |
}
|
100 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
101 |
$notice = '<strong>s2Member</strong> has been <strong>reactivated</strong>, with '.(($reactivation_reason === "levels") ? '<code>'.esc_html($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]).'</code> Membership Levels' : 'the latest version').'.<br />';
|
102 |
$notice .= 'You now have version '.esc_html(WS_PLUGIN__S2MEMBER_VERSION).'. Your existing configuration remains.';
|
103 |
|
94 |
if(!$v || !version_compare($v, "110912", ">=") && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["filter_wp_query"] === array("all"))
|
95 |
// s2Member v110912 changed the way the "all" option for Alternative Views was handled.
|
96 |
{
|
97 |
+
$notice = '<strong>IMPORTANT:</strong> This version of s2Member® changes the way your <code>Alternative View Protections</code> work. Please review your options under: <code>s2Member -› Restriction Options -› Alternative View Protections</code>.';
|
98 |
c_ws_plugin__s2member_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--s2member-start", "blog|network:ws-plugin--s2member-mms-ops", "blog|network:ws-plugin--s2member-gen-ops", "blog|network:ws-plugin--s2member-res-ops"));
|
99 |
}
|
100 |
+
|
101 |
+
if($v && version_compare($v, "130316", "<=")) // This version disables logging by default.
|
102 |
+
{
|
103 |
+
c_ws_plugin__s2member_menu_pages::update_all_options(array("ws_plugin__s2member_gateway_debug_logs" => "0", "ws_plugin__s2member_gateway_debug_logs_extensive" => "0"), true, false, false, false, false);
|
104 |
+
|
105 |
+
$notice = '<strong>IMPORTANT:</strong> This version of s2Member® disables s2Member\'s debug logging by default (for added security). Please see: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">s2Member® -› Log Files (Debug) -› Configuration</a> for further details.';
|
106 |
+
c_ws_plugin__s2member_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--s2member-start", "blog|network:ws-plugin--s2member-mms-ops", "blog|network:ws-plugin--s2member-gen-ops", "blog|network:ws-plugin--s2member-res-ops"));
|
107 |
+
|
108 |
+
$notice = '<strong>IMPORTANT / Regarding s2Member® Security Badges:</strong> If debug logging is enabled, your site will no longer qualify for an s2Member® Security Badge until you disable logging (and you MUST also download, and then delete any existing log files from the past). Please see KB Article: <a href="http://www.s2member.com/kb/security-badges/" target="_blank" rel="external">s2Member® Security Badges</a> for further details. If you have existing s2Member® log files, you will need to delete those files from the server before your s2Member® Security Badge can be re-enabled. s2Member® stores log files here: <code>'.esc_html(c_ws_plugin__s2member_utils_dirs::doc_root_path($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"])).'</code>. See also: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">s2Member® -› Log Files (Debug) -› Configuration</a> for further details.';
|
109 |
+
c_ws_plugin__s2member_admin_notices::enqueue_admin_notice($notice, array("blog|network:plugins.php", "blog|network:ws-plugin--s2member-start", "blog|network:ws-plugin--s2member-mms-ops", "blog|network:ws-plugin--s2member-gen-ops", "blog|network:ws-plugin--s2member-res-ops"));
|
110 |
+
}
|
111 |
+
|
112 |
$notice = '<strong>s2Member</strong> has been <strong>reactivated</strong>, with '.(($reactivation_reason === "levels") ? '<code>'.esc_html($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]).'</code> Membership Levels' : 'the latest version').'.<br />';
|
113 |
$notice .= 'You now have version '.esc_html(WS_PLUGIN__S2MEMBER_VERSION).'. Your existing configuration remains.';
|
114 |
|
includes/classes/list-servers.inc.php
CHANGED
@@ -135,7 +135,10 @@ if (!class_exists ("c_ws_plugin__s2member_list_servers"))
|
|
135 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
136 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
137 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
138 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
139 |
}
|
140 |
}
|
141 |
}
|
@@ -155,7 +158,7 @@ if (!class_exists ("c_ws_plugin__s2member_list_servers"))
|
|
155 |
if ($aweber["wp_mail_response"] = wp_mail ($aweber["list_id"] . "@aweber.com", // AWeber® List ID converts to email address @aweber.com.
|
156 |
($aweber["wp_mail_sbj"] = apply_filters ("ws_plugin__s2member_aweber_sbj", "s2Member Subscription Request", get_defined_vars ())), // These Filters make it possible to customize these emails.
|
157 |
($aweber["wp_mail_msg"] = apply_filters ("ws_plugin__s2member_aweber_msg", "s2Member Subscription Request\ns2Member w/ PayPal Email ID\nAd Tracking: s2Member-" . ((is_multisite () && !is_main_site ()) ? $current_blog->domain . $current_blog->path : $_SERVER["HTTP_HOST"]) . "\nEMail Address: " . $email . "\nBuyer: " . $buyer . "\nFull Name: " . trim ($fname . " " . $lname) . "\nFirst Name: " . $fname . "\nLast Name: " . $lname . "\nIP Address: " . $ip . "\nUser ID: " . $user_id . "\nLogin: " . $login . $aweber["pass_inclusion"] . "\nRole: " . $role . "\nLevel: " . $level . "\nCCaps: " . $ccaps . "\n - end.", get_defined_vars ())),
|
158 |
-
($aweber["wp_mail_headers"] = "From: \"" . preg_replace ("
|
159 |
$aweber["wp_mail_success"] = $success = true; // Flag indicating that we DO have a successful processing of a new List; affects the function's overall return value.
|
160 |
|
161 |
$logt = c_ws_plugin__s2member_utilities::time_details ();
|
@@ -168,7 +171,10 @@ if (!class_exists ("c_ws_plugin__s2member_list_servers"))
|
|
168 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
169 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
170 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
171 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
172 |
}
|
173 |
}
|
174 |
}
|
@@ -254,7 +260,10 @@ if (!class_exists ("c_ws_plugin__s2member_list_servers"))
|
|
254 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
255 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
256 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
257 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
258 |
}
|
259 |
}
|
260 |
}
|
@@ -289,7 +298,10 @@ if (!class_exists ("c_ws_plugin__s2member_list_servers"))
|
|
289 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
290 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
291 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
292 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
293 |
}
|
294 |
}
|
295 |
}
|
135 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
136 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
137 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
138 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
139 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
140 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($mailchimp, true)) . "\n\n",
|
141 |
+
FILE_APPEND);
|
142 |
}
|
143 |
}
|
144 |
}
|
158 |
if ($aweber["wp_mail_response"] = wp_mail ($aweber["list_id"] . "@aweber.com", // AWeber® List ID converts to email address @aweber.com.
|
159 |
($aweber["wp_mail_sbj"] = apply_filters ("ws_plugin__s2member_aweber_sbj", "s2Member Subscription Request", get_defined_vars ())), // These Filters make it possible to customize these emails.
|
160 |
($aweber["wp_mail_msg"] = apply_filters ("ws_plugin__s2member_aweber_msg", "s2Member Subscription Request\ns2Member w/ PayPal Email ID\nAd Tracking: s2Member-" . ((is_multisite () && !is_main_site ()) ? $current_blog->domain . $current_blog->path : $_SERVER["HTTP_HOST"]) . "\nEMail Address: " . $email . "\nBuyer: " . $buyer . "\nFull Name: " . trim ($fname . " " . $lname) . "\nFirst Name: " . $fname . "\nLast Name: " . $lname . "\nIP Address: " . $ip . "\nUser ID: " . $user_id . "\nLogin: " . $login . $aweber["pass_inclusion"] . "\nRole: " . $role . "\nLevel: " . $level . "\nCCaps: " . $ccaps . "\n - end.", get_defined_vars ())),
|
161 |
+
($aweber["wp_mail_headers"] = "From: \"" . preg_replace ('/"/', "'", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_name"]) . "\" <" . $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_email"] . ">" . (($aweber["bcc"]) ? "\r\nBcc: " . $aweber["bcc"] : "") . "\r\nContent-Type: text/plain; charset=UTF-8")))
|
162 |
$aweber["wp_mail_success"] = $success = true; // Flag indicating that we DO have a successful processing of a new List; affects the function's overall return value.
|
163 |
|
164 |
$logt = c_ws_plugin__s2member_utilities::time_details ();
|
171 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
172 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
173 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
174 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
175 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
176 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($aweber, true)) . "\n\n",
|
177 |
+
FILE_APPEND);
|
178 |
}
|
179 |
}
|
180 |
}
|
260 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
261 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
262 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
263 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
264 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
265 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($mailchimp, true)) . "\n\n",
|
266 |
+
FILE_APPEND);
|
267 |
}
|
268 |
}
|
269 |
}
|
298 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
299 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
300 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
301 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
302 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
303 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($aweber, true)) . "\n\n",
|
304 |
+
FILE_APPEND);
|
305 |
}
|
306 |
}
|
307 |
}
|
includes/classes/menu-pages.inc.php
CHANGED
@@ -874,7 +874,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_pages"))
|
|
874 |
c_ws_plugin__s2member_admin_notices::display_admin_notice('Unprotected. The .htaccess protection file (<code>'.esc_html(c_ws_plugin__s2member_utils_dirs::doc_root_path($htaccess)).'</code>) does not contain <code>deny from all</code>. Inside your .htaccess file, add this:<br /><pre>'.esc_html($htaccess_contents).'</pre>', true);
|
875 |
|
876 |
if /* Logging disabled? */(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
877 |
-
c_ws_plugin__s2member_admin_notices::display_admin_notice('Logging is currently disabled by your configuration.'
|
878 |
|
879 |
include_once dirname(dirname(__FILE__))."/menu-pages/logs.inc.php";
|
880 |
|
874 |
c_ws_plugin__s2member_admin_notices::display_admin_notice('Unprotected. The .htaccess protection file (<code>'.esc_html(c_ws_plugin__s2member_utils_dirs::doc_root_path($htaccess)).'</code>) does not contain <code>deny from all</code>. Inside your .htaccess file, add this:<br /><pre>'.esc_html($htaccess_contents).'</pre>', true);
|
875 |
|
876 |
if /* Logging disabled? */(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
877 |
+
c_ws_plugin__s2member_admin_notices::display_admin_notice('Logging is currently disabled by your configuration.');
|
878 |
|
879 |
include_once dirname(dirname(__FILE__))."/menu-pages/logs.inc.php";
|
880 |
|
includes/classes/paypal-notify-in.inc.php
CHANGED
@@ -147,16 +147,12 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in"))
|
|
147 |
else // Else, use the default ``$_SERVER["HTTP_HOST"]`` error.
|
148 |
$paypal["s2member_log"][] = "Unable to verify `\$_SERVER[\"HTTP_HOST\"]`. Please check the `custom` value in your Button Code. It MUST start with your domain name.";
|
149 |
}
|
150 |
-
|
151 |
else // Extensive log reporting here. This is an area where many site owners find trouble. Depending on server configuration; remote HTTPS connections may fail.
|
152 |
{
|
153 |
$paypal["s2member_log"][] = "Unable to verify \$_POST vars. This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility.";
|
154 |
-
$paypal["s2member_log"][] = "
|
155 |
-
$paypal["s2member_log"][] = "s2Member uses the `WP_Http` class for remote connections; which will try to use `cURL` first, and then fall back on the `FOPEN` method when `cURL` is not available. On a Windows® server, you may have to disable your `cURL` extension; and instead, set `allow_url_fopen = yes` in your php.ini file. The `cURL` extension (usually) does NOT support SSL connections on a Windows® server.";
|
156 |
-
$paypal["s2member_log"][] = "Please see this thread: `http://www.s2member.com/forums/topic/ideal-server-configuration-for-s2member/` for details regarding the ideal server configuration for s2Member.";
|
157 |
$paypal["s2member_log"][] = var_export ($_REQUEST, true); // Recording _POST + _GET vars for analysis and debugging.
|
158 |
}
|
159 |
-
|
160 |
if ($email_configs_were_on) // Back on?
|
161 |
c_ws_plugin__s2member_email_configs::email_config ();
|
162 |
/*
|
@@ -193,7 +189,10 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in"))
|
|
193 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
194 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
195 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
196 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
197 |
|
198 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
199 |
do_action ("ws_plugin__s2member_during_paypal_notify", get_defined_vars ());
|
@@ -205,7 +204,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in"))
|
|
205 |
|
206 |
exit (((!empty ($paypal["s2member_paypal_proxy_return_url"])) ? $paypal["s2member_paypal_proxy_return_url"] : ""));
|
207 |
}
|
208 |
-
|
209 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
210 |
do_action ("ws_plugin__s2member_after_paypal_notify", get_defined_vars ());
|
211 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
147 |
else // Else, use the default ``$_SERVER["HTTP_HOST"]`` error.
|
148 |
$paypal["s2member_log"][] = "Unable to verify `\$_SERVER[\"HTTP_HOST\"]`. Please check the `custom` value in your Button Code. It MUST start with your domain name.";
|
149 |
}
|
|
|
150 |
else // Extensive log reporting here. This is an area where many site owners find trouble. Depending on server configuration; remote HTTPS connections may fail.
|
151 |
{
|
152 |
$paypal["s2member_log"][] = "Unable to verify \$_POST vars. This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility.";
|
153 |
+
$paypal["s2member_log"][] = "Please see this KB article: `http://www.s2member.com/kb/server-scanner/`. We suggest that you run the s2Member® Server Scanner.";
|
|
|
|
|
154 |
$paypal["s2member_log"][] = var_export ($_REQUEST, true); // Recording _POST + _GET vars for analysis and debugging.
|
155 |
}
|
|
|
156 |
if ($email_configs_were_on) // Back on?
|
157 |
c_ws_plugin__s2member_email_configs::email_config ();
|
158 |
/*
|
189 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
190 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
191 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
192 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
193 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
194 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($paypal, true)) . "\n\n",
|
195 |
+
FILE_APPEND);
|
196 |
|
197 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
198 |
do_action ("ws_plugin__s2member_during_paypal_notify", get_defined_vars ());
|
204 |
|
205 |
exit (((!empty ($paypal["s2member_paypal_proxy_return_url"])) ? $paypal["s2member_paypal_proxy_return_url"] : ""));
|
206 |
}
|
|
|
207 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
208 |
do_action ("ws_plugin__s2member_after_paypal_notify", get_defined_vars ());
|
209 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
includes/classes/paypal-return-in.inc.php
CHANGED
@@ -124,9 +124,7 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_return_in"))
|
|
124 |
|
125 |
$paypal["s2member_log"][] = "Unable to verify \$_POST vars. This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility.";
|
126 |
$paypal["s2member_log"][] = "Please make sure that you configure a PayPal® PDT Identity Token for your installation of s2Member®. See: `s2Member -› PayPal® Options -› PayPal® PDT/Auto-Return Integration`.";
|
127 |
-
$paypal["s2member_log"][] = "
|
128 |
-
$paypal["s2member_log"][] = "s2Member uses the `WP_Http` class for remote connections; which will try to use `cURL` first, and then fall back on the `FOPEN` method when `cURL` is not available. On a Windows® server, you may have to disable your `cURL` extension; and instead, set `allow_url_fopen = yes` in your php.ini file. The `cURL` extension (usually) does NOT support SSL connections on a Windows® server.";
|
129 |
-
$paypal["s2member_log"][] = "Please see this thread: `http://www.s2member.com/forums/topic/ideal-server-configuration-for-s2member/` for details regarding the ideal server configuration for s2Member.";
|
130 |
$paypal["s2member_log"][] = /* Recording _POST + _GET vars for analysis and debugging. */ var_export ($_REQUEST, true);
|
131 |
|
132 |
$paypal["s2member_log"][] = "Redirecting Customer to the Home Page (after displaying an error message).";
|
@@ -174,7 +172,10 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_return_in"))
|
|
174 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
175 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
176 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
177 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
178 |
|
179 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
180 |
do_action ("ws_plugin__s2member_during_paypal_return", get_defined_vars ());
|
124 |
|
125 |
$paypal["s2member_log"][] = "Unable to verify \$_POST vars. This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility.";
|
126 |
$paypal["s2member_log"][] = "Please make sure that you configure a PayPal® PDT Identity Token for your installation of s2Member®. See: `s2Member -› PayPal® Options -› PayPal® PDT/Auto-Return Integration`.";
|
127 |
+
$paypal["s2member_log"][] = "See also, this KB article: `http://www.s2member.com/kb/server-scanner/`. We suggest that you run the s2Member® Server Scanner.";
|
|
|
|
|
128 |
$paypal["s2member_log"][] = /* Recording _POST + _GET vars for analysis and debugging. */ var_export ($_REQUEST, true);
|
129 |
|
130 |
$paypal["s2member_log"][] = "Redirecting Customer to the Home Page (after displaying an error message).";
|
172 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
173 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
174 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
175 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
176 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
177 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($paypal, true)) . "\n\n",
|
178 |
+
FILE_APPEND);
|
179 |
|
180 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
181 |
do_action ("ws_plugin__s2member_during_paypal_return", get_defined_vars ());
|
includes/classes/paypal-utilities.inc.php
CHANGED
@@ -202,7 +202,10 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
202 |
if(is_writable($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files())
|
203 |
if(($log = "-------- Input vars: ( ".$input_time." ) --------\n".var_export($post_vars, true)."\n"))
|
204 |
if(($log .= "-------- Output string/vars: ( ".$output_time." ) --------\n".$nvp."\n".var_export($response, true)))
|
205 |
-
file_put_contents($logs_dir."/".$log2,
|
|
|
|
|
|
|
206 |
|
207 |
return apply_filters("ws_plugin__s2member_paypal_api_response", c_ws_plugin__s2member_paypal_utilities::_paypal_api_response_filters($response), get_defined_vars());
|
208 |
}
|
@@ -336,7 +339,10 @@ if(!class_exists("c_ws_plugin__s2member_paypal_utilities"))
|
|
336 |
if(is_writable($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files())
|
337 |
if(($log = "-------- Input vars: ( ".$input_time." ) --------\n".$nvp_post_vars."\n".var_export($post_vars, true)."\n"))
|
338 |
if(($log .= "-------- Output string/vars: ( ".$output_time." ) --------\n".$nvp."\n".var_export($response, true)))
|
339 |
-
file_put_contents($logs_dir."/".$log2,
|
|
|
|
|
|
|
340 |
|
341 |
return apply_filters("ws_plugin__s2member_paypal_payflow_api_response", c_ws_plugin__s2member_paypal_utilities::_paypal_payflow_api_response_filters($response), get_defined_vars());
|
342 |
}
|
202 |
if(is_writable($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files())
|
203 |
if(($log = "-------- Input vars: ( ".$input_time." ) --------\n".var_export($post_vars, true)."\n"))
|
204 |
if(($log .= "-------- Output string/vars: ( ".$output_time." ) --------\n".$nvp."\n".var_export($response, true)))
|
205 |
+
file_put_contents($logs_dir."/".$log2,
|
206 |
+
"LOG ENTRY: ".$logt . "\n" . $logv."\n".$logm."\n".$log4."\n".
|
207 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info($log)."\n\n",
|
208 |
+
FILE_APPEND);
|
209 |
|
210 |
return apply_filters("ws_plugin__s2member_paypal_api_response", c_ws_plugin__s2member_paypal_utilities::_paypal_api_response_filters($response), get_defined_vars());
|
211 |
}
|
339 |
if(is_writable($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files())
|
340 |
if(($log = "-------- Input vars: ( ".$input_time." ) --------\n".$nvp_post_vars."\n".var_export($post_vars, true)."\n"))
|
341 |
if(($log .= "-------- Output string/vars: ( ".$output_time." ) --------\n".$nvp."\n".var_export($response, true)))
|
342 |
+
file_put_contents($logs_dir."/".$log2,
|
343 |
+
"LOG ENTRY: ".$logt . "\n" . $logv."\n".$logm."\n".$log4."\n".
|
344 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info($log)."\n\n",
|
345 |
+
FILE_APPEND);
|
346 |
|
347 |
return apply_filters("ws_plugin__s2member_paypal_payflow_api_response", c_ws_plugin__s2member_paypal_utilities::_paypal_payflow_api_response_filters($response), get_defined_vars());
|
348 |
}
|
includes/classes/registrations.inc.php
CHANGED
@@ -1022,7 +1022,10 @@ if (!class_exists ("c_ws_plugin__s2member_registrations"))
|
|
1022 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
1023 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
1024 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
1025 |
-
file_put_contents ($logs_dir . "/" . $log2,
|
|
|
|
|
|
|
1026 |
|
1027 |
unset($logt, $logv, $logm, $log4, $_log4, $log2, $logs_dir, $reg_vars); // Housekeeping.
|
1028 |
|
1022 |
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"])
|
1023 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
1024 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
1025 |
+
file_put_contents ($logs_dir . "/" . $log2,
|
1026 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
1027 |
+
c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($reg_vars, true)) . "\n\n",
|
1028 |
+
FILE_APPEND);
|
1029 |
|
1030 |
unset($logt, $logv, $logm, $log4, $_log4, $log2, $logs_dir, $reg_vars); // Housekeeping.
|
1031 |
|
includes/classes/roles-caps.inc.php
CHANGED
@@ -117,16 +117,17 @@ if(!class_exists("c_ws_plugin__s2member_roles_caps"))
|
|
117 |
public static function bbp_dynamic_role_caps($caps = FALSE, $role = FALSE)
|
118 |
{
|
119 |
if(function_exists("bbp_get_dynamic_roles") && $role !== bbp_get_blocked_role())
|
120 |
-
|
121 |
-
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
$
|
128 |
-
|
129 |
-
|
|
|
130 |
return /* Dynamic capabilities. */ $caps;
|
131 |
}
|
132 |
/**
|
117 |
public static function bbp_dynamic_role_caps($caps = FALSE, $role = FALSE)
|
118 |
{
|
119 |
if(function_exists("bbp_get_dynamic_roles") && $role !== bbp_get_blocked_role())
|
120 |
+
if(!did_action("bbp_deactivation") && !did_action("bbp_uninstall"))
|
121 |
+
{
|
122 |
+
$caps = array_merge($caps, array("read" => true, "level_0" => true));
|
123 |
+
$caps = array_merge($caps, array("access_s2member_level0" => true));
|
124 |
+
|
125 |
+
if(in_array($role, array(bbp_get_keymaster_role(), bbp_get_moderator_role()), TRUE))
|
126 |
+
{
|
127 |
+
for($n = 0; $n <= $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; $n++)
|
128 |
+
$caps = array_merge($caps, array("access_s2member_level".$n => true));
|
129 |
+
}
|
130 |
+
}
|
131 |
return /* Dynamic capabilities. */ $caps;
|
132 |
}
|
133 |
/**
|
includes/classes/s-badge-status-in.inc.php
CHANGED
@@ -53,9 +53,9 @@ if (!class_exists ("c_ws_plugin__s2member_s_badge_status_in"))
|
|
53 |
|
54 |
while (@ob_end_clean ()); // Clean any existing output buffers.
|
55 |
|
56 |
-
if (
|
57 |
{
|
58 |
-
if (
|
59 |
{
|
60 |
if (defined ("AUTH_KEY") && strlen (AUTH_KEY) >= 60 && stripos (AUTH_KEY, "unique phrase") === false)
|
61 |
if (defined ("SECURE_AUTH_KEY") && strlen (SECURE_AUTH_KEY) >= 60 && stripos (SECURE_AUTH_KEY, "unique phrase") === false)
|
@@ -71,11 +71,14 @@ if (!class_exists ("c_ws_plugin__s2member_s_badge_status_in"))
|
|
71 |
{
|
72 |
if (defined ("DB_USER") && DB_USER && defined ("DB_PASSWORD") && DB_PASSWORD && DB_USER !== DB_PASSWORD)
|
73 |
{
|
74 |
-
if (!apply_filters ("ws_plugin__s2member_disable_all_ip_restrictions", false, get_defined_vars ()))
|
75 |
-
if (
|
76 |
{
|
77 |
-
if (
|
78 |
-
|
|
|
|
|
|
|
79 |
}
|
80 |
}
|
81 |
}
|
53 |
|
54 |
while (@ob_end_clean ()); // Clean any existing output buffers.
|
55 |
|
56 |
+
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["s_badge_status_enabled"])
|
57 |
{
|
58 |
+
if (strlen ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["sec_encryption_key"]) >= 56)
|
59 |
{
|
60 |
if (defined ("AUTH_KEY") && strlen (AUTH_KEY) >= 60 && stripos (AUTH_KEY, "unique phrase") === false)
|
61 |
if (defined ("SECURE_AUTH_KEY") && strlen (SECURE_AUTH_KEY) >= 60 && stripos (SECURE_AUTH_KEY, "unique phrase") === false)
|
71 |
{
|
72 |
if (defined ("DB_USER") && DB_USER && defined ("DB_PASSWORD") && DB_PASSWORD && DB_USER !== DB_PASSWORD)
|
73 |
{
|
74 |
+
if (!apply_filters ("ws_plugin__s2member_disable_all_ip_restrictions", false, get_defined_vars ()) && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["max_ip_restriction"])
|
75 |
+
if ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["max_failed_login_attempts"])
|
76 |
{
|
77 |
+
if ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"] && !glob($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"].'/*'))
|
78 |
+
|| $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"] !== $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["default_logs_dir"])
|
79 |
+
{
|
80 |
+
exit ("1"); // OK good. Things look pretty secure here.
|
81 |
+
}
|
82 |
}
|
83 |
}
|
84 |
}
|
includes/classes/sc-files-in.inc.php
CHANGED
@@ -102,7 +102,7 @@ if(!class_exists("c_ws_plugin__s2member_sc_files_in"))
|
|
102 |
|
103 |
$attr = /* Force array; trim quote entities. */ c_ws_plugin__s2member_utils_strings::trim_qts_deep((array)$attr);
|
104 |
|
105 |
-
$attr = shortcode_atts(array("download" => "", "download_key" => "", "stream" => "yes", "inline" => "yes", "storage" => "", "remote" => "", "ssl" => "", "rewrite" => "yes", "rewrite_base" => "", "skip_confirmation" => "", "url_to_storage_source" => "yes", "count_against_user" => "yes", "check_user" => "yes", /* Shortcode-specifics »» */ "file_download" => "", /* Configuration » */ "player" => "jwplayer-v6-rtmp", "player_id" => "s2-stream-".md5(uniqid("", TRUE)), "player_path" => "/jwplayer/jwplayer.js", "player_key" => "", "player_title" => "", "player_image" => "", "player_mediaid" => "", "player_description" => "", "player_captions" => "", /* Layout » */ "player_controls" => "yes", "
|
106 |
$attr["download"] = (!empty($attr["file_download"])) ? $attr["file_download"] : $attr["download"];
|
107 |
|
108 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
@@ -116,7 +116,7 @@ if(!class_exists("c_ws_plugin__s2member_sc_files_in"))
|
|
116 |
$config[$key] = $value;
|
117 |
|
118 |
unset /* Ditch these now. We don't want these bleeding into Hooks/Filters anyway. */($key, $value);
|
119 |
-
|
120 |
if /* Looking for a File Download URL? */(!empty($config) && isset($config["file_download"]))
|
121 |
{
|
122 |
$_get = c_ws_plugin__s2member_files::create_file_download_url($config, TRUE);
|
@@ -147,11 +147,11 @@ if(!class_exists("c_ws_plugin__s2member_sc_files_in"))
|
|
147 |
else $get = preg_replace("/%%player_captions%%/", "[]", $get);
|
148 |
|
149 |
$get = preg_replace("/%%player_controls%%/", ((filter_var($attr["player_controls"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
150 |
-
$get = preg_replace("/%%
|
|
|
151 |
$get = preg_replace("/%%player_skin%%/", $attr["player_skin"], $get);
|
152 |
$get = preg_replace("/%%player_stretching%%/", $attr["player_stretching"], $get);
|
153 |
-
|
154 |
-
|
155 |
$get = preg_replace("/%%player_autostart%%/", ((filter_var($attr["player_autostart"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
156 |
$get = preg_replace("/%%player_fallback%%/", ((filter_var($attr["player_fallback"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
157 |
$get = preg_replace("/%%player_mute%%/", ((filter_var($attr["player_mute"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
102 |
|
103 |
$attr = /* Force array; trim quote entities. */ c_ws_plugin__s2member_utils_strings::trim_qts_deep((array)$attr);
|
104 |
|
105 |
+
$attr = shortcode_atts(array("download" => "", "download_key" => "", "stream" => "yes", "inline" => "yes", "storage" => "", "remote" => "", "ssl" => "", "rewrite" => "yes", "rewrite_base" => "", "skip_confirmation" => "", "url_to_storage_source" => "yes", "count_against_user" => "yes", "check_user" => "yes", /* Shortcode-specifics »» */ "file_download" => "", /* Configuration » */ "player" => "jwplayer-v6-rtmp", "player_id" => "s2-stream-".md5(uniqid("", TRUE)), "player_path" => "/jwplayer/jwplayer.js", "player_key" => "", "player_title" => "", "player_image" => "", "player_mediaid" => "", "player_description" => "", "player_captions" => "", /* Layout » */ "player_controls" => "yes", "player_skin" => "", "player_stretching" => "uniform", "player_width" => "480", "player_height" => "270", /* Playback » */ "player_autostart" => "no", "player_fallback" => "yes", "player_mute" => "no", "player_primary" => "flash", "player_repeat" => "no", "player_startparam" => "", /* Advanced option blocks » */ "player_option_blocks" => ""), $attr);
|
106 |
$attr["download"] = (!empty($attr["file_download"])) ? $attr["file_download"] : $attr["download"];
|
107 |
|
108 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
116 |
$config[$key] = $value;
|
117 |
|
118 |
unset /* Ditch these now. We don't want these bleeding into Hooks/Filters anyway. */($key, $value);
|
119 |
+
|
120 |
if /* Looking for a File Download URL? */(!empty($config) && isset($config["file_download"]))
|
121 |
{
|
122 |
$_get = c_ws_plugin__s2member_files::create_file_download_url($config, TRUE);
|
147 |
else $get = preg_replace("/%%player_captions%%/", "[]", $get);
|
148 |
|
149 |
$get = preg_replace("/%%player_controls%%/", ((filter_var($attr["player_controls"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
150 |
+
$get = preg_replace("/%%player_width%%/", ((strpos($attr["player_width"], "%") !== FALSE) ? "'".c_ws_plugin__s2member_utils_strings::trim($attr["player_width"], NULL, "'\"")."'" : (integer)$attr["player_width"]), $get);
|
151 |
+
$get = preg_replace("/%%player_height%%/", ((strpos($attr["player_height"], "%") !== FALSE) ? "'".c_ws_plugin__s2member_utils_strings::trim($attr["player_height"], NULL, "'\"")."'" : (integer)$attr["player_height"]), $get);
|
152 |
$get = preg_replace("/%%player_skin%%/", $attr["player_skin"], $get);
|
153 |
$get = preg_replace("/%%player_stretching%%/", $attr["player_stretching"], $get);
|
154 |
+
|
|
|
155 |
$get = preg_replace("/%%player_autostart%%/", ((filter_var($attr["player_autostart"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
156 |
$get = preg_replace("/%%player_fallback%%/", ((filter_var($attr["player_fallback"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
157 |
$get = preg_replace("/%%player_mute%%/", ((filter_var($attr["player_mute"], FILTER_VALIDATE_BOOLEAN)) ? "true" : "false"), $get);
|
includes/classes/users-list.inc.php
CHANGED
@@ -90,6 +90,7 @@ if (!class_exists ("c_ws_plugin__s2member_users_list"))
|
|
90 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_custom' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
91 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_custom_fields' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
92 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_notes' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
|
|
93 |
$query->query_where .= " OR `user_login` LIKE '" . $s . "' OR `user_nicename` LIKE '" . $s . "' OR `user_email` LIKE '" . $s . "' OR `user_url` LIKE '" . $s . "' OR `display_name` LIKE '" . $s . "'";
|
94 |
$query->query_where .= apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_after", "", get_defined_vars ()) . ")"; // Leaving room for additional searches here.
|
95 |
$query->query_where .= " AND `" . $wpdb->users . "`.`ID` IN(SELECT DISTINCT(`user_id`) FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = '" . $wpdb->prefix . "capabilities'" .
|
90 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_custom' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
91 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_custom_fields' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
92 |
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->prefix . "s2member_notes' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
93 |
+
$query->query_where .= /* Includes first/last name. */ " OR (`" . $wpdb->usermeta . "`.`meta_key` LIKE '%_name' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
94 |
$query->query_where .= " OR `user_login` LIKE '" . $s . "' OR `user_nicename` LIKE '" . $s . "' OR `user_email` LIKE '" . $s . "' OR `user_url` LIKE '" . $s . "' OR `display_name` LIKE '" . $s . "'";
|
95 |
$query->query_where .= apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_after", "", get_defined_vars ()) . ")"; // Leaving room for additional searches here.
|
96 |
$query->query_where .= " AND `" . $wpdb->users . "`.`ID` IN(SELECT DISTINCT(`user_id`) FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = '" . $wpdb->prefix . "capabilities'" .
|
includes/classes/utils-logs.inc.php
CHANGED
@@ -104,14 +104,22 @@ if (!class_exists ("c_ws_plugin__s2member_utils_logs"))
|
|
104 |
$log4 = (is_multisite () && !is_main_site ()) ? ($_log4 = $current_blog->domain . $current_blog->path) . "\n" . $log4 : $log4;
|
105 |
$log2 = (is_multisite () && !is_main_site ()) ? "http-api-debug-4-" . trim (preg_replace ("/[^a-z0-9]/i", "-", $_log4), "-") . ".log" : "http-api-debug.log";
|
106 |
|
|
|
|
|
107 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
108 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
109 |
{
|
110 |
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs_extensive"])
|
111 |
-
file_put_contents ($logs_dir . "/wp-" . $log2,
|
|
|
|
|
|
|
112 |
|
113 |
if($is_s2member) // Log s2Member® HTTP connections separately.
|
114 |
-
file_put_contents ($logs_dir . "/s2-" . $log2,
|
|
|
|
|
|
|
115 |
}
|
116 |
}
|
117 |
/**
|
@@ -181,6 +189,34 @@ if (!class_exists ("c_ws_plugin__s2member_utils_logs"))
|
|
181 |
}
|
182 |
return true;
|
183 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
184 |
}
|
185 |
}
|
186 |
?>
|
104 |
$log4 = (is_multisite () && !is_main_site ()) ? ($_log4 = $current_blog->domain . $current_blog->path) . "\n" . $log4 : $log4;
|
105 |
$log2 = (is_multisite () && !is_main_site ()) ? "http-api-debug-4-" . trim (preg_replace ("/[^a-z0-9]/i", "-", $_log4), "-") . ".log" : "http-api-debug.log";
|
106 |
|
107 |
+
$http_api_debug_conceal_private_info = c_ws_plugin__s2member_utils_logs::conceal_private_info(var_export ($http_api_debug, true));
|
108 |
+
|
109 |
if (is_dir ($logs_dir = $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"]))
|
110 |
if (is_writable ($logs_dir) && c_ws_plugin__s2member_utils_logs::archive_oversize_log_files ())
|
111 |
{
|
112 |
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs_extensive"])
|
113 |
+
file_put_contents ($logs_dir . "/wp-" . $log2,
|
114 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
115 |
+
$http_api_debug_conceal_private_info . "\n\n",
|
116 |
+
FILE_APPEND);
|
117 |
|
118 |
if($is_s2member) // Log s2Member® HTTP connections separately.
|
119 |
+
file_put_contents ($logs_dir . "/s2-" . $log2,
|
120 |
+
"LOG ENTRY: ".$logt . "\n" . $logv . "\n" . $logm . "\n" . $log4 . "\n" .
|
121 |
+
$http_api_debug_conceal_private_info . "\n\n",
|
122 |
+
FILE_APPEND);
|
123 |
}
|
124 |
}
|
125 |
/**
|
189 |
}
|
190 |
return true;
|
191 |
}
|
192 |
+
|
193 |
+
/**
|
194 |
+
* Attempts to conceal private details in log entries.
|
195 |
+
*
|
196 |
+
* @package s2Member\Utilities
|
197 |
+
* @since 130315
|
198 |
+
*
|
199 |
+
* @param string $log_entry The log entry we need to conceal private details in.
|
200 |
+
* @return string Filtered string with some data X'd out :-)
|
201 |
+
*/
|
202 |
+
public static function conceal_private_info($log_entry)
|
203 |
+
{
|
204 |
+
$log_entry = preg_replace('/\b([3456][0-9]{10,11})([0-9]{4})\b/', 'xxxxxxxxxxxx'.'$2', (string)$log_entry);
|
205 |
+
|
206 |
+
$log_entry = preg_replace('/(\'.*pass_?(?:word)?(?:[0-9]+)?\'\s*\=\>\s*\')([^\']+)(\')/', '$1'.'xxxxxxxx/pass'.'$3', $log_entry);
|
207 |
+
$log_entry = preg_replace('/([&?][^&]*pass_?(?:word)?(?:[0-9]+)?\=)([^&]+)/', '$1'.'xxxxxxxx/pass', $log_entry);
|
208 |
+
|
209 |
+
$log_entry = preg_replace('/(\'api_?(?:key|secret)\'\s*\=\>\s*\')([^\']+)(\')/', '$1'.'xxxxxxxx/api/key/sec'.'$3', $log_entry);
|
210 |
+
$log_entry = preg_replace('/([&?][^&]api_?(?:key|secret)\=)([^&]+)/', '$1'.'xxxxxxxx/api/key/sec', $log_entry);
|
211 |
+
|
212 |
+
$log_entry = preg_replace('/(\'(?:PWD|SIGNATURE)\'\s*\=\>\s*\')([^\']+)(\')/', '$1'.'xxxxxxxx/PWD/SIG'.'$3', $log_entry);
|
213 |
+
$log_entry = preg_replace('/([&?][^&](?:PWD|SIGNATURE)\=)([^&]+)/', '$1'.'xxxxxxxx/PWD/SIG', $log_entry);
|
214 |
+
|
215 |
+
$log_entry = preg_replace('/(\'(?:x_login|x_tran_key)\'\s*\=\>\s*\')([^\']+)(\')/', '$1'.'xxxxxxxx/key/tran'.'$3', $log_entry);
|
216 |
+
$log_entry = preg_replace('/([&?][^&](?:x_login|x_tran_key)\=)([^&]+)/', '$1'.'xxxxxxxx/key/tran', $log_entry);
|
217 |
+
|
218 |
+
return $log_entry;
|
219 |
+
}
|
220 |
}
|
221 |
}
|
222 |
?>
|
includes/menu-pages/els-ops.inc.php
CHANGED
@@ -102,6 +102,14 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_els_ops"))
|
|
102 |
|
103 |
echo '</tbody>'."\n";
|
104 |
echo '</table>'."\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
echo '</div>'."\n";
|
106 |
|
107 |
echo '</div>'."\n";
|
@@ -121,6 +129,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_els_ops"))
|
|
121 |
echo '<p>s2Member can be integrated with AWeber®. AWeber® is an email marketing service. Whether you\'re looking to get your first email campaign off the ground, or you\'re a seasoned veteran who wants to dig into advanced tools like detailed email web analytics, activity based segmentation, geo-targeting and broadcast split-testing, AWeber\'s got just what you need to make email marketing work for you.</p>'."\n";
|
122 |
echo '<p>You can have your Members automatically subscribed to your AWeber® marketing lists <em>(e.g. newsletters / auto-responders)</em>. You\'ll need an <a href="http://www.s2member.com/aweber" target="_blank" rel="external">AWeber® account</a> and your <a href="#" onclick="alert(\'To obtain your AWeber® List ID(s), log into your AWeber® account. Click on the Lists tab. On that page you\\\'ll find a Unique List ID associated with each of your lists. AWeber® sometimes refers to this as a List Name instead of a List ID.\'); return false;">AWeber® List IDs</a>. You will ALSO need to configure a <a href="http://www.s2member.com/kb/aweber-email-parser-for-s2member/" target="_blank" rel="external">Custom Email Parser</a> inside your AWeber® account.</p>'."\n";
|
123 |
echo '<p>Log into AWeber®, and go to <em>My Lists -› Email Parser</em>. If you like, choose the PayPal® Parser <em>(even if you\'re not using PayPal® as your Payment Gateway)</em>. You can safely ignore the additional instructions they provide. s2Member just needs the PayPal® box checked, and that\'s all. Or, even better, integrate <a href="http://www.s2member.com/kb/aweber-email-parser-for-s2member/" target="_blank" rel="external">s2Member\'s Custom Email Parser</a> for AWeber, which <strong>will improve reliability</strong> and flexibility.</p>'."\n";
|
|
|
124 |
do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_aweber", get_defined_vars());
|
125 |
|
126 |
echo '<table class="form-table">'."\n";
|
@@ -142,7 +151,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_els_ops"))
|
|
142 |
echo '<td>'."\n";
|
143 |
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_level'.$n.'_aweber_list_ids" id="ws-plugin--s2member-level'.$n.'-aweber-list-ids" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["level".$n."_aweber_list_ids"]).'" /><br />'."\n";
|
144 |
echo 'New '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' will be subscribed to these List IDs.<br />'."\n";
|
145 |
-
echo 'Ex: <code>mylist,
|
146 |
echo '</td>'."\n";
|
147 |
|
148 |
echo '</tr>'."\n";
|
@@ -150,6 +159,14 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_els_ops"))
|
|
150 |
|
151 |
echo '</tbody>'."\n";
|
152 |
echo '</table>'."\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
153 |
echo '</div>'."\n";
|
154 |
|
155 |
echo '</div>'."\n";
|
102 |
|
103 |
echo '</tbody>'."\n";
|
104 |
echo '</table>'."\n";
|
105 |
+
|
106 |
+
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
107 |
+
|
108 |
+
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
109 |
+
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems during MailChimp® processing. See: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">Log Files (Debug)</a>.</span></p>'."\n";
|
110 |
+
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
111 |
+
echo '</div>'."\n";
|
112 |
+
|
113 |
echo '</div>'."\n";
|
114 |
|
115 |
echo '</div>'."\n";
|
129 |
echo '<p>s2Member can be integrated with AWeber®. AWeber® is an email marketing service. Whether you\'re looking to get your first email campaign off the ground, or you\'re a seasoned veteran who wants to dig into advanced tools like detailed email web analytics, activity based segmentation, geo-targeting and broadcast split-testing, AWeber\'s got just what you need to make email marketing work for you.</p>'."\n";
|
130 |
echo '<p>You can have your Members automatically subscribed to your AWeber® marketing lists <em>(e.g. newsletters / auto-responders)</em>. You\'ll need an <a href="http://www.s2member.com/aweber" target="_blank" rel="external">AWeber® account</a> and your <a href="#" onclick="alert(\'To obtain your AWeber® List ID(s), log into your AWeber® account. Click on the Lists tab. On that page you\\\'ll find a Unique List ID associated with each of your lists. AWeber® sometimes refers to this as a List Name instead of a List ID.\'); return false;">AWeber® List IDs</a>. You will ALSO need to configure a <a href="http://www.s2member.com/kb/aweber-email-parser-for-s2member/" target="_blank" rel="external">Custom Email Parser</a> inside your AWeber® account.</p>'."\n";
|
131 |
echo '<p>Log into AWeber®, and go to <em>My Lists -› Email Parser</em>. If you like, choose the PayPal® Parser <em>(even if you\'re not using PayPal® as your Payment Gateway)</em>. You can safely ignore the additional instructions they provide. s2Member just needs the PayPal® box checked, and that\'s all. Or, even better, integrate <a href="http://www.s2member.com/kb/aweber-email-parser-for-s2member/" target="_blank" rel="external">s2Member\'s Custom Email Parser</a> for AWeber, which <strong>will improve reliability</strong> and flexibility.</p>'."\n";
|
132 |
+
echo '<p><em><strong>AWeber® Tip:</strong> If you want your Members to be subscribed to multiple AWeber® List IDs at the same time, instead of comma-delimiting those List IDs here; we suggest a single List ID in your s2Member® integration; then use <a href="https://help.aweber.com/entries/21696463-Can-I-Add-Subscribers-to-More-Than-One-List-At-Once-" target="_blank" rel="external">AWeber® Automation Rules</a> for this. Automation Rules can also reduce the number of email confirmation notices that Members receive.</em></p>'."\n";
|
133 |
do_action("ws_plugin__s2member_during_els_ops_page_during_left_sections_during_aweber", get_defined_vars());
|
134 |
|
135 |
echo '<table class="form-table">'."\n";
|
151 |
echo '<td>'."\n";
|
152 |
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_level'.$n.'_aweber_list_ids" id="ws-plugin--s2member-level'.$n.'-aweber-list-ids" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["level".$n."_aweber_list_ids"]).'" /><br />'."\n";
|
153 |
echo 'New '.(($n === 0) ? 'Free Subscribers' : 'Level #'.$n.' Members').' will be subscribed to these List IDs.<br />'."\n";
|
154 |
+
echo 'Ex: <code>mylist, anotherlist</code> — See also: <a href="https://help.aweber.com/entries/21696463-Can-I-Add-Subscribers-to-More-Than-One-List-At-Once-" target="_blank" rel="external">Automation Rules</a>'."\n";
|
155 |
echo '</td>'."\n";
|
156 |
|
157 |
echo '</tr>'."\n";
|
159 |
|
160 |
echo '</tbody>'."\n";
|
161 |
echo '</table>'."\n";
|
162 |
+
|
163 |
+
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
164 |
+
|
165 |
+
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
166 |
+
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems during AWeber® processing. See: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">Log Files (Debug)</a>.</span></p>'."\n";
|
167 |
+
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
168 |
+
echo '</div>'."\n";
|
169 |
+
|
170 |
echo '</div>'."\n";
|
171 |
|
172 |
echo '</div>'."\n";
|
includes/menu-pages/logs.inc.php
CHANGED
@@ -84,6 +84,15 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_logs"))
|
|
84 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-log-settings-section">'."\n";
|
85 |
|
86 |
echo '<h3>s2Member® Logging Configuration (for Debugging Purposes)</h3>'."\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
87 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_during_log_settings", get_defined_vars());
|
88 |
|
89 |
echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">' . "\n";
|
@@ -105,7 +114,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_logs"))
|
|
105 |
echo '<td>'."\n";
|
106 |
echo '<input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-0" value="0"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"]) ? ' checked="checked"' : '').' /> <label for="ws-plugin--s2member-gateway-debug-logs-0">No</label> <input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-1" value="1"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"]) ? ' checked="checked"' : '').' /> <label for="ws-plugin--s2member-gateway-debug-logs-1">Yes, enable debugging w/ HTTP, API, IPN & Return Page logging (and List Server API logs too).</label><br />'."\n";
|
107 |
echo '<em>This enables logging overall. Includes s2Member® HTTP, API, IPN and Return Page logging. Also logs any List Server integrations.</em><br />'."\n";
|
108 |
-
echo '<em
|
109 |
echo '</td>'."\n";
|
110 |
|
111 |
echo '</tr>'."\n";
|
@@ -148,10 +157,6 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_logs"))
|
|
148 |
echo '<div class="ws-menu-page-group" title="s2Member® Log Viewer (for Debugging Purposes)" default-state="open">'."\n";
|
149 |
|
150 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-logs-section">'."\n";
|
151 |
-
echo '<h3>s2Member® Log Viewer (for Debugging Purposes)</h3>'."\n";
|
152 |
-
|
153 |
-
echo '<p><span class="ws-menu-page-hilite">s2Member® keeps a log of ALL of its communication with Payment Gateways. If you are having trouble, please review your log files below.</span></p>'."\n";
|
154 |
-
|
155 |
echo '<h3>Debugging Tools/Tips & Other Important Details (<a href="#" onclick="jQuery(\'div#ws-plugin--s2member-debugging-tips-details\').toggle(); return false;" class="ws-dotted-link">click here to toggle</a>)</h3>'."\n";
|
156 |
|
157 |
echo '<div id="ws-plugin--s2member-debugging-tips-details" style="display:none;">'."\n";
|
84 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-log-settings-section">'."\n";
|
85 |
|
86 |
echo '<h3>s2Member® Logging Configuration (for Debugging Purposes)</h3>'."\n";
|
87 |
+
|
88 |
+
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
89 |
+
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems that occur during processing. Enable logging here, and then view your log files below; in the s2Member® Log Viewer.</span></p>'."\n";
|
90 |
+
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
91 |
+
echo '<p style="font-size:110%; margin-bottom:0;"><span>Regarding s2Member® Security Badges. If debug logging is enabled, your site will NOT qualify for an s2Member® Security Badge until you disable logging (and you must ALSO download, and then delete any existing log files). For further details, please see KB Article: <a href="http://www.s2member.com/kb/security-badges/" target="_blank" rel="external">s2Member® Security Badges</a>.</span></p>'."\n";
|
92 |
+
echo '</div>'."\n";
|
93 |
+
|
94 |
+
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
95 |
+
|
96 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_during_log_settings", get_defined_vars());
|
97 |
|
98 |
echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">' . "\n";
|
114 |
echo '<td>'."\n";
|
115 |
echo '<input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-0" value="0"'.((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"]) ? ' checked="checked"' : '').' /> <label for="ws-plugin--s2member-gateway-debug-logs-0">No</label> <input type="radio" name="ws_plugin__s2member_gateway_debug_logs" id="ws-plugin--s2member-gateway-debug-logs-1" value="1"'.(($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["gateway_debug_logs"]) ? ' checked="checked"' : '').' /> <label for="ws-plugin--s2member-gateway-debug-logs-1">Yes, enable debugging w/ HTTP, API, IPN & Return Page logging (and List Server API logs too).</label><br />'."\n";
|
116 |
echo '<em>This enables logging overall. Includes s2Member® HTTP, API, IPN and Return Page logging. Also logs any List Server integrations.</em><br />'."\n";
|
117 |
+
echo '<em>* Use only for debugging. This should NEVER be enabled on a live site.<br />* The log files are stored here: <code>'.esc_html(c_ws_plugin__s2member_utils_dirs::doc_root_path($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"])).'</code></em>'."\n";
|
118 |
echo '</td>'."\n";
|
119 |
|
120 |
echo '</tr>'."\n";
|
157 |
echo '<div class="ws-menu-page-group" title="s2Member® Log Viewer (for Debugging Purposes)" default-state="open">'."\n";
|
158 |
|
159 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-logs-section">'."\n";
|
|
|
|
|
|
|
|
|
160 |
echo '<h3>Debugging Tools/Tips & Other Important Details (<a href="#" onclick="jQuery(\'div#ws-plugin--s2member-debugging-tips-details\').toggle(); return false;" class="ws-dotted-link">click here to toggle</a>)</h3>'."\n";
|
161 |
|
162 |
echo '<div id="ws-plugin--s2member-debugging-tips-details" style="display:none;">'."\n";
|
includes/menu-pages/paypal-buttons.inc.php
CHANGED
@@ -175,7 +175,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
175 |
echo '</select></p>' . "\n";
|
176 |
|
177 |
echo '<p id="ws-plugin--s2member-modification-trial-line">I\'ll offer the first <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-trial-period" value="0" size="6" /> <select id="ws-plugin--s2member-modification-trial-term">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-membership-trial-terms.php"))) . '</select> @ $<input type="text" autocomplete="off" id="ws-plugin--s2member-modification-trial-amount" value="0.00" size="4" /></p>' . "\n";
|
178 |
-
echo '<p><span id="ws-plugin--s2member-modification-trial-then">Then, </span>I want to charge: $<input type="text" autocomplete="off" id="ws-plugin--s2member-modification-amount" value="0.01" size="4" /> / <select id="ws-plugin--s2member-modification-term">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-membership-regular-terms.php"))) . '</select
|
179 |
echo '<p>Checkout Page Style <a href="#" onclick="alert(\'Optional. This can be configured inside your PayPal® account. PayPal® allows you to create Custom Page Styles, and assign a unique name to them. You can add your own header image and color selection to the checkout form. Once you\\\'ve created a Custom Page Style at PayPal®, you can enter that Page Style here.\\n\\nIn addition. The Shortcode below, provided by s2Member; supports an image attribute: image=\\\'\\\'default\\\'\\\'. This can be changed to a full URL, pointing to a custom image of your own; instead of the default PayPal® Button image.\'); return false;" tabindex="-1">[?]</a>: <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-page-style" value="paypal" size="18" /> <select id="ws-plugin--s2member-modification-currency">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-currencies.php"))) . '</select> <input type="button" value="Generate Button Code" onclick="ws_plugin__s2member_paypalButtonGenerate(\'modification\');" class="button-primary" /></p>' . "\n";
|
180 |
echo '<p>Description: <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-desc" value="Description and pricing details here." size="73" /></p>' . "\n";
|
181 |
echo '<p' . ((is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ()) ? ' style="display:none;"' : '') . '>Custom Capabilities (comma-delimited) <a href="#" onclick="alert(\'Optional. This is VERY advanced.\\nSee: s2Member -› API Scripting -› Custom Capabilities.\\n\\n*ADVANCED TIP: You can specifiy a list of Custom Capabilities that will be (Added) with this purchase. Or, you could tell s2Member to (Remove All) Custom Capabilities that may or may not already exist for a particular Member, and (Add) only the new ones that you specify. To do this, just start your list of Custom Capabilities with `-all`.\\n\\nSo instead of just (Adding) Custom Capabilities:\\nmusic,videos,archives,gifts\\n\\nYou could (Remove All) that may already exist, and then (Add) new ones:\\n-all,calendar,forums,tools\\n\\nOr to just (Remove All) and (Add) nothing:\\n-all\'); return false;" tabindex="-1">[?]</a> <input type="text" maxlength="125" autocomplete="off" id="ws-plugin--s2member-modification-ccaps" size="40" /></p>' . "\n";
|
175 |
echo '</select></p>' . "\n";
|
176 |
|
177 |
echo '<p id="ws-plugin--s2member-modification-trial-line">I\'ll offer the first <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-trial-period" value="0" size="6" /> <select id="ws-plugin--s2member-modification-trial-term">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-membership-trial-terms.php"))) . '</select> @ $<input type="text" autocomplete="off" id="ws-plugin--s2member-modification-trial-amount" value="0.00" size="4" /></p>' . "\n";
|
178 |
+
echo '<p><span id="ws-plugin--s2member-modification-trial-then">Then, </span>I want to charge: $<input type="text" autocomplete="off" id="ws-plugin--s2member-modification-amount" value="0.01" size="4" /> / <select id="ws-plugin--s2member-modification-term">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-membership-regular-terms.php"))) . '</select></p>' . "\n";
|
179 |
echo '<p>Checkout Page Style <a href="#" onclick="alert(\'Optional. This can be configured inside your PayPal® account. PayPal® allows you to create Custom Page Styles, and assign a unique name to them. You can add your own header image and color selection to the checkout form. Once you\\\'ve created a Custom Page Style at PayPal®, you can enter that Page Style here.\\n\\nIn addition. The Shortcode below, provided by s2Member; supports an image attribute: image=\\\'\\\'default\\\'\\\'. This can be changed to a full URL, pointing to a custom image of your own; instead of the default PayPal® Button image.\'); return false;" tabindex="-1">[?]</a>: <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-page-style" value="paypal" size="18" /> <select id="ws-plugin--s2member-modification-currency">' . trim (c_ws_plugin__s2member_utilities::evl (file_get_contents (dirname (dirname (__FILE__)) . "/templates/options/paypal-currencies.php"))) . '</select> <input type="button" value="Generate Button Code" onclick="ws_plugin__s2member_paypalButtonGenerate(\'modification\');" class="button-primary" /></p>' . "\n";
|
180 |
echo '<p>Description: <input type="text" autocomplete="off" id="ws-plugin--s2member-modification-desc" value="Description and pricing details here." size="73" /></p>' . "\n";
|
181 |
echo '<p' . ((is_multisite () && c_ws_plugin__s2member_utils_conds::is_multisite_farm () && !is_main_site ()) ? ' style="display:none;"' : '') . '>Custom Capabilities (comma-delimited) <a href="#" onclick="alert(\'Optional. This is VERY advanced.\\nSee: s2Member -› API Scripting -› Custom Capabilities.\\n\\n*ADVANCED TIP: You can specifiy a list of Custom Capabilities that will be (Added) with this purchase. Or, you could tell s2Member to (Remove All) Custom Capabilities that may or may not already exist for a particular Member, and (Add) only the new ones that you specify. To do this, just start your list of Custom Capabilities with `-all`.\\n\\nSo instead of just (Adding) Custom Capabilities:\\nmusic,videos,archives,gifts\\n\\nYou could (Remove All) that may already exist, and then (Add) new ones:\\n-all,calendar,forums,tools\\n\\nOr to just (Remove All) and (Add) nothing:\\n-all\'); return false;" tabindex="-1">[?]</a> <input type="text" maxlength="125" autocomplete="off" id="ws-plugin--s2member-modification-ccaps" size="40" /></p>' . "\n";
|
includes/menu-pages/paypal-ops.inc.php
CHANGED
@@ -190,6 +190,16 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_paypal_ops"))
|
|
190 |
echo '<em class="ws-menu-page-hilite">If you have any trouble, please review your s2Member® log files for problems. See: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">Log Viewer</a></em>'."\n";
|
191 |
echo '</td>'."\n";
|
192 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
193 |
echo '</tr>'."\n";
|
194 |
}
|
195 |
|
190 |
echo '<em class="ws-menu-page-hilite">If you have any trouble, please review your s2Member® log files for problems. See: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">Log Viewer</a></em>'."\n";
|
191 |
echo '</td>'."\n";
|
192 |
|
193 |
+
echo '</tr>'."\n";
|
194 |
+
echo '<tr>'."\n";
|
195 |
+
|
196 |
+
echo '<td>'."\n";
|
197 |
+
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
198 |
+
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems during payment processing. See: <a href="'.esc_attr(admin_url("/admin.php?page=ws-plugin--s2member-logs")).'">Log Files (Debug)</a>.</span></p>'."\n";
|
199 |
+
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
200 |
+
echo '</div>'."\n";
|
201 |
+
echo '</td>'."\n";
|
202 |
+
|
203 |
echo '</tr>'."\n";
|
204 |
}
|
205 |
|
includes/syscon.inc.php
CHANGED
@@ -68,13 +68,15 @@ $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["streaming_file_extns"] = array_unique(
|
|
68 |
/*
|
69 |
Configure directory and .htaccess for files protected by s2Member.
|
70 |
*/
|
71 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["
|
|
|
72 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_no_gzip_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-files-no-gzip.php";
|
73 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-files.php";
|
74 |
/*
|
75 |
Configure the directory for logs protected by s2Member.
|
76 |
*/
|
77 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["
|
|
|
78 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-logs.php";
|
79 |
/*
|
80 |
Configure the global reCaptcha (www.websharks-inc.net / or any domain). These public/private keys work on any installation.
|
@@ -124,7 +126,7 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
124 |
$default_options["options_checksum"] = "";
|
125 |
$default_options["options_version"] = "1.0";
|
126 |
|
127 |
-
$default_options["gateway_debug_logs"] = "
|
128 |
$default_options["gateway_debug_logs_extensive"] = "0";
|
129 |
|
130 |
$default_options["sec_encryption_key"] = "";
|
@@ -364,7 +366,7 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
364 |
else if($key === "max_ip_restriction" && (!is_string($value) || !is_numeric($value) || $value < 0 || $value > 100))
|
365 |
$value = $default_options[$key];
|
366 |
|
367 |
-
else if($key === "max_ip_restriction_time" && (!is_string($value) || !is_numeric($value) || $value <
|
368 |
$value = $default_options[$key];
|
369 |
|
370 |
else if($key === "max_failed_login_attempts" && (!is_string($value) || !is_numeric($value) || $value < 0 || $value > 100))
|
68 |
/*
|
69 |
Configure directory and .htaccess for files protected by s2Member.
|
70 |
*/
|
71 |
+
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["default_files_dir"] = dirname(dirname(__FILE__))."-files".((stripos(PHP_OS, "win") === 0 && stripos($_SERVER["SERVER_SOFTWARE"], "apache") === false) ? "/app_data" : "");
|
72 |
+
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"] = apply_filters("ws_plugin__s2member_files_dir", $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["default_files_dir"]);
|
73 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_no_gzip_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-files-no-gzip.php";
|
74 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-files.php";
|
75 |
/*
|
76 |
Configure the directory for logs protected by s2Member.
|
77 |
*/
|
78 |
+
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["default_logs_dir"] = dirname(dirname(__FILE__))."-logs".((stripos(PHP_OS, "win") === 0 && stripos($_SERVER["SERVER_SOFTWARE"], "apache") === false) ? "/app_data" : "");
|
79 |
+
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir"] = apply_filters("ws_plugin__s2member_logs_dir", $GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["default_logs_dir"]);
|
80 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["logs_dir_htaccess"] = dirname(__FILE__)."/templates/cfg-files/s2member-logs.php";
|
81 |
/*
|
82 |
Configure the global reCaptcha (www.websharks-inc.net / or any domain). These public/private keys work on any installation.
|
126 |
$default_options["options_checksum"] = "";
|
127 |
$default_options["options_version"] = "1.0";
|
128 |
|
129 |
+
$default_options["gateway_debug_logs"] = "0";
|
130 |
$default_options["gateway_debug_logs_extensive"] = "0";
|
131 |
|
132 |
$default_options["sec_encryption_key"] = "";
|
366 |
else if($key === "max_ip_restriction" && (!is_string($value) || !is_numeric($value) || $value < 0 || $value > 100))
|
367 |
$value = $default_options[$key];
|
368 |
|
369 |
+
else if($key === "max_ip_restriction_time" && (!is_string($value) || !is_numeric($value) || $value < 300 || $value > 31556926))
|
370 |
$value = $default_options[$key];
|
371 |
|
372 |
else if($key === "max_failed_login_attempts" && (!is_string($value) || !is_numeric($value) || $value < 0 || $value > 100))
|
includes/templates/players/jwplayer-v6-rtmp-only.php
CHANGED
@@ -3,7 +3,7 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
-
<div id="%%player_id%%"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
@@ -28,10 +28,10 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
28 |
}],
|
29 |
|
30 |
controls: %%player_controls%%,
|
31 |
-
height: %%player_height%%,
|
32 |
skin: '%%player_skin%%',
|
33 |
stretching: '%%player_stretching%%',
|
34 |
width: %%player_width%%,
|
|
|
35 |
|
36 |
autostart: %%player_autostart%%,
|
37 |
fallback: %%player_fallback%%,
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
+
<div id="%%player_id%%" class="s2member-jwplayer-v6"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
28 |
}],
|
29 |
|
30 |
controls: %%player_controls%%,
|
|
|
31 |
skin: '%%player_skin%%',
|
32 |
stretching: '%%player_stretching%%',
|
33 |
width: %%player_width%%,
|
34 |
+
height: %%player_height%%,
|
35 |
|
36 |
autostart: %%player_autostart%%,
|
37 |
fallback: %%player_fallback%%,
|
includes/templates/players/jwplayer-v6-rtmp.php
CHANGED
@@ -3,7 +3,7 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
-
<div id="%%player_id%%"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
@@ -29,10 +29,10 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
29 |
}],
|
30 |
|
31 |
controls: %%player_controls%%,
|
32 |
-
height: %%player_height%%,
|
33 |
skin: '%%player_skin%%',
|
34 |
stretching: '%%player_stretching%%',
|
35 |
width: %%player_width%%,
|
|
|
36 |
|
37 |
autostart: %%player_autostart%%,
|
38 |
fallback: %%player_fallback%%,
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
+
<div id="%%player_id%%" class="s2member-jwplayer-v6"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
29 |
}],
|
30 |
|
31 |
controls: %%player_controls%%,
|
|
|
32 |
skin: '%%player_skin%%',
|
33 |
stretching: '%%player_stretching%%',
|
34 |
width: %%player_width%%,
|
35 |
+
height: %%player_height%%,
|
36 |
|
37 |
autostart: %%player_autostart%%,
|
38 |
fallback: %%player_fallback%%,
|
includes/templates/players/jwplayer-v6.php
CHANGED
@@ -3,7 +3,7 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
-
<div id="%%player_id%%"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
@@ -28,10 +28,10 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
28 |
}],
|
29 |
|
30 |
controls: %%player_controls%%,
|
31 |
-
height: %%player_height%%,
|
32 |
skin: '%%player_skin%%',
|
33 |
stretching: '%%player_stretching%%',
|
34 |
width: %%player_width%%,
|
|
|
35 |
|
36 |
autostart: %%player_autostart%%,
|
37 |
fallback: %%player_fallback%%,
|
3 |
exit("Do not access this file directly.");
|
4 |
?>
|
5 |
|
6 |
+
<div id="%%player_id%%" class="s2member-jwplayer-v6"></div>
|
7 |
<script type="text/javascript" src="%%player_path%%"></script>
|
8 |
<script type="text/javascript">
|
9 |
if(typeof jwplayer.key !== 'string' || !jwplayer.key)
|
28 |
}],
|
29 |
|
30 |
controls: %%player_controls%%,
|
|
|
31 |
skin: '%%player_skin%%',
|
32 |
stretching: '%%player_stretching%%',
|
33 |
width: %%player_width%%,
|
34 |
+
height: %%player_height%%,
|
35 |
|
36 |
autostart: %%player_autostart%%,
|
37 |
fallback: %%player_fallback%%,
|
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: 2013-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -92,17 +92,17 @@ msgctxt "s2member-front"
|
|
92 |
msgid "<strong>503: Basic File Downloads are NOT enabled yet.</strong> Please contact Support for assistance. If you are the site owner, please configure: <code>s2Member -› Download Options -› Basic Download Restrictions</code>."
|
93 |
msgstr ""
|
94 |
|
95 |
-
#: s2member/includes/classes/files-in.inc.php:
|
96 |
msgctxt "s2member-front"
|
97 |
msgid "<strong>503: Access denied.</strong> Invalid File Download specs."
|
98 |
msgstr ""
|
99 |
|
100 |
-
#: s2member/includes/classes/files-in.inc.php:
|
101 |
msgctxt "s2member-front"
|
102 |
msgid "Members Only"
|
103 |
msgstr ""
|
104 |
|
105 |
-
#: s2member/includes/classes/files-in.inc.php:
|
106 |
msgctxt "s2member-front"
|
107 |
msgid "<strong>401:</strong> Sorry, access denied."
|
108 |
msgstr ""
|
@@ -111,12 +111,12 @@ msgstr ""
|
|
111 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
112 |
#. `%s` if you like.
|
113 |
|
114 |
-
#: s2member/includes/classes/files-in.inc.php:
|
115 |
msgctxt "s2member-admin"
|
116 |
msgid "Unable to update existing Amazon® S3 Cross-Domain Policy. %s"
|
117 |
msgstr ""
|
118 |
|
119 |
-
#: s2member/includes/classes/files-in.inc.php:
|
120 |
msgctxt "s2member-admin"
|
121 |
msgid "Unable to update existing Amazon® S3 Cross-Domain Policy. Connection failed."
|
122 |
msgstr ""
|
@@ -125,12 +125,12 @@ msgstr ""
|
|
125 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
126 |
#. `%s` if you like.
|
127 |
|
128 |
-
#: s2member/includes/classes/files-in.inc.php:
|
129 |
msgctxt "s2member-admin"
|
130 |
msgid "Unable to update existing Amazon® S3 Bucket Policy. %s"
|
131 |
msgstr ""
|
132 |
|
133 |
-
#: s2member/includes/classes/files-in.inc.php:
|
134 |
msgctxt "s2member-admin"
|
135 |
msgid "Unable to update existing Amazon® S3 Bucket Policy. Connection failed."
|
136 |
msgstr ""
|
@@ -139,17 +139,17 @@ msgstr ""
|
|
139 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
140 |
#. `%s` if you like.
|
141 |
|
142 |
-
#: s2member/includes/classes/files-in.inc.php:
|
143 |
msgctxt "s2member-admin"
|
144 |
msgid "Unable to update existing Amazon® S3 Bucket ACLs. %s"
|
145 |
msgstr ""
|
146 |
|
147 |
-
#: s2member/includes/classes/files-in.inc.php:
|
148 |
msgctxt "s2member-admin"
|
149 |
msgid "Unable to update existing Amazon® S3 Bucket ACLs. Connection failed."
|
150 |
msgstr ""
|
151 |
|
152 |
-
#: s2member/includes/classes/files-in.inc.php:
|
153 |
msgctxt "s2member-admin"
|
154 |
msgid "Unable to acquire/read existing Amazon® S3 Bucket ACLs. Unexpected response."
|
155 |
msgstr ""
|
@@ -158,22 +158,22 @@ msgstr ""
|
|
158 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
159 |
#. `%s` if you like.
|
160 |
|
161 |
-
#: s2member/includes/classes/files-in.inc.php:
|
162 |
msgctxt "s2member-admin"
|
163 |
msgid "Unable to acquire existing Amazon® S3 Bucket ACLs. %s"
|
164 |
msgstr ""
|
165 |
|
166 |
-
#: s2member/includes/classes/files-in.inc.php:
|
167 |
msgctxt "s2member-admin"
|
168 |
msgid "Unable to acquire existing Amazon® S3 Bucket ACLs. Connection failed."
|
169 |
msgstr ""
|
170 |
|
171 |
-
#: s2member/includes/classes/files-in.inc.php:
|
172 |
msgctxt "s2member-admin"
|
173 |
msgid "Unable to auto-configure existing Amazon® S3 Bucket ACLs. Incomplete Amazon® S3 configuration options. Missing one of: Amazon® S3 Bucket, Access Key, or Secret Key."
|
174 |
msgstr ""
|
175 |
|
176 |
-
#: s2member/includes/classes/files-in.inc.php:
|
177 |
msgctxt "s2member-admin"
|
178 |
msgid "Unable to delete existing Amazon® CloudFront Downloads Distro. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
179 |
msgstr ""
|
@@ -182,12 +182,12 @@ msgstr ""
|
|
182 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
183 |
#. exclude `%s` if you like.
|
184 |
|
185 |
-
#: s2member/includes/classes/files-in.inc.php:
|
186 |
msgctxt "s2member-admin"
|
187 |
msgid "Unable to delete existing Amazon® CloudFront Downloads Distro. %s"
|
188 |
msgstr ""
|
189 |
|
190 |
-
#: s2member/includes/classes/files-in.inc.php:
|
191 |
msgctxt "s2member-admin"
|
192 |
msgid "Unable to delete existing Amazon® CloudFront Streaming Distro. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
193 |
msgstr ""
|
@@ -196,7 +196,7 @@ msgstr ""
|
|
196 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
197 |
#. exclude `%s` if you like.
|
198 |
|
199 |
-
#: s2member/includes/classes/files-in.inc.php:
|
200 |
msgctxt "s2member-admin"
|
201 |
msgid "Unable to delete existing Amazon® CloudFront Streaming Distro. %s"
|
202 |
msgstr ""
|
@@ -205,8 +205,8 @@ msgstr ""
|
|
205 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
206 |
#. exclude `%s` if you like.
|
207 |
|
208 |
-
#: s2member/includes/classes/files-in.inc.php:
|
209 |
-
#: s2member/includes/classes/files-in.inc.php:
|
210 |
msgctxt "s2member-admin"
|
211 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. %s"
|
212 |
msgstr ""
|
@@ -215,12 +215,12 @@ msgstr ""
|
|
215 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
216 |
#. `%s` if you like.
|
217 |
|
218 |
-
#: s2member/includes/classes/files-in.inc.php:
|
219 |
msgctxt "s2member-admin"
|
220 |
msgid "Unable to update existing Amazon® S3 ACLs. %s"
|
221 |
msgstr ""
|
222 |
|
223 |
-
#: s2member/includes/classes/files-in.inc.php:
|
224 |
msgctxt "s2member-admin"
|
225 |
msgid "Unable to update existing Amazon® S3 ACLs. Connection failed."
|
226 |
msgstr ""
|
@@ -229,14 +229,14 @@ msgstr ""
|
|
229 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
230 |
#. exclude `%s` if you like.
|
231 |
|
232 |
-
#: s2member/includes/classes/files-in.inc.php:
|
233 |
-
#: s2member/includes/classes/files-in.inc.php:
|
234 |
msgctxt "s2member-admin"
|
235 |
msgid "Unable to create Amazon® CloudFront Streaming Distro. %s"
|
236 |
msgstr ""
|
237 |
|
238 |
-
#: s2member/includes/classes/files-in.inc.php:
|
239 |
-
#: s2member/includes/classes/files-in.inc.php:
|
240 |
msgctxt "s2member-admin"
|
241 |
msgid "Unable to create Amazon® CloudFront Streaming Distro. Connection failed."
|
242 |
msgstr ""
|
@@ -245,14 +245,14 @@ msgstr ""
|
|
245 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
246 |
#. exclude `%s` if you like.
|
247 |
|
248 |
-
#: s2member/includes/classes/files-in.inc.php:
|
249 |
-
#: s2member/includes/classes/files-in.inc.php:
|
250 |
msgctxt "s2member-admin"
|
251 |
msgid "Unable to create Amazon® CloudFront Downloads Distro. %s"
|
252 |
msgstr ""
|
253 |
|
254 |
-
#: s2member/includes/classes/files-in.inc.php:
|
255 |
-
#: s2member/includes/classes/files-in.inc.php:
|
256 |
msgctxt "s2member-admin"
|
257 |
msgid "Unable to create Amazon® CloudFront Downloads Distro. Connection failed."
|
258 |
msgstr ""
|
@@ -261,19 +261,19 @@ msgstr ""
|
|
261 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
262 |
#. exclude `%s` if you like.
|
263 |
|
264 |
-
#: s2member/includes/classes/files-in.inc.php:
|
265 |
-
#: s2member/includes/classes/files-in.inc.php:
|
266 |
msgctxt "s2member-admin"
|
267 |
msgid "Unable to create Amazon® CloudFront Origin Access Identity. %s"
|
268 |
msgstr ""
|
269 |
|
270 |
-
#: s2member/includes/classes/files-in.inc.php:
|
271 |
-
#: s2member/includes/classes/files-in.inc.php:
|
272 |
msgctxt "s2member-admin"
|
273 |
msgid "Unable to create Amazon® CloudFront Origin Access Identity. Connection failed."
|
274 |
msgstr ""
|
275 |
|
276 |
-
#: s2member/includes/classes/files-in.inc.php:
|
277 |
msgctxt "s2member-admin"
|
278 |
msgid "Unable to clear existing Amazon® CloudFront Origin Access Identity."
|
279 |
msgstr ""
|
@@ -282,19 +282,19 @@ msgstr ""
|
|
282 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
283 |
#. exclude `%s` if you like.
|
284 |
|
285 |
-
#: s2member/includes/classes/files-in.inc.php:
|
286 |
-
#: s2member/includes/classes/files-in.inc.php:
|
287 |
msgctxt "s2member-admin"
|
288 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. %s"
|
289 |
msgstr ""
|
290 |
|
291 |
-
#: s2member/includes/classes/files-in.inc.php:
|
292 |
-
#: s2member/includes/classes/files-in.inc.php:
|
293 |
msgctxt "s2member-admin"
|
294 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. Connection failed."
|
295 |
msgstr ""
|
296 |
|
297 |
-
#: s2member/includes/classes/files-in.inc.php:
|
298 |
msgctxt "s2member-admin"
|
299 |
msgid "Unable to clear existing Amazon® CloudFront Streaming Distro."
|
300 |
msgstr ""
|
@@ -303,17 +303,17 @@ msgstr ""
|
|
303 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
304 |
#. exclude `%s` if you like.
|
305 |
|
306 |
-
#: s2member/includes/classes/files-in.inc.php:
|
307 |
msgctxt "s2member-admin"
|
308 |
msgid "Unable to acquire existing Amazon® CloudFront Streaming Distro. %s"
|
309 |
msgstr ""
|
310 |
|
311 |
-
#: s2member/includes/classes/files-in.inc.php:
|
312 |
msgctxt "s2member-admin"
|
313 |
msgid "Unable to acquire existing Amazon® CloudFront Streaming Distro. Connection failed."
|
314 |
msgstr ""
|
315 |
|
316 |
-
#: s2member/includes/classes/files-in.inc.php:
|
317 |
msgctxt "s2member-admin"
|
318 |
msgid "Unable to clear existing Amazon® CloudFront Downloads Distro."
|
319 |
msgstr ""
|
@@ -322,22 +322,22 @@ msgstr ""
|
|
322 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
323 |
#. exclude `%s` if you like.
|
324 |
|
325 |
-
#: s2member/includes/classes/files-in.inc.php:
|
326 |
msgctxt "s2member-admin"
|
327 |
msgid "Unable to acquire existing Amazon® CloudFront Downloads Distro. %s"
|
328 |
msgstr ""
|
329 |
|
330 |
-
#: s2member/includes/classes/files-in.inc.php:
|
331 |
msgctxt "s2member-admin"
|
332 |
msgid "Unable to acquire existing Amazon® CloudFront Downloads Distro. Connection failed."
|
333 |
msgstr ""
|
334 |
|
335 |
-
#: s2member/includes/classes/files-in.inc.php:
|
336 |
msgctxt "s2member-admin"
|
337 |
msgid "Unable to auto-configure Amazon® CloudFront Distros. Incomplete Amazon® CloudFront configuration options. Missing of one: Amazon® CloudFront Private Key-Pair-ID, or Private Key file contents."
|
338 |
msgstr ""
|
339 |
|
340 |
-
#: s2member/includes/classes/files-in.inc.php:
|
341 |
msgctxt "s2member-admin"
|
342 |
msgid "Unable to auto-configure Amazon® S3/CloudFront Distros. Incomplete Amazon® S3 configuration options. Missing one of: Amazon® S3 Bucket, Access Key, or Secret Key. You must provide s2Member with an Amazon® S3 configuration before enabling CloudFront."
|
343 |
msgstr ""
|
@@ -346,34 +346,34 @@ msgstr ""
|
|
346 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
347 |
#. exclude `%s` if you like.
|
348 |
|
349 |
-
#: s2member/includes/classes/files-in.inc.php:
|
350 |
msgctxt "s2member-admin"
|
351 |
msgid "Existing Amazon® CloudFront Origin Access Identity NOT found. %s"
|
352 |
msgstr ""
|
353 |
|
354 |
-
#: s2member/includes/classes/files-in.inc.php:
|
355 |
msgctxt "s2member-admin"
|
356 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. Invalid Access ID."
|
357 |
msgstr ""
|
358 |
|
359 |
-
#: s2member/includes/classes/files-in.inc.php:
|
360 |
msgctxt "s2member-admin"
|
361 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. Connection failed."
|
362 |
msgstr ""
|
363 |
|
364 |
-
#: s2member/includes/classes/files-in.inc.php:
|
365 |
msgctxt "s2member-admin"
|
366 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. Invalid Access ID, ETag, or XML config."
|
367 |
msgstr ""
|
368 |
|
369 |
-
#: s2member/includes/classes/files-in.inc.php:
|
370 |
-
#: s2member/includes/classes/files-in.inc.php:
|
371 |
-
#: s2member/includes/classes/files-in.inc.php:
|
372 |
msgctxt "s2member-admin"
|
373 |
msgid "Created by s2Member, for S3 Bucket: %s."
|
374 |
msgstr ""
|
375 |
|
376 |
-
#: s2member/includes/classes/files-in.inc.php:
|
377 |
msgctxt "s2member-admin"
|
378 |
msgid "Unable to create/read Amazon® CloudFront Origin Access Identity. Unexpected response."
|
379 |
msgstr ""
|
@@ -382,7 +382,7 @@ msgstr ""
|
|
382 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
383 |
#. exclude `%s` if you like.
|
384 |
|
385 |
-
#: s2member/includes/classes/files-in.inc.php:
|
386 |
msgctxt "s2member-admin"
|
387 |
msgid "Existing Amazon® CloudFront Distro NOT found. %s"
|
388 |
msgstr ""
|
@@ -391,17 +391,17 @@ msgstr ""
|
|
391 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
392 |
#. exclude `%s` if you like.
|
393 |
|
394 |
-
#: s2member/includes/classes/files-in.inc.php:
|
395 |
msgctxt "s2member-admin"
|
396 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. %s"
|
397 |
msgstr ""
|
398 |
|
399 |
-
#: s2member/includes/classes/files-in.inc.php:
|
400 |
msgctxt "s2member-admin"
|
401 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. Connection failed."
|
402 |
msgstr ""
|
403 |
|
404 |
-
#: s2member/includes/classes/files-in.inc.php:
|
405 |
msgctxt "s2member-admin"
|
406 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. Invalid Distro ID and/or Distro type."
|
407 |
msgstr ""
|
@@ -410,24 +410,24 @@ msgstr ""
|
|
410 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
411 |
#. exclude `%s` if you like.
|
412 |
|
413 |
-
#: s2member/includes/classes/files-in.inc.php:
|
414 |
-
#: s2member/includes/classes/files-in.inc.php:
|
415 |
msgctxt "s2member-admin"
|
416 |
msgid "Unable to disable existing Amazon® CloudFront Distro. %s"
|
417 |
msgstr ""
|
418 |
|
419 |
-
#: s2member/includes/classes/files-in.inc.php:
|
420 |
-
#: s2member/includes/classes/files-in.inc.php:
|
421 |
msgctxt "s2member-admin"
|
422 |
msgid "Unable to disable existing Amazon® CloudFront Distro. Connection failed."
|
423 |
msgstr ""
|
424 |
|
425 |
-
#: s2member/includes/classes/files-in.inc.php:
|
426 |
msgctxt "s2member-admin"
|
427 |
msgid "Existing Amazon® CloudFront Distro cannot be disabled at this time. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
428 |
msgstr ""
|
429 |
|
430 |
-
#: s2member/includes/classes/files-in.inc.php:
|
431 |
msgctxt "s2member-admin"
|
432 |
msgid "Unable to disable existing Amazon® CloudFront Distro. Invalid Distro ID, ETag, or XML config."
|
433 |
msgstr ""
|
@@ -436,12 +436,12 @@ msgstr ""
|
|
436 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
437 |
#. exclude `%s` if you like.
|
438 |
|
439 |
-
#: s2member/includes/classes/files-in.inc.php:
|
440 |
msgctxt "s2member-admin"
|
441 |
msgid "Unable to delete existing Amazon® CloudFront Distro. %s"
|
442 |
msgstr ""
|
443 |
|
444 |
-
#: s2member/includes/classes/files-in.inc.php:
|
445 |
msgctxt "s2member-admin"
|
446 |
msgid "Unable to delete existing Amazon® CloudFront Distro. Connection failed."
|
447 |
msgstr ""
|
@@ -450,7 +450,7 @@ msgstr ""
|
|
450 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
451 |
#. exclude `%s` if you like.
|
452 |
|
453 |
-
#: s2member/includes/classes/files-in.inc.php:
|
454 |
msgctxt "s2member-admin"
|
455 |
msgid "Existing Amazon® CloudFront Distro cannot be deleted at this time. Still in a `pending` state after having been disabled by s2Member. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
456 |
msgstr ""
|
@@ -459,37 +459,37 @@ msgstr ""
|
|
459 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
460 |
#. exclude `%s` if you like.
|
461 |
|
462 |
-
#: s2member/includes/classes/files-in.inc.php:
|
463 |
msgctxt "s2member-admin"
|
464 |
msgid "Unable to check status of existing Amazon® CloudFront Distro. %s"
|
465 |
msgstr ""
|
466 |
|
467 |
-
#: s2member/includes/classes/files-in.inc.php:
|
468 |
msgctxt "s2member-admin"
|
469 |
msgid "Unable to check status of existing Amazon® CloudFront Distro. Connection failed."
|
470 |
msgstr ""
|
471 |
|
472 |
-
#: s2member/includes/classes/files-in.inc.php:
|
473 |
msgctxt "s2member-admin"
|
474 |
msgid "Existing Amazon® CloudFront Distro cannot be deleted at this time. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
475 |
msgstr ""
|
476 |
|
477 |
-
#: s2member/includes/classes/files-in.inc.php:
|
478 |
msgctxt "s2member-admin"
|
479 |
msgid "Unable to delete existing Amazon® CloudFront Distro. Invalid Distro ID or ETag."
|
480 |
msgstr ""
|
481 |
|
482 |
-
#: s2member/includes/classes/files-in.inc.php:
|
483 |
msgctxt "s2member-admin"
|
484 |
msgid "Unable to create/read Amazon® CloudFront Downloads Distro. Unexpected response."
|
485 |
msgstr ""
|
486 |
|
487 |
-
#: s2member/includes/classes/files-in.inc.php:
|
488 |
msgctxt "s2member-admin"
|
489 |
msgid "Unable to create/read Amazon® CloudFront Streaming Distro. Unexpected response."
|
490 |
msgstr ""
|
491 |
|
492 |
-
#: s2member/includes/classes/files-in.inc.php:
|
493 |
msgctxt "s2member-admin"
|
494 |
msgid "Unable to create Amazon® CloudFront Distro. Invalid Distro type."
|
495 |
msgstr ""
|
@@ -555,7 +555,7 @@ msgstr ""
|
|
555 |
#: s2member/includes/classes/paypal-return-in-web-accept-sp.inc.php:131
|
556 |
#: s2member/includes/classes/paypal-return-in.inc.php:91
|
557 |
#: s2member/includes/classes/paypal-return-in.inc.php:108
|
558 |
-
#: s2member/includes/classes/paypal-return-in.inc.php:
|
559 |
msgctxt "s2member-front"
|
560 |
msgid "Back To Home Page"
|
561 |
msgstr ""
|
@@ -645,7 +645,7 @@ msgctxt "s2member-front"
|
|
645 |
msgid "<strong>ERROR:</strong> Unable to verify <code>$_SERVER[\"HTTP_HOST\"]</code>.<br />Please contact Support for assistance.<br /><br />If you are the site owner, please check the <code>custom</code> value in your Button Code. It MUST start with your domain name."
|
646 |
msgstr ""
|
647 |
|
648 |
-
#: s2member/includes/classes/paypal-return-in.inc.php:
|
649 |
msgctxt "s2member-front"
|
650 |
msgid "<strong>ERROR:</strong> Unable to verify <code>$_POST</code> vars.<br />Please contact Support for assistance.<br /><br />This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility. If you are the site owner, and you're absolutely SURE that your configuration is valid, you may want to run some tests on your server, just to be sure <code>$_POST</code> variables are populated, and that your server is able to connect/communicate with your Payment Gateway over an HTTPS connection.<br /><br />s2Member uses the <code>WP_Http</code> class for remote connections; which will try to use <code>cURL</code> first, and then fall back on the <code>FOPEN</code> method when <code>cURL</code> is not available. On a Windows® server, you may have to disable your <code>cURL</code> extension; and instead, set <code>allow_url_fopen = yes</code> in your php.ini file. The <code>cURL</code> extension (usually) does NOT support SSL connections on a Windows® server.<br /><br />Please see <a href=\"http://www.s2member.com/forums/topic/ideal-server-configuration-for-s2member/\" target=\"_blank\">this thread</a> for details regarding the ideal server configuration for s2Member."
|
651 |
msgstr ""
|
@@ -661,24 +661,24 @@ msgid "Error #%1$s. %2$s. %3$s."
|
|
661 |
msgstr ""
|
662 |
|
663 |
#: s2member/includes/classes/paypal-utilities.inc.php:188
|
664 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
665 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
666 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:97
|
667 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
668 |
msgctxt "s2member-front"
|
669 |
msgid "Error. Please contact Support for assistance."
|
670 |
msgstr ""
|
671 |
|
672 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
673 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
674 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:363
|
675 |
#: s2member/includes/classes/paypal-utilities.inc.php:369
|
|
|
676 |
msgctxt "s2member-front"
|
677 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
678 |
msgstr ""
|
679 |
|
680 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
681 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
682 |
msgctxt "s2member-front"
|
683 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
684 |
msgstr ""
|
@@ -698,10 +698,10 @@ msgstr ""
|
|
698 |
#. ``$response["__error"]`` with
|
699 |
#. `ws_plugin__s2member_pro_authnet_arb_response`.
|
700 |
|
701 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
702 |
-
#: s2member/includes/classes/paypal-utilities.inc.php:
|
703 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:94
|
704 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
705 |
msgctxt "s2member-front"
|
706 |
msgid "Error #%1$s. %2$s."
|
707 |
msgstr ""
|
@@ -1438,22 +1438,22 @@ msgctxt "s2member-front"
|
|
1438 |
msgid "Processing"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
-
#: s2member/includes/syscon.inc.php:
|
1442 |
msgctxt "s2member-front recaptcha-lang-code"
|
1443 |
msgid "en"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
-
#: s2member/includes/syscon.inc.php:
|
1447 |
msgctxt "s2member-front"
|
1448 |
msgid "Yes, I want to receive updates via email."
|
1449 |
msgstr ""
|
1450 |
|
1451 |
-
#: s2member/includes/syscon.inc.php:
|
1452 |
msgctxt "s2member-front"
|
1453 |
msgid "[%s] Username/Password"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
-
#: s2member/includes/syscon.inc.php:
|
1457 |
msgctxt "s2member-front"
|
1458 |
msgid ""
|
1459 |
"Your Username/Password for:\n"
|
@@ -1464,12 +1464,12 @@ msgid ""
|
|
1464 |
"%%%%wp_login_url%%%%"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
-
#: s2member/includes/syscon.inc.php:
|
1468 |
msgctxt "s2member-front"
|
1469 |
msgid "[%s] New User Registration"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
-
#: s2member/includes/syscon.inc.php:
|
1473 |
msgctxt "s2member-front"
|
1474 |
msgid ""
|
1475 |
"New User Registration on your site:\n"
|
@@ -1481,12 +1481,12 @@ msgid ""
|
|
1481 |
"IP Address: %%%%user_ip%%%%"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
-
#: s2member/includes/syscon.inc.php:
|
1485 |
msgctxt "s2member-front"
|
1486 |
msgid "Congratulations! (your membership has been approved)"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
-
#: s2member/includes/syscon.inc.php:
|
1490 |
msgctxt "s2member-front"
|
1491 |
msgid ""
|
1492 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
@@ -1502,12 +1502,12 @@ msgid ""
|
|
1502 |
"%s"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
-
#: s2member/includes/syscon.inc.php:
|
1506 |
msgctxt "s2member-front"
|
1507 |
msgid "Thank You! (instructions for access)"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
-
#: s2member/includes/syscon.inc.php:
|
1511 |
msgctxt "s2member-front"
|
1512 |
msgid ""
|
1513 |
"Thanks %%%%first_name%%%%!\n"
|
@@ -1524,32 +1524,32 @@ msgid ""
|
|
1524 |
"%s"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
-
#: s2member/includes/syscon.inc.php:
|
1528 |
msgctxt "s2member-front"
|
1529 |
msgid "Free Subscriber"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
-
#: s2member/includes/syscon.inc.php:
|
1533 |
msgctxt "s2member-front"
|
1534 |
msgid "Bronze Member"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
-
#: s2member/includes/syscon.inc.php:
|
1538 |
msgctxt "s2member-front"
|
1539 |
msgid "Silver Member"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
-
#: s2member/includes/syscon.inc.php:
|
1543 |
msgctxt "s2member-front"
|
1544 |
msgid "Gold Member"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
-
#: s2member/includes/syscon.inc.php:
|
1548 |
msgctxt "s2member-front"
|
1549 |
msgid "Platinum Member"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
-
#: s2member/includes/syscon.inc.php:
|
1553 |
msgctxt "s2member-front"
|
1554 |
msgid "Level %s Member"
|
1555 |
msgstr ""
|
@@ -2855,10 +2855,8 @@ msgstr ""
|
|
2855 |
|
2856 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:344
|
2857 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:472
|
2858 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:409
|
2859 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:546
|
2860 |
msgctxt "s2member-admin"
|
2861 |
-
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be <=
|
2862 |
msgstr ""
|
2863 |
|
2864 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:349
|
@@ -2930,9 +2928,8 @@ msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. W
|
|
2930 |
msgstr ""
|
2931 |
|
2932 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:415
|
2933 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:486
|
2934 |
msgctxt "s2member-admin"
|
2935 |
-
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be <=
|
2936 |
msgstr ""
|
2937 |
|
2938 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:418
|
@@ -3360,26 +3357,26 @@ msgctxt "s2member-front"
|
|
3360 |
msgid "<strong>Oops.</strong> No Subscr. ID. Please contact Support for assistance."
|
3361 |
msgstr ""
|
3362 |
|
3363 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3364 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3365 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:271
|
3366 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:414
|
3367 |
msgctxt "s2member-front percentage-symbol"
|
3368 |
msgid "%"
|
3369 |
msgstr ""
|
3370 |
|
3371 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3372 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:413
|
3373 |
msgctxt "s2member-front"
|
3374 |
msgid " + tax"
|
3375 |
msgstr ""
|
3376 |
|
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/authnet/authnet-utilities.inc.php:
|
3381 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3382 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3383 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:458
|
3384 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:510
|
3385 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:523
|
@@ -3390,12 +3387,12 @@ msgctxt "s2member-front"
|
|
3390 |
msgid "COUPON %s off. (Now: %s)"
|
3391 |
msgstr ""
|
3392 |
|
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/authnet/authnet-utilities.inc.php:
|
3397 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3398 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3399 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:459
|
3400 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:511
|
3401 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:524
|
@@ -3406,12 +3403,12 @@ msgctxt "s2member-front"
|
|
3406 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s</strong>)</div>"
|
3407 |
msgstr ""
|
3408 |
|
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/authnet/authnet-utilities.inc.php:
|
3413 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3414 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3415 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:471
|
3416 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:484
|
3417 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:497
|
@@ -3422,12 +3419,12 @@ msgctxt "s2member-front"
|
|
3422 |
msgid "COUPON %s off. (Now: %s, then %s)"
|
3423 |
msgstr ""
|
3424 |
|
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/authnet/authnet-utilities.inc.php:
|
3429 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3430 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3431 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:472
|
3432 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:485
|
3433 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:498
|
@@ -3438,27 +3435,27 @@ msgctxt "s2member-front"
|
|
3438 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s, then %s</strong>)</div>"
|
3439 |
msgstr ""
|
3440 |
|
3441 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3442 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3443 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:528
|
3444 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:625
|
3445 |
msgctxt "s2member-front"
|
3446 |
msgid "<div>Sorry, your Coupon is not applicable.</div>"
|
3447 |
msgstr ""
|
3448 |
|
3449 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3450 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:629
|
3451 |
msgctxt "s2member-front"
|
3452 |
msgid "<div>Coupon: <strong>%s0.00 off</strong>.</div>"
|
3453 |
msgstr ""
|
3454 |
|
3455 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3456 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:633
|
3457 |
msgctxt "s2member-front"
|
3458 |
msgid "<div>Sorry, your Coupon cannot be applied to this particular purchase.</div>"
|
3459 |
msgstr ""
|
3460 |
|
3461 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3462 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:637
|
3463 |
msgctxt "s2member-front"
|
3464 |
msgid "<div>Sorry, your Coupon <strong>expired</strong>: <em>%s</em>.</div>"
|
@@ -3467,14 +3464,14 @@ msgstr ""
|
|
3467 |
#. translators: `%1$s` is new price/description, after coupon applied. `%2$s`
|
3468 |
#. is original description.
|
3469 |
|
3470 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3471 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:643
|
3472 |
msgctxt "s2member-front"
|
3473 |
msgid "%1$s ~ ORIGINALLY: %2$s"
|
3474 |
msgstr ""
|
3475 |
|
3476 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3477 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3478 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:672
|
3479 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:675
|
3480 |
msgctxt "s2member-front"
|
@@ -3708,6 +3705,17 @@ msgctxt "s2member-admin"
|
|
3708 |
msgid "Invalid form configuration. Invalid \"lc\" attribute. Locale Code. When provided, must be a 2 character country code."
|
3709 |
msgstr ""
|
3710 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3711 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:513
|
3712 |
msgctxt "s2member-admin"
|
3713 |
msgid "Invalid Payflow® form configuration. Invalid \"rt, rp, rr\" attributes. Payflow® supports a specific set of recurring intervals. Pro Forms can be configured to charge: daily, weekly, bi-weekly, monthly, quarterly, semi-yearly or yearly. Any other combination results in this error. This is a Payflow® limitation."
|
2 |
# This file is distributed under the same license as the s2Member® Framework package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: s2Member® Framework 130404\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
+
"POT-Creation-Date: 2013-04-04 23:53:24+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
92 |
msgid "<strong>503: Basic File Downloads are NOT enabled yet.</strong> Please contact Support for assistance. If you are the site owner, please configure: <code>s2Member -› Download Options -› Basic Download Restrictions</code>."
|
93 |
msgstr ""
|
94 |
|
95 |
+
#: s2member/includes/classes/files-in.inc.php:502
|
96 |
msgctxt "s2member-front"
|
97 |
msgid "<strong>503: Access denied.</strong> Invalid File Download specs."
|
98 |
msgstr ""
|
99 |
|
100 |
+
#: s2member/includes/classes/files-in.inc.php:588
|
101 |
msgctxt "s2member-front"
|
102 |
msgid "Members Only"
|
103 |
msgstr ""
|
104 |
|
105 |
+
#: s2member/includes/classes/files-in.inc.php:594
|
106 |
msgctxt "s2member-front"
|
107 |
msgid "<strong>401:</strong> Sorry, access denied."
|
108 |
msgstr ""
|
111 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
112 |
#. `%s` if you like.
|
113 |
|
114 |
+
#: s2member/includes/classes/files-in.inc.php:733
|
115 |
msgctxt "s2member-admin"
|
116 |
msgid "Unable to update existing Amazon® S3 Cross-Domain Policy. %s"
|
117 |
msgstr ""
|
118 |
|
119 |
+
#: s2member/includes/classes/files-in.inc.php:736
|
120 |
msgctxt "s2member-admin"
|
121 |
msgid "Unable to update existing Amazon® S3 Cross-Domain Policy. Connection failed."
|
122 |
msgstr ""
|
125 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
126 |
#. `%s` if you like.
|
127 |
|
128 |
+
#: s2member/includes/classes/files-in.inc.php:740
|
129 |
msgctxt "s2member-admin"
|
130 |
msgid "Unable to update existing Amazon® S3 Bucket Policy. %s"
|
131 |
msgstr ""
|
132 |
|
133 |
+
#: s2member/includes/classes/files-in.inc.php:743
|
134 |
msgctxt "s2member-admin"
|
135 |
msgid "Unable to update existing Amazon® S3 Bucket Policy. Connection failed."
|
136 |
msgstr ""
|
139 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
140 |
#. `%s` if you like.
|
141 |
|
142 |
+
#: s2member/includes/classes/files-in.inc.php:747
|
143 |
msgctxt "s2member-admin"
|
144 |
msgid "Unable to update existing Amazon® S3 Bucket ACLs. %s"
|
145 |
msgstr ""
|
146 |
|
147 |
+
#: s2member/includes/classes/files-in.inc.php:750
|
148 |
msgctxt "s2member-admin"
|
149 |
msgid "Unable to update existing Amazon® S3 Bucket ACLs. Connection failed."
|
150 |
msgstr ""
|
151 |
|
152 |
+
#: s2member/includes/classes/files-in.inc.php:753
|
153 |
msgctxt "s2member-admin"
|
154 |
msgid "Unable to acquire/read existing Amazon® S3 Bucket ACLs. Unexpected response."
|
155 |
msgstr ""
|
158 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
159 |
#. `%s` if you like.
|
160 |
|
161 |
+
#: s2member/includes/classes/files-in.inc.php:757
|
162 |
msgctxt "s2member-admin"
|
163 |
msgid "Unable to acquire existing Amazon® S3 Bucket ACLs. %s"
|
164 |
msgstr ""
|
165 |
|
166 |
+
#: s2member/includes/classes/files-in.inc.php:760
|
167 |
msgctxt "s2member-admin"
|
168 |
msgid "Unable to acquire existing Amazon® S3 Bucket ACLs. Connection failed."
|
169 |
msgstr ""
|
170 |
|
171 |
+
#: s2member/includes/classes/files-in.inc.php:763
|
172 |
msgctxt "s2member-admin"
|
173 |
msgid "Unable to auto-configure existing Amazon® S3 Bucket ACLs. Incomplete Amazon® S3 configuration options. Missing one of: Amazon® S3 Bucket, Access Key, or Secret Key."
|
174 |
msgstr ""
|
175 |
|
176 |
+
#: s2member/includes/classes/files-in.inc.php:863
|
177 |
msgctxt "s2member-admin"
|
178 |
msgid "Unable to delete existing Amazon® CloudFront Downloads Distro. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
179 |
msgstr ""
|
182 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
183 |
#. exclude `%s` if you like.
|
184 |
|
185 |
+
#: s2member/includes/classes/files-in.inc.php:870
|
186 |
msgctxt "s2member-admin"
|
187 |
msgid "Unable to delete existing Amazon® CloudFront Downloads Distro. %s"
|
188 |
msgstr ""
|
189 |
|
190 |
+
#: s2member/includes/classes/files-in.inc.php:882
|
191 |
msgctxt "s2member-admin"
|
192 |
msgid "Unable to delete existing Amazon® CloudFront Streaming Distro. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
193 |
msgstr ""
|
196 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
197 |
#. exclude `%s` if you like.
|
198 |
|
199 |
+
#: s2member/includes/classes/files-in.inc.php:889
|
200 |
msgctxt "s2member-admin"
|
201 |
msgid "Unable to delete existing Amazon® CloudFront Streaming Distro. %s"
|
202 |
msgstr ""
|
205 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
206 |
#. exclude `%s` if you like.
|
207 |
|
208 |
+
#: s2member/includes/classes/files-in.inc.php:905
|
209 |
+
#: s2member/includes/classes/files-in.inc.php:1089
|
210 |
msgctxt "s2member-admin"
|
211 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. %s"
|
212 |
msgstr ""
|
215 |
#. message, which comes from the Amazon® S3 API call. Feel free to exclude
|
216 |
#. `%s` if you like.
|
217 |
|
218 |
+
#: s2member/includes/classes/files-in.inc.php:946
|
219 |
msgctxt "s2member-admin"
|
220 |
msgid "Unable to update existing Amazon® S3 ACLs. %s"
|
221 |
msgstr ""
|
222 |
|
223 |
+
#: s2member/includes/classes/files-in.inc.php:949
|
224 |
msgctxt "s2member-admin"
|
225 |
msgid "Unable to update existing Amazon® S3 ACLs. Connection failed."
|
226 |
msgstr ""
|
229 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
230 |
#. exclude `%s` if you like.
|
231 |
|
232 |
+
#: s2member/includes/classes/files-in.inc.php:953
|
233 |
+
#: s2member/includes/classes/files-in.inc.php:1376
|
234 |
msgctxt "s2member-admin"
|
235 |
msgid "Unable to create Amazon® CloudFront Streaming Distro. %s"
|
236 |
msgstr ""
|
237 |
|
238 |
+
#: s2member/includes/classes/files-in.inc.php:956
|
239 |
+
#: s2member/includes/classes/files-in.inc.php:1379
|
240 |
msgctxt "s2member-admin"
|
241 |
msgid "Unable to create Amazon® CloudFront Streaming Distro. Connection failed."
|
242 |
msgstr ""
|
245 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
246 |
#. exclude `%s` if you like.
|
247 |
|
248 |
+
#: s2member/includes/classes/files-in.inc.php:960
|
249 |
+
#: s2member/includes/classes/files-in.inc.php:1353
|
250 |
msgctxt "s2member-admin"
|
251 |
msgid "Unable to create Amazon® CloudFront Downloads Distro. %s"
|
252 |
msgstr ""
|
253 |
|
254 |
+
#: s2member/includes/classes/files-in.inc.php:963
|
255 |
+
#: s2member/includes/classes/files-in.inc.php:1356
|
256 |
msgctxt "s2member-admin"
|
257 |
msgid "Unable to create Amazon® CloudFront Downloads Distro. Connection failed."
|
258 |
msgstr ""
|
261 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
262 |
#. exclude `%s` if you like.
|
263 |
|
264 |
+
#: s2member/includes/classes/files-in.inc.php:967
|
265 |
+
#: s2member/includes/classes/files-in.inc.php:1134
|
266 |
msgctxt "s2member-admin"
|
267 |
msgid "Unable to create Amazon® CloudFront Origin Access Identity. %s"
|
268 |
msgstr ""
|
269 |
|
270 |
+
#: s2member/includes/classes/files-in.inc.php:970
|
271 |
+
#: s2member/includes/classes/files-in.inc.php:1137
|
272 |
msgctxt "s2member-admin"
|
273 |
msgid "Unable to create Amazon® CloudFront Origin Access Identity. Connection failed."
|
274 |
msgstr ""
|
275 |
|
276 |
+
#: s2member/includes/classes/files-in.inc.php:973
|
277 |
msgctxt "s2member-admin"
|
278 |
msgid "Unable to clear existing Amazon® CloudFront Origin Access Identity."
|
279 |
msgstr ""
|
282 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
283 |
#. exclude `%s` if you like.
|
284 |
|
285 |
+
#: s2member/includes/classes/files-in.inc.php:977
|
286 |
+
#: s2member/includes/classes/files-in.inc.php:1046
|
287 |
msgctxt "s2member-admin"
|
288 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. %s"
|
289 |
msgstr ""
|
290 |
|
291 |
+
#: s2member/includes/classes/files-in.inc.php:980
|
292 |
+
#: s2member/includes/classes/files-in.inc.php:1049
|
293 |
msgctxt "s2member-admin"
|
294 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. Connection failed."
|
295 |
msgstr ""
|
296 |
|
297 |
+
#: s2member/includes/classes/files-in.inc.php:983
|
298 |
msgctxt "s2member-admin"
|
299 |
msgid "Unable to clear existing Amazon® CloudFront Streaming Distro."
|
300 |
msgstr ""
|
303 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
304 |
#. exclude `%s` if you like.
|
305 |
|
306 |
+
#: s2member/includes/classes/files-in.inc.php:987
|
307 |
msgctxt "s2member-admin"
|
308 |
msgid "Unable to acquire existing Amazon® CloudFront Streaming Distro. %s"
|
309 |
msgstr ""
|
310 |
|
311 |
+
#: s2member/includes/classes/files-in.inc.php:990
|
312 |
msgctxt "s2member-admin"
|
313 |
msgid "Unable to acquire existing Amazon® CloudFront Streaming Distro. Connection failed."
|
314 |
msgstr ""
|
315 |
|
316 |
+
#: s2member/includes/classes/files-in.inc.php:993
|
317 |
msgctxt "s2member-admin"
|
318 |
msgid "Unable to clear existing Amazon® CloudFront Downloads Distro."
|
319 |
msgstr ""
|
322 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
323 |
#. exclude `%s` if you like.
|
324 |
|
325 |
+
#: s2member/includes/classes/files-in.inc.php:997
|
326 |
msgctxt "s2member-admin"
|
327 |
msgid "Unable to acquire existing Amazon® CloudFront Downloads Distro. %s"
|
328 |
msgstr ""
|
329 |
|
330 |
+
#: s2member/includes/classes/files-in.inc.php:1000
|
331 |
msgctxt "s2member-admin"
|
332 |
msgid "Unable to acquire existing Amazon® CloudFront Downloads Distro. Connection failed."
|
333 |
msgstr ""
|
334 |
|
335 |
+
#: s2member/includes/classes/files-in.inc.php:1003
|
336 |
msgctxt "s2member-admin"
|
337 |
msgid "Unable to auto-configure Amazon® CloudFront Distros. Incomplete Amazon® CloudFront configuration options. Missing of one: Amazon® CloudFront Private Key-Pair-ID, or Private Key file contents."
|
338 |
msgstr ""
|
339 |
|
340 |
+
#: s2member/includes/classes/files-in.inc.php:1006
|
341 |
msgctxt "s2member-admin"
|
342 |
msgid "Unable to auto-configure Amazon® S3/CloudFront Distros. Incomplete Amazon® S3 configuration options. Missing one of: Amazon® S3 Bucket, Access Key, or Secret Key. You must provide s2Member with an Amazon® S3 configuration before enabling CloudFront."
|
343 |
msgstr ""
|
346 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
347 |
#. exclude `%s` if you like.
|
348 |
|
349 |
+
#: s2member/includes/classes/files-in.inc.php:1042
|
350 |
msgctxt "s2member-admin"
|
351 |
msgid "Existing Amazon® CloudFront Origin Access Identity NOT found. %s"
|
352 |
msgstr ""
|
353 |
|
354 |
+
#: s2member/includes/classes/files-in.inc.php:1052
|
355 |
msgctxt "s2member-admin"
|
356 |
msgid "Unable to acquire existing Amazon® CloudFront Origin Access Identity. Invalid Access ID."
|
357 |
msgstr ""
|
358 |
|
359 |
+
#: s2member/includes/classes/files-in.inc.php:1092
|
360 |
msgctxt "s2member-admin"
|
361 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. Connection failed."
|
362 |
msgstr ""
|
363 |
|
364 |
+
#: s2member/includes/classes/files-in.inc.php:1095
|
365 |
msgctxt "s2member-admin"
|
366 |
msgid "Unable to delete existing Amazon® CloudFront Origin Access Identity. Invalid Access ID, ETag, or XML config."
|
367 |
msgstr ""
|
368 |
|
369 |
+
#: s2member/includes/classes/files-in.inc.php:1121
|
370 |
+
#: s2member/includes/classes/files-in.inc.php:1340
|
371 |
+
#: s2member/includes/classes/files-in.inc.php:1363
|
372 |
msgctxt "s2member-admin"
|
373 |
msgid "Created by s2Member, for S3 Bucket: %s."
|
374 |
msgstr ""
|
375 |
|
376 |
+
#: s2member/includes/classes/files-in.inc.php:1130
|
377 |
msgctxt "s2member-admin"
|
378 |
msgid "Unable to create/read Amazon® CloudFront Origin Access Identity. Unexpected response."
|
379 |
msgstr ""
|
382 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
383 |
#. exclude `%s` if you like.
|
384 |
|
385 |
+
#: s2member/includes/classes/files-in.inc.php:1174
|
386 |
msgctxt "s2member-admin"
|
387 |
msgid "Existing Amazon® CloudFront Distro NOT found. %s"
|
388 |
msgstr ""
|
391 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
392 |
#. exclude `%s` if you like.
|
393 |
|
394 |
+
#: s2member/includes/classes/files-in.inc.php:1178
|
395 |
msgctxt "s2member-admin"
|
396 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. %s"
|
397 |
msgstr ""
|
398 |
|
399 |
+
#: s2member/includes/classes/files-in.inc.php:1181
|
400 |
msgctxt "s2member-admin"
|
401 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. Connection failed."
|
402 |
msgstr ""
|
403 |
|
404 |
+
#: s2member/includes/classes/files-in.inc.php:1184
|
405 |
msgctxt "s2member-admin"
|
406 |
msgid "Unable to acquire existing Amazon® CloudFront Distro. Invalid Distro ID and/or Distro type."
|
407 |
msgstr ""
|
410 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
411 |
#. exclude `%s` if you like.
|
412 |
|
413 |
+
#: s2member/includes/classes/files-in.inc.php:1226
|
414 |
+
#: s2member/includes/classes/files-in.inc.php:1299
|
415 |
msgctxt "s2member-admin"
|
416 |
msgid "Unable to disable existing Amazon® CloudFront Distro. %s"
|
417 |
msgstr ""
|
418 |
|
419 |
+
#: s2member/includes/classes/files-in.inc.php:1229
|
420 |
+
#: s2member/includes/classes/files-in.inc.php:1302
|
421 |
msgctxt "s2member-admin"
|
422 |
msgid "Unable to disable existing Amazon® CloudFront Distro. Connection failed."
|
423 |
msgstr ""
|
424 |
|
425 |
+
#: s2member/includes/classes/files-in.inc.php:1232
|
426 |
msgctxt "s2member-admin"
|
427 |
msgid "Existing Amazon® CloudFront Distro cannot be disabled at this time. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
428 |
msgstr ""
|
429 |
|
430 |
+
#: s2member/includes/classes/files-in.inc.php:1238
|
431 |
msgctxt "s2member-admin"
|
432 |
msgid "Unable to disable existing Amazon® CloudFront Distro. Invalid Distro ID, ETag, or XML config."
|
433 |
msgstr ""
|
436 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
437 |
#. exclude `%s` if you like.
|
438 |
|
439 |
+
#: s2member/includes/classes/files-in.inc.php:1281
|
440 |
msgctxt "s2member-admin"
|
441 |
msgid "Unable to delete existing Amazon® CloudFront Distro. %s"
|
442 |
msgstr ""
|
443 |
|
444 |
+
#: s2member/includes/classes/files-in.inc.php:1284
|
445 |
msgctxt "s2member-admin"
|
446 |
msgid "Unable to delete existing Amazon® CloudFront Distro. Connection failed."
|
447 |
msgstr ""
|
450 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
451 |
#. exclude `%s` if you like.
|
452 |
|
453 |
+
#: s2member/includes/classes/files-in.inc.php:1288
|
454 |
msgctxt "s2member-admin"
|
455 |
msgid "Existing Amazon® CloudFront Distro cannot be deleted at this time. Still in a `pending` state after having been disabled by s2Member. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
456 |
msgstr ""
|
459 |
#. message, which comes from the Amazon® CloudFront API call. Feel free to
|
460 |
#. exclude `%s` if you like.
|
461 |
|
462 |
+
#: s2member/includes/classes/files-in.inc.php:1292
|
463 |
msgctxt "s2member-admin"
|
464 |
msgid "Unable to check status of existing Amazon® CloudFront Distro. %s"
|
465 |
msgstr ""
|
466 |
|
467 |
+
#: s2member/includes/classes/files-in.inc.php:1295
|
468 |
msgctxt "s2member-admin"
|
469 |
msgid "Unable to check status of existing Amazon® CloudFront Distro. Connection failed."
|
470 |
msgstr ""
|
471 |
|
472 |
+
#: s2member/includes/classes/files-in.inc.php:1305
|
473 |
msgctxt "s2member-admin"
|
474 |
msgid "Existing Amazon® CloudFront Distro cannot be deleted at this time. Still in a `pending` state. Please wait 15 minutes, then try again. There is a certain process that s2Member must strictly adhere to when re-configuring your Amazon® CloudFront Distros. You may have to tick the auto-configure checkbox again, and re-run s2Member's auto-configuration routine many times, because s2Member will likely run into several `pending` challenges, as it works to completely re-configure your Amazon® CloudFront Distros for you. Thanks for your patience. Please wait 15 minutes, then try again."
|
475 |
msgstr ""
|
476 |
|
477 |
+
#: s2member/includes/classes/files-in.inc.php:1308
|
478 |
msgctxt "s2member-admin"
|
479 |
msgid "Unable to delete existing Amazon® CloudFront Distro. Invalid Distro ID or ETag."
|
480 |
msgstr ""
|
481 |
|
482 |
+
#: s2member/includes/classes/files-in.inc.php:1349
|
483 |
msgctxt "s2member-admin"
|
484 |
msgid "Unable to create/read Amazon® CloudFront Downloads Distro. Unexpected response."
|
485 |
msgstr ""
|
486 |
|
487 |
+
#: s2member/includes/classes/files-in.inc.php:1372
|
488 |
msgctxt "s2member-admin"
|
489 |
msgid "Unable to create/read Amazon® CloudFront Streaming Distro. Unexpected response."
|
490 |
msgstr ""
|
491 |
|
492 |
+
#: s2member/includes/classes/files-in.inc.php:1383
|
493 |
msgctxt "s2member-admin"
|
494 |
msgid "Unable to create Amazon® CloudFront Distro. Invalid Distro type."
|
495 |
msgstr ""
|
555 |
#: s2member/includes/classes/paypal-return-in-web-accept-sp.inc.php:131
|
556 |
#: s2member/includes/classes/paypal-return-in.inc.php:91
|
557 |
#: s2member/includes/classes/paypal-return-in.inc.php:108
|
558 |
+
#: s2member/includes/classes/paypal-return-in.inc.php:134
|
559 |
msgctxt "s2member-front"
|
560 |
msgid "Back To Home Page"
|
561 |
msgstr ""
|
645 |
msgid "<strong>ERROR:</strong> Unable to verify <code>$_SERVER[\"HTTP_HOST\"]</code>.<br />Please contact Support for assistance.<br /><br />If you are the site owner, please check the <code>custom</code> value in your Button Code. It MUST start with your domain name."
|
646 |
msgstr ""
|
647 |
|
648 |
+
#: s2member/includes/classes/paypal-return-in.inc.php:133
|
649 |
msgctxt "s2member-front"
|
650 |
msgid "<strong>ERROR:</strong> Unable to verify <code>$_POST</code> vars.<br />Please contact Support for assistance.<br /><br />This is most likely related to an invalid configuration of s2Member, or a problem with server compatibility. If you are the site owner, and you're absolutely SURE that your configuration is valid, you may want to run some tests on your server, just to be sure <code>$_POST</code> variables are populated, and that your server is able to connect/communicate with your Payment Gateway over an HTTPS connection.<br /><br />s2Member uses the <code>WP_Http</code> class for remote connections; which will try to use <code>cURL</code> first, and then fall back on the <code>FOPEN</code> method when <code>cURL</code> is not available. On a Windows® server, you may have to disable your <code>cURL</code> extension; and instead, set <code>allow_url_fopen = yes</code> in your php.ini file. The <code>cURL</code> extension (usually) does NOT support SSL connections on a Windows® server.<br /><br />Please see <a href=\"http://www.s2member.com/forums/topic/ideal-server-configuration-for-s2member/\" target=\"_blank\">this thread</a> for details regarding the ideal server configuration for s2Member."
|
651 |
msgstr ""
|
661 |
msgstr ""
|
662 |
|
663 |
#: s2member/includes/classes/paypal-utilities.inc.php:188
|
664 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:316
|
665 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:324
|
666 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:97
|
667 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:329
|
668 |
msgctxt "s2member-front"
|
669 |
msgid "Error. Please contact Support for assistance."
|
670 |
msgstr ""
|
671 |
|
672 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:232
|
673 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:238
|
|
|
674 |
#: s2member/includes/classes/paypal-utilities.inc.php:369
|
675 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:375
|
676 |
msgctxt "s2member-front"
|
677 |
msgid "Error #%s. Transaction declined. Please use an alternate funding source."
|
678 |
msgstr ""
|
679 |
|
680 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:235
|
681 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:372
|
682 |
msgctxt "s2member-front"
|
683 |
msgid "Error #%s. Transaction declined. Express Checkout was NOT confirmed."
|
684 |
msgstr ""
|
698 |
#. ``$response["__error"]`` with
|
699 |
#. `ws_plugin__s2member_pro_authnet_arb_response`.
|
700 |
|
701 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:314
|
702 |
+
#: s2member/includes/classes/paypal-utilities.inc.php:322
|
703 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:94
|
704 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:326
|
705 |
msgctxt "s2member-front"
|
706 |
msgid "Error #%1$s. %2$s."
|
707 |
msgstr ""
|
1438 |
msgid "Processing"
|
1439 |
msgstr ""
|
1440 |
|
1441 |
+
#: s2member/includes/syscon.inc.php:84
|
1442 |
msgctxt "s2member-front recaptcha-lang-code"
|
1443 |
msgid "en"
|
1444 |
msgstr ""
|
1445 |
|
1446 |
+
#: s2member/includes/syscon.inc.php:148
|
1447 |
msgctxt "s2member-front"
|
1448 |
msgid "Yes, I want to receive updates via email."
|
1449 |
msgstr ""
|
1450 |
|
1451 |
+
#: s2member/includes/syscon.inc.php:200
|
1452 |
msgctxt "s2member-front"
|
1453 |
msgid "[%s] Username/Password"
|
1454 |
msgstr ""
|
1455 |
|
1456 |
+
#: s2member/includes/syscon.inc.php:201
|
1457 |
msgctxt "s2member-front"
|
1458 |
msgid ""
|
1459 |
"Your Username/Password for:\n"
|
1464 |
"%%%%wp_login_url%%%%"
|
1465 |
msgstr ""
|
1466 |
|
1467 |
+
#: s2member/includes/syscon.inc.php:204
|
1468 |
msgctxt "s2member-front"
|
1469 |
msgid "[%s] New User Registration"
|
1470 |
msgstr ""
|
1471 |
|
1472 |
+
#: s2member/includes/syscon.inc.php:205
|
1473 |
msgctxt "s2member-front"
|
1474 |
msgid ""
|
1475 |
"New User Registration on your site:\n"
|
1481 |
"IP Address: %%%%user_ip%%%%"
|
1482 |
msgstr ""
|
1483 |
|
1484 |
+
#: s2member/includes/syscon.inc.php:226 s2member-pro/includes/syscon.inc.php:94
|
1485 |
msgctxt "s2member-front"
|
1486 |
msgid "Congratulations! (your membership has been approved)"
|
1487 |
msgstr ""
|
1488 |
|
1489 |
+
#: s2member/includes/syscon.inc.php:227
|
1490 |
msgctxt "s2member-front"
|
1491 |
msgid ""
|
1492 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
1502 |
"%s"
|
1503 |
msgstr ""
|
1504 |
|
1505 |
+
#: s2member/includes/syscon.inc.php:230 s2member-pro/includes/syscon.inc.php:98
|
1506 |
msgctxt "s2member-front"
|
1507 |
msgid "Thank You! (instructions for access)"
|
1508 |
msgstr ""
|
1509 |
|
1510 |
+
#: s2member/includes/syscon.inc.php:231
|
1511 |
msgctxt "s2member-front"
|
1512 |
msgid ""
|
1513 |
"Thanks %%%%first_name%%%%!\n"
|
1524 |
"%s"
|
1525 |
msgstr ""
|
1526 |
|
1527 |
+
#: s2member/includes/syscon.inc.php:259
|
1528 |
msgctxt "s2member-front"
|
1529 |
msgid "Free Subscriber"
|
1530 |
msgstr ""
|
1531 |
|
1532 |
+
#: s2member/includes/syscon.inc.php:259
|
1533 |
msgctxt "s2member-front"
|
1534 |
msgid "Bronze Member"
|
1535 |
msgstr ""
|
1536 |
|
1537 |
+
#: s2member/includes/syscon.inc.php:259
|
1538 |
msgctxt "s2member-front"
|
1539 |
msgid "Silver Member"
|
1540 |
msgstr ""
|
1541 |
|
1542 |
+
#: s2member/includes/syscon.inc.php:259
|
1543 |
msgctxt "s2member-front"
|
1544 |
msgid "Gold Member"
|
1545 |
msgstr ""
|
1546 |
|
1547 |
+
#: s2member/includes/syscon.inc.php:259
|
1548 |
msgctxt "s2member-front"
|
1549 |
msgid "Platinum Member"
|
1550 |
msgstr ""
|
1551 |
|
1552 |
+
#: s2member/includes/syscon.inc.php:259
|
1553 |
msgctxt "s2member-front"
|
1554 |
msgid "Level %s Member"
|
1555 |
msgstr ""
|
2855 |
|
2856 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:344
|
2857 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:472
|
|
|
|
|
2858 |
msgctxt "s2member-admin"
|
2859 |
+
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be <= 99999.00."
|
2860 |
msgstr ""
|
2861 |
|
2862 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:349
|
2928 |
msgstr ""
|
2929 |
|
2930 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:415
|
|
|
2931 |
msgctxt "s2member-admin"
|
2932 |
+
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be <= 99999.00."
|
2933 |
msgstr ""
|
2934 |
|
2935 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:418
|
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:666
|
3361 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:809
|
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:808
|
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:853
|
3375 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:905
|
3376 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:918
|
3377 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:940
|
3378 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1000
|
3379 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1015
|
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:854
|
3391 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:906
|
3392 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:919
|
3393 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:941
|
3394 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1001
|
3395 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1016
|
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:866
|
3407 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:879
|
3408 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:892
|
3409 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:955
|
3410 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:970
|
3411 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:985
|
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:867
|
3423 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:880
|
3424 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:893
|
3425 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:956
|
3426 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:971
|
3427 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:986
|
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:923
|
3439 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1020
|
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:1024
|
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:1028
|
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:1032
|
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:1038
|
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:1067
|
3474 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1070
|
3475 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:672
|
3476 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:675
|
3477 |
msgctxt "s2member-front"
|
3705 |
msgid "Invalid form configuration. Invalid \"lc\" attribute. Locale Code. When provided, must be a 2 character country code."
|
3706 |
msgstr ""
|
3707 |
|
3708 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:409
|
3709 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:546
|
3710 |
+
msgctxt "s2member-admin"
|
3711 |
+
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be <= 10000.00."
|
3712 |
+
msgstr ""
|
3713 |
+
|
3714 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:486
|
3715 |
+
msgctxt "s2member-admin"
|
3716 |
+
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be <= 10000.00."
|
3717 |
+
msgstr ""
|
3718 |
+
|
3719 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:513
|
3720 |
msgctxt "s2member-admin"
|
3721 |
msgid "Invalid Payflow® form configuration. Invalid \"rt, rp, rr\" attributes. Payflow® supports a specific set of recurring intervals. Pro Forms can be configured to charge: daily, weekly, bi-weekly, monthly, quarterly, semi-yearly or yearly. Any other combination results in this error. This is a Payflow® limitation."
|
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
|
@@ -42,10 +42,10 @@ Pro Module / Auto-Update URL: http://www.s2member.com/
|
|
42 |
PayPal Pro Integration: http://www.s2member.com/videos/ED70D90C6749DA3D/
|
43 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
44 |
|
45 |
-
Description: s2Member
|
46 |
Tags: s2, s2member, s2 member, membership, users, user, members, member, subscribers, subscriber, members only, roles, capabilities, capability, register, signup, paypal, paypal pro, pay pal, authorize, authorize.net, google checkout, clickbank, click bank, buddypress, buddy press, bbpress, bb press, shopping cart, cart, checkout, ecommerce
|
47 |
|
48 |
-
s2Member
|
49 |
|
50 |
== Installation ==
|
51 |
|
@@ -54,7 +54,7 @@ s2Member®, a powerful (free) membership plugin for WordPress®. Protect/secure
|
|
54 |
= s2Member® is very easy to install (instructions) =
|
55 |
1. Upload the `/s2member` folder to your `/wp-content/plugins/` directory.
|
56 |
2. Activate the plugin through the `Plugins` menu in WordPress®.
|
57 |
-
3. Navigate to the `s2Member Options` panel for configuration details.
|
58 |
|
59 |
= See Also (s2Member.com) =
|
60 |
[Detailed installation/upgrade instructions](http://www.s2member.com/framework/#!s2_tab_jump=s2-framework-install-update).
|
@@ -81,7 +81,7 @@ You can learn more about s2Member® at [s2Member.com](http://www.s2member.com/).
|
|
81 |
**NOTE:** Please do NOT use the WordPress® forums to seek company support. Support for s2Member® is handled in [our own support forums](http://www.s2member.com/forums/).
|
82 |
|
83 |
= Please check the following s2Member® resources: =
|
84 |
-
* s2Member FAQs: http://www.s2member.com/faqs/
|
85 |
* Knowledge Base: http://www.s2member.com/kb/
|
86 |
* Video Tutorials: http://www.s2member.com/videos/
|
87 |
* Support Forums: http://www.s2member.com/forums/
|
@@ -92,11 +92,22 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
92 |
|
93 |
== Upgrade Notice ==
|
94 |
|
95 |
-
=
|
96 |
(Maintenance Release) Upgrade immediately.
|
97 |
|
98 |
== Changelog ==
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
= v130221 =
|
101 |
* (s2Member/s2Member Pro) **Bug Fix (Issue #41)** Custom Registration/Profile Fields with an ID that ended with `-[0-9]+` or `_[0-9]+` was failing JavaScript validation due to a parsing issue. Fixed in this release.
|
102 |
* (s2Member/s2Member Pro) **Bug Fix (Issue #43)** A bug first introduced in the last release of s2Member® v130220 was preventing Administrative New User Notifications from being sent by s2Member®. Fixed in this release.
|
1 |
=== s2Member® Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 130404
|
4 |
+
Stable tag: 130404
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
42 |
PayPal Pro Integration: http://www.s2member.com/videos/ED70D90C6749DA3D/
|
43 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
44 |
|
45 |
+
Description: s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
46 |
Tags: s2, s2member, s2 member, membership, users, user, members, member, subscribers, subscriber, members only, roles, capabilities, capability, register, signup, paypal, paypal pro, pay pal, authorize, authorize.net, google checkout, clickbank, click bank, buddypress, buddy press, bbpress, bb press, shopping cart, cart, checkout, ecommerce
|
47 |
|
48 |
+
s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
49 |
|
50 |
== Installation ==
|
51 |
|
54 |
= s2Member® is very easy to install (instructions) =
|
55 |
1. Upload the `/s2member` folder to your `/wp-content/plugins/` directory.
|
56 |
2. Activate the plugin through the `Plugins` menu in WordPress®.
|
57 |
+
3. Navigate to the `s2Member® Options` panel for configuration details.
|
58 |
|
59 |
= See Also (s2Member.com) =
|
60 |
[Detailed installation/upgrade instructions](http://www.s2member.com/framework/#!s2_tab_jump=s2-framework-install-update).
|
81 |
**NOTE:** Please do NOT use the WordPress® forums to seek company support. Support for s2Member® is handled in [our own support forums](http://www.s2member.com/forums/).
|
82 |
|
83 |
= Please check the following s2Member® resources: =
|
84 |
+
* s2Member® FAQs: http://www.s2member.com/faqs/
|
85 |
* Knowledge Base: http://www.s2member.com/kb/
|
86 |
* Video Tutorials: http://www.s2member.com/videos/
|
87 |
* Support Forums: http://www.s2member.com/forums/
|
92 |
|
93 |
== Upgrade Notice ==
|
94 |
|
95 |
+
= v130404 =
|
96 |
(Maintenance Release) Upgrade immediately.
|
97 |
|
98 |
== Changelog ==
|
99 |
|
100 |
+
= v130404 =
|
101 |
+
* (s2Member Pro) **Compatibility (WebSharks/Private#108)** Updating s2Member® Pro's integration with Authorize.Net to allow charges up to `$99,999.00` (formerly `$10,000.00`).
|
102 |
+
* (s2Member/s2Member Pro) **User Searches (WebSharks/Private#91)** Updating `pre_user_query` filter to include `first_name/last_name` (instead of only the `display_name`).
|
103 |
+
* (s2Member/s2Member Pro) **bbPress Integration (WebSharks/Private#88)** Updating bbPress Role/Cap filter to exclude itself during bbPress deactivation. This was causing a loss of the `read` Capability inadvertently.
|
104 |
+
* (s2Member/s2Member Pro) **PayPal® 20% Rule (WebSharks/Private#100)** Removing mention of the PayPal® 20% rule/limitation in the inline documentation. We confirmed with PayPal this ridiculous rule no longer applies to PayPal Standard Buttons.
|
105 |
+
* (s2Member/s2Member Pro) **File Downloads (WebSharks/Private#73)** Fixed bug related to `%2F` in file download URLs leading to a `ccap` directory.
|
106 |
+
* (s2Member/s2Member Pro) **Debug Logging (WebSharks/Private#69)** Logging now disabled by default. New log recommendation/warning notices updated throughout all menu pages for s2Member®.
|
107 |
+
* (s2Member/s2Member Pro) **Debug Logging (WebSharks/Private#69)** Logging must now be disabled (and the logs directory must be non-existent or empty) for an s2Member® Security Badge to go green. There is only one way to bypass this security check. See KB Article: [s2Member® Security Badges](http://www.s2member.com/kb/security-badges/). Notices are displayed on activation of this version to warn site owners about this change.
|
108 |
+
* (s2Member/s2Member Pro) **JW Player (WebSharks/Private#121)** Adding CSS `class` attribute to all JW Player template files used in conjunction with the `s2Stream` shortcode. New CSS class name: `s2member-jwplayer-v6`.
|
109 |
+
* (s2Member/s2Member Pro) **JW Player (WebSharks/Private#121)** Adding support for percentage-based width/height values in `player_width="" player_height=""` attributes of an s2Stream shortcode that generates a JW Player. Example: `player_width="100%"`.
|
110 |
+
|
111 |
= v130221 =
|
112 |
* (s2Member/s2Member Pro) **Bug Fix (Issue #41)** Custom Registration/Profile Fields with an ID that ended with `-[0-9]+` or `_[0-9]+` was failing JavaScript validation due to a parsing issue. Fixed in this release.
|
113 |
* (s2Member/s2Member Pro) **Bug Fix (Issue #43)** A bug first introduced in the last release of s2Member® v130220 was preventing Administrative New User Notifications from being sent by s2Member®. Fixed in this release.
|
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
|
@@ -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: 130404
|
23 |
+
Stable tag: 130404
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress® Compatible: yes
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
+
define("WS_PLUGIN__S2MEMBER_VERSION", "130404" /* !#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", "130404" /* !#distro-version#! */);
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|