Version Description
= v131126 =
(Maintenance Release) Upgrade immediately.
Download this release
Release Info
Developer | WebSharks |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 131126 |
Comparing to | |
See all releases |
Code changes from version 131109 to 131126
- .htaccess +4 -0
- checksum.txt +1 -1
- images/index.php +0 -0
- includes/classes/css-js-themes.inc.php +8 -2
- includes/classes/custom-reg-fields.inc.php +13 -10
- includes/classes/index.php +0 -0
- includes/classes/meta-boxes.inc.php +1 -1
- includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php +74 -10
- includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php +80 -4
- includes/classes/paypal-notify-in-wa-ccaps-wo-level.inc.php +71 -8
- includes/classes/profile-in.inc.php +8 -8
- includes/classes/sc-paypal-button-in.inc.php +1 -0
- includes/classes/sc-profile-in.inc.php +10 -10
- includes/classes/sp-access.inc.php +1 -1
- includes/classes/ssl-in.inc.php +2 -0
- includes/classes/user-new-in.inc.php +2 -2
- includes/classes/users-list-in.inc.php +2 -2
- includes/classes/utils-logs.inc.php +2 -1
- includes/dropins/bridges/index.php +0 -0
- includes/dropins/index.php +0 -0
- includes/dropins/mu-plugins/index.php +0 -0
- includes/externals/index.php +0 -0
- includes/externals/mailchimp/index.php +0 -0
- includes/externals/markdown/index.php +0 -0
- includes/functions/index.php +0 -0
- includes/functions/separates/index.php +0 -0
- includes/index.php +0 -0
- includes/jquery/index.php +0 -0
- includes/jquery/jquery.json-ps/index.php +0 -0
- includes/jquery/jquery.sprintf/index.php +0 -0
- includes/jquery/jquery.ui-effects/index.php +0 -0
- includes/menu-pages/api-ops.inc.php +1 -1
- includes/menu-pages/code-samples/index.php +0 -0
- includes/menu-pages/gen-ops.inc.php +44 -1
- includes/menu-pages/index.php +0 -0
- includes/menu-pages/menu-pages.css +1 -1
- includes/menu-pages/paypal-buttons.inc.php +6 -6
- includes/menu-pages/paypal-ops.inc.php +238 -3
- includes/menu-pages/start.inc.php +1 -1
- includes/s2member.css +273 -317
- includes/syscon.inc.php +16 -21
- includes/templates/badges/index.php +0 -0
- includes/templates/buttons/index.php +0 -0
- includes/templates/cfg-files/index.php +0 -0
- includes/templates/errors/index.php +0 -0
- includes/templates/index.php +0 -0
- includes/templates/options/index.php +0 -0
- includes/templates/options/paypal-sp-hours.php +1 -0
- includes/templates/players/index.php +0 -0
- includes/templates/returns/index.php +0 -0
- includes/templates/shortcodes/index.php +0 -0
- includes/translations/index.php +0 -0
- includes/translations/s2member.pot +227 -305
- index.php +0 -0
- licensing/index.php +0 -0
- licensing/license.txt +3 -13
- readme.txt +123 -24
- s2member.php +6 -6
.htaccess
ADDED
@@ -0,0 +1,4 @@
|
|
|
|
|
|
|
|
|
1 |
+
# Configuration of directory indexes.
|
2 |
+
# For added security (set these explicitly).
|
3 |
+
Options -Indexes
|
4 |
+
DirectoryIndex index.php
|
checksum.txt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
5718bf703692fc39fab134dd4f863d5c
|
images/index.php
DELETED
File without changes
|
includes/classes/css-js-themes.inc.php
CHANGED
@@ -41,14 +41,20 @@ if (!class_exists ("c_ws_plugin__s2member_css_js_themes"))
|
|
41 |
|
42 |
if(isset($load)) return $load;
|
43 |
|
44 |
-
if(
|
|
|
|
|
|
|
|
|
|
|
|
|
45 |
$load = TRUE;
|
46 |
|
47 |
else if(c_ws_plugin__s2member_utils_conds::bp_is_installed()
|
48 |
&& (bp_is_register_page() || bp_is_activation_page() || bp_is_user_profile()))
|
49 |
$load = TRUE;
|
50 |
|
51 |
-
else if(is_singular() && ($post = get_post())
|
52 |
&& (stripos($post->post_content, "s2member") !== FALSE
|
53 |
|| stripos($post->post_content, "[s2") !== FALSE))
|
54 |
$load = TRUE;
|
41 |
|
42 |
if(isset($load)) return $load;
|
43 |
|
44 |
+
if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["lazy_load_css_js"])
|
45 |
+
$load = TRUE;
|
46 |
+
|
47 |
+
else if(c_ws_plugin__s2member_systematics::is_s2_systematic_use_page())
|
48 |
+
$load = TRUE;
|
49 |
+
|
50 |
+
else if(!empty($_GET[apply_filters ("ws_plugin__s2member_check_force_ssl_get_var_name", "s2-ssl", array())]))
|
51 |
$load = TRUE;
|
52 |
|
53 |
else if(c_ws_plugin__s2member_utils_conds::bp_is_installed()
|
54 |
&& (bp_is_register_page() || bp_is_activation_page() || bp_is_user_profile()))
|
55 |
$load = TRUE;
|
56 |
|
57 |
+
else if(is_singular() && ($post = get_post(NULL))
|
58 |
&& (stripos($post->post_content, "s2member") !== FALSE
|
59 |
|| stripos($post->post_content, "[s2") !== FALSE))
|
60 |
$load = TRUE;
|
includes/classes/custom-reg-fields.inc.php
CHANGED
@@ -64,6 +64,9 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
64 |
$name_suffix = (preg_match("/\[$/", $_name_prefix)) ? ']' : '';
|
65 |
$field_name = trim($_name_prefix.$field_var.$name_suffix);
|
66 |
|
|
|
|
|
|
|
67 |
$common = /* Common attributes. */ '';
|
68 |
$common .= ' name="'.esc_attr($field_name).'"';
|
69 |
$common .= ' id="'.esc_attr($_id_prefix.$field_id_class).'"';
|
@@ -326,7 +329,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
326 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
327 |
|
328 |
echo '<label for="ws-plugin--s2member-custom-reg-field-first-name">'._x("First Name", "s2member-front", "s2member").' *</label>'."\n";
|
329 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_first_name" id="ws-plugin--s2member-custom-reg-field-first-name" class="ws-plugin--s2member-custom-reg-field" value="'.esc_attr(
|
330 |
echo '<br />'."\n";
|
331 |
|
332 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
@@ -338,7 +341,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
338 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
339 |
|
340 |
echo '<label for="ws-plugin--s2member-custom-reg-field-last-name">'._x("Last Name", "s2member-front", "s2member").' *</label>'."\n";
|
341 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_last_name" id="ws-plugin--s2member-custom-reg-field-last-name" class="ws-plugin--s2member-custom-reg-field" value="'.esc_attr(
|
342 |
echo '<br />'."\n";
|
343 |
|
344 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
@@ -365,7 +368,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
365 |
echo '<div class="ws-plugin--s2member-custom-reg-field-divider-section'.((!empty($field["sectitle"])) ? '-title' : '').'">'.((!empty($field["sectitle"])) ? $field["sectitle"] : '').'</div>';
|
366 |
|
367 |
echo '<label for="ws-plugin--s2member-custom-reg-field-'.esc_attr($field_id_class).'"'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? ' style="display:none;"' : '').'>'.$field["label"].(($field["required"] === "yes") ? ' *' : '').'</label>'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? '<br />' : '')."\n";
|
368 |
-
echo c_ws_plugin__s2member_custom_reg_fields::custom_field_gen(__FUNCTION__, $field, "ws_plugin__s2member_custom_reg_field_", "ws-plugin--s2member-custom-reg-field-", "ws-plugin--s2member-custom-reg-field", "", "", "", $_p,
|
369 |
echo '<br />'."\n";
|
370 |
}
|
371 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
@@ -381,7 +384,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
381 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
382 |
|
383 |
echo '<label for="ws-plugin--s2member-custom-reg-field-opt-in">'."\n";
|
384 |
-
echo '<input type="checkbox" name="ws_plugin__s2member_custom_reg_field_opt_in" id="ws-plugin--s2member-custom-reg-field-opt-in" class="ws-plugin--s2member-custom-reg-field" value="1"'.(((empty($_p) && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) ||
|
385 |
echo $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in_label"]."\n";
|
386 |
echo '</label>'."\n";
|
387 |
echo '<br />'."\n";
|
@@ -436,11 +439,11 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
436 |
|
437 |
echo '<label for="ws-plugin--s2member-custom-reg-field-user-pass1" title="'.esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")).'">'."\n";
|
438 |
echo '<span>'._x("Password (please type it twice)", "s2member-front", "s2member").' *</span><br />'."\n";
|
439 |
-
echo '<input type="password" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_user_pass1" id="ws-plugin--s2member-custom-reg-field-user-pass1" class="ws-plugin--s2member-custom-reg-field" value="'.format_to_edit(
|
440 |
echo '</label>'."\n";
|
441 |
|
442 |
echo '<label for="ws-plugin--s2member-custom-reg-field-user-pass2" title="'.esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")).'">'."\n";
|
443 |
-
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_user_pass2" id="ws-plugin--s2member-custom-reg-field-user-pass2" class="ws-plugin--s2member-custom-reg-field" value="'.format_to_edit(
|
444 |
echo '</label>'."\n";
|
445 |
|
446 |
echo '<div id="ws-plugin--s2member-custom-reg-field-user-pass-strength" class="ws-plugin--s2member-password-strength"><em>'._x("password strength indicator", "s2member-front", "s2member").'</em></div>'."\n";
|
@@ -462,7 +465,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
462 |
echo '<p>'."\n";
|
463 |
echo '<label for="ws-plugin--s2member-custom-reg-field-first-name">'."\n";
|
464 |
echo '<span>'._x("First Name", "s2member-front", "s2member").' *</span><br />'."\n";
|
465 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_first_name" id="ws-plugin--s2member-custom-reg-field-first-name" class="ws-plugin--s2member-custom-reg-field" value="'.esc_attr(
|
466 |
echo '</label>'."\n";
|
467 |
echo '</p>'."\n";
|
468 |
|
@@ -477,7 +480,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
477 |
echo '<p>'."\n";
|
478 |
echo '<label for="ws-plugin--s2member-custom-reg-field-last-name">'."\n";
|
479 |
echo '<span>'._x("Last Name", "s2member-front", "s2member").' *</span><br />'."\n";
|
480 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_last_name" id="ws-plugin--s2member-custom-reg-field-last-name" class="ws-plugin--s2member-custom-reg-field" value="'.esc_attr(
|
481 |
echo '</label>'."\n";
|
482 |
echo '</p>'."\n";
|
483 |
|
@@ -510,7 +513,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
510 |
echo '<p>'."\n";
|
511 |
echo '<label for="ws-plugin--s2member-custom-reg-field-'.esc_attr($field_id_class).'">'."\n";
|
512 |
echo '<span'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? ' style="display:none;"' : '').'>'.$field["label"].(($field["required"] === "yes") ? ' *' : '').'</span></label>'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? '' : '<br />')."\n";
|
513 |
-
echo c_ws_plugin__s2member_custom_reg_fields::custom_field_gen(__FUNCTION__, $field, "ws_plugin__s2member_custom_reg_field_", "ws-plugin--s2member-custom-reg-field-", "ws-plugin--s2member-custom-reg-field", "", ($tabindex = $tabindex + 1), "", $_p,
|
514 |
echo '</p>'."\n";
|
515 |
}
|
516 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
@@ -528,7 +531,7 @@ if(!class_exists("c_ws_plugin__s2member_custom_reg_fields"))
|
|
528 |
|
529 |
echo '<p>'."\n";
|
530 |
echo '<label for="ws-plugin--s2member-custom-reg-field-opt-in">'."\n";
|
531 |
-
echo '<input type="checkbox" name="ws_plugin__s2member_custom_reg_field_opt_in" id="ws-plugin--s2member-custom-reg-field-opt-in" class="ws-plugin--s2member-custom-reg-field" value="1"'.(((empty($_p) && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) ||
|
532 |
echo $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in_label"]."\n";
|
533 |
echo '</label>'."\n";
|
534 |
echo '</p>'."\n";
|
64 |
$name_suffix = (preg_match("/\[$/", $_name_prefix)) ? ']' : '';
|
65 |
$field_name = trim($_name_prefix.$field_var.$name_suffix);
|
66 |
|
67 |
+
if(in_array($field["type"], array("text", "textarea", "select"), TRUE))
|
68 |
+
$_classes = trim($_classes." form-control"); // Bootstrap.
|
69 |
+
|
70 |
$common = /* Common attributes. */ '';
|
71 |
$common .= ' name="'.esc_attr($field_name).'"';
|
72 |
$common .= ' id="'.esc_attr($_id_prefix.$field_id_class).'"';
|
329 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
330 |
|
331 |
echo '<label for="ws-plugin--s2member-custom-reg-field-first-name">'._x("First Name", "s2member-front", "s2member").' *</label>'."\n";
|
332 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_first_name" id="ws-plugin--s2member-custom-reg-field-first-name" class="ws-plugin--s2member-custom-reg-field form-control" value="'.esc_attr(@$_p["ws_plugin__s2member_custom_reg_field_first_name"]).'" />'."\n";
|
333 |
echo '<br />'."\n";
|
334 |
|
335 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
341 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
342 |
|
343 |
echo '<label for="ws-plugin--s2member-custom-reg-field-last-name">'._x("Last Name", "s2member-front", "s2member").' *</label>'."\n";
|
344 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_last_name" id="ws-plugin--s2member-custom-reg-field-last-name" class="ws-plugin--s2member-custom-reg-field form-control" value="'.esc_attr(@$_p["ws_plugin__s2member_custom_reg_field_last_name"]).'" />'."\n";
|
345 |
echo '<br />'."\n";
|
346 |
|
347 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
368 |
echo '<div class="ws-plugin--s2member-custom-reg-field-divider-section'.((!empty($field["sectitle"])) ? '-title' : '').'">'.((!empty($field["sectitle"])) ? $field["sectitle"] : '').'</div>';
|
369 |
|
370 |
echo '<label for="ws-plugin--s2member-custom-reg-field-'.esc_attr($field_id_class).'"'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? ' style="display:none;"' : '').'>'.$field["label"].(($field["required"] === "yes") ? ' *' : '').'</label>'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? '<br />' : '')."\n";
|
371 |
+
echo c_ws_plugin__s2member_custom_reg_fields::custom_field_gen(__FUNCTION__, $field, "ws_plugin__s2member_custom_reg_field_", "ws-plugin--s2member-custom-reg-field-", "ws-plugin--s2member-custom-reg-field", "", "", "", $_p, @$_p["ws_plugin__s2member_custom_reg_field_".$field_var], "registration");
|
372 |
echo '<br />'."\n";
|
373 |
}
|
374 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
384 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
385 |
|
386 |
echo '<label for="ws-plugin--s2member-custom-reg-field-opt-in">'."\n";
|
387 |
+
echo '<input type="checkbox" name="ws_plugin__s2member_custom_reg_field_opt_in" id="ws-plugin--s2member-custom-reg-field-opt-in" class="ws-plugin--s2member-custom-reg-field" value="1"'.(((empty($_p) && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) || @$_p["ws_plugin__s2member_custom_reg_field_opt_in"]) ? ' checked="checked"' : '').' />'."\n";
|
388 |
echo $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in_label"]."\n";
|
389 |
echo '</label>'."\n";
|
390 |
echo '<br />'."\n";
|
439 |
|
440 |
echo '<label for="ws-plugin--s2member-custom-reg-field-user-pass1" title="'.esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")).'">'."\n";
|
441 |
echo '<span>'._x("Password (please type it twice)", "s2member-front", "s2member").' *</span><br />'."\n";
|
442 |
+
echo '<input type="password" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_user_pass1" id="ws-plugin--s2member-custom-reg-field-user-pass1" class="ws-plugin--s2member-custom-reg-field form-control" value="'.format_to_edit(@$_p["ws_plugin__s2member_custom_reg_field_user_pass1"]).'" tabindex="'.esc_attr(($tabindex = $tabindex + 10)).'" />'."\n";
|
443 |
echo '</label>'."\n";
|
444 |
|
445 |
echo '<label for="ws-plugin--s2member-custom-reg-field-user-pass2" title="'.esc_attr(_x("Please type your Password twice to confirm.", "s2member-front", "s2member")).'">'."\n";
|
446 |
+
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_user_pass2" id="ws-plugin--s2member-custom-reg-field-user-pass2" class="ws-plugin--s2member-custom-reg-field form-control" value="'.format_to_edit(@$_p["ws_plugin__s2member_custom_reg_field_user_pass2"]).'" tabindex="'.esc_attr(($tabindex = $tabindex + 10)).'" />'."\n";
|
447 |
echo '</label>'."\n";
|
448 |
|
449 |
echo '<div id="ws-plugin--s2member-custom-reg-field-user-pass-strength" class="ws-plugin--s2member-password-strength"><em>'._x("password strength indicator", "s2member-front", "s2member").'</em></div>'."\n";
|
465 |
echo '<p>'."\n";
|
466 |
echo '<label for="ws-plugin--s2member-custom-reg-field-first-name">'."\n";
|
467 |
echo '<span>'._x("First Name", "s2member-front", "s2member").' *</span><br />'."\n";
|
468 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_first_name" id="ws-plugin--s2member-custom-reg-field-first-name" class="ws-plugin--s2member-custom-reg-field form-control" value="'.esc_attr(@$_p["ws_plugin__s2member_custom_reg_field_first_name"]).'" tabindex="'.esc_attr(($tabindex = $tabindex + 10)).'" />'."\n";
|
469 |
echo '</label>'."\n";
|
470 |
echo '</p>'."\n";
|
471 |
|
480 |
echo '<p>'."\n";
|
481 |
echo '<label for="ws-plugin--s2member-custom-reg-field-last-name">'."\n";
|
482 |
echo '<span>'._x("Last Name", "s2member-front", "s2member").' *</span><br />'."\n";
|
483 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_custom_reg_field_last_name" id="ws-plugin--s2member-custom-reg-field-last-name" class="ws-plugin--s2member-custom-reg-field form-control" value="'.esc_attr(@$_p["ws_plugin__s2member_custom_reg_field_last_name"]).'" tabindex="'.esc_attr(($tabindex = $tabindex + 10)).'" />'."\n";
|
484 |
echo '</label>'."\n";
|
485 |
echo '</p>'."\n";
|
486 |
|
513 |
echo '<p>'."\n";
|
514 |
echo '<label for="ws-plugin--s2member-custom-reg-field-'.esc_attr($field_id_class).'">'."\n";
|
515 |
echo '<span'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? ' style="display:none;"' : '').'>'.$field["label"].(($field["required"] === "yes") ? ' *' : '').'</span></label>'.((preg_match("/^(checkbox|pre_checkbox)$/", $field["type"])) ? '' : '<br />')."\n";
|
516 |
+
echo c_ws_plugin__s2member_custom_reg_fields::custom_field_gen(__FUNCTION__, $field, "ws_plugin__s2member_custom_reg_field_", "ws-plugin--s2member-custom-reg-field-", "ws-plugin--s2member-custom-reg-field", "", ($tabindex = $tabindex + 1), "", $_p, @$_p["ws_plugin__s2member_custom_reg_field_".$field_var], "registration");
|
517 |
echo '</p>'."\n";
|
518 |
}
|
519 |
unset /* Unset defined __refs, __v. */($__refs, $__v);
|
531 |
|
532 |
echo '<p>'."\n";
|
533 |
echo '<label for="ws-plugin--s2member-custom-reg-field-opt-in">'."\n";
|
534 |
+
echo '<input type="checkbox" name="ws_plugin__s2member_custom_reg_field_opt_in" id="ws-plugin--s2member-custom-reg-field-opt-in" class="ws-plugin--s2member-custom-reg-field" value="1"'.(((empty($_p) && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in"] == 1) || @$_p["ws_plugin__s2member_custom_reg_field_opt_in"]) ? ' checked="checked"' : '').' tabindex="'.esc_attr(($tabindex = $tabindex + 10)).'" />'."\n";
|
535 |
echo $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_opt_in_label"]."\n";
|
536 |
echo '</label>'."\n";
|
537 |
echo '</p>'."\n";
|
includes/classes/index.php
DELETED
File without changes
|
includes/classes/meta-boxes.inc.php
CHANGED
@@ -45,7 +45,7 @@ if (!class_exists ("c_ws_plugin__s2member_meta_boxes"))
|
|
45 |
{
|
46 |
do_action ("ws_plugin__s2member_before_add_meta_boxes", get_defined_vars ());
|
47 |
|
48 |
-
$excluded_types = array ("link", "comment", "revision", "attachment", "nav_menu_item");
|
49 |
$excluded_types = apply_filters ("ws_plugin__s2member_add_meta_boxes_excluded_types", $excluded_types, get_defined_vars ());
|
50 |
|
51 |
if (in_array ($type, array_keys (get_post_types ())) && !in_array ($type, $excluded_types))
|
45 |
{
|
46 |
do_action ("ws_plugin__s2member_before_add_meta_boxes", get_defined_vars ());
|
47 |
|
48 |
+
$excluded_types = array ("link", "comment", "revision", "attachment", "nav_menu_item", "snippet", "redirect");
|
49 |
$excluded_types = apply_filters ("ws_plugin__s2member_add_meta_boxes_excluded_types", $excluded_types, get_defined_vars ());
|
50 |
|
51 |
if (in_array ($type, array_keys (get_post_types ())) && !in_array ($type, $excluded_types))
|
includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php
CHANGED
@@ -90,7 +90,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
90 |
add_existing_user_to_blog(array ("user_id" => $user_id, "role" => "s2member_level" . $paypal["level"]));
|
91 |
$user = new WP_User ($user_id);
|
92 |
}
|
93 |
-
|
94 |
$current_role = c_ws_plugin__s2member_user_access::user_access_role ($user);
|
95 |
|
96 |
if ($current_role !== "s2member_level" . $paypal["level"]) // Only if we need to.
|
@@ -129,10 +128,80 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
129 |
|
130 |
$paypal["s2member_log"][] = "s2Member Level/Capabilities updated on Subscription modification.";
|
131 |
|
132 |
-
|
133 |
-
|
134 |
-
$
|
135 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
136 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
137 |
{
|
138 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"]) as $url)
|
@@ -160,10 +229,8 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
160 |
if (($url = trim (preg_replace ("/%%(.+?)%%/i", "", $url))))
|
161 |
c_ws_plugin__s2member_utils_urls::remote ($url);
|
162 |
}
|
163 |
-
|
164 |
$paypal["s2member_log"][] = "Modification Notification URLs have been processed.";
|
165 |
}
|
166 |
-
|
167 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_recipients"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
168 |
{
|
169 |
$msg = $sbj = "(s2Member / API Notification Email) - Modification";
|
@@ -233,7 +300,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
233 |
|
234 |
$paypal["s2member_log"][] = "Modification Notification Emails have been processed.";
|
235 |
}
|
236 |
-
|
237 |
if ($processing && ($code = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_tracking_codes"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
238 |
{
|
239 |
if (($code = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $code)) && ($code = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $code)))
|
@@ -264,7 +330,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
264 |
}
|
265 |
}
|
266 |
}
|
267 |
-
|
268 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
269 |
do_action ("ws_plugin__s2member_during_paypal_notify_during_subscr_modify", get_defined_vars ());
|
270 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
@@ -281,7 +346,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_modify_w_level
|
|
281 |
$paypal["s2member_log"][] = "s2Member `txn_type` identified as ( `subscr_modify` ).";
|
282 |
$paypal["s2member_log"][] = "Duplicate IPN. Already processed. This IPN will be ignored.";
|
283 |
}
|
284 |
-
|
285 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
286 |
do_action ("ws_plugin__s2member_during_paypal_notify_after_subscr_modify", get_defined_vars ());
|
287 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
90 |
add_existing_user_to_blog(array ("user_id" => $user_id, "role" => "s2member_level" . $paypal["level"]));
|
91 |
$user = new WP_User ($user_id);
|
92 |
}
|
|
|
93 |
$current_role = c_ws_plugin__s2member_user_access::user_access_role ($user);
|
94 |
|
95 |
if ($current_role !== "s2member_level" . $paypal["level"]) // Only if we need to.
|
128 |
|
129 |
$paypal["s2member_log"][] = "s2Member Level/Capabilities updated on Subscription modification.";
|
130 |
|
131 |
+
$sbj = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_subject"]; // The same for standard and w/ Pro Forms.
|
132 |
+
$msg = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_message"]; // The same for standard and w/ Pro Forms.
|
133 |
+
$rec = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_recipients"]; // The same for standard and w/ Pro Forms.
|
134 |
+
|
135 |
+
if (($rec = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $rec)) && ($rec = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $rec)))
|
136 |
+
if (($rec = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $rec)) && ($rec = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $rec)))
|
137 |
+
if (($rec = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $rec)) && ($rec = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $rec)))
|
138 |
+
if (($rec = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $rec)) && ($rec = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $rec)))
|
139 |
+
if (($rec = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $rec)) && ($rec = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $rec)))
|
140 |
+
if (($rec = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $rec)) && ($rec = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $rec)))
|
141 |
+
if (($rec = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"])), $rec)) && ($rec = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"])), $rec)))
|
142 |
+
if (($rec = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"]))), $rec))) // **NOTE** c_ws_plugin__s2member_utils_strings::esc_dq() is applied here. (ex. "N\"ame" <email>).
|
143 |
+
if (($rec = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $rec)))
|
144 |
+
|
145 |
+
if (($rec = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $rec)) && ($rec = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $rec)))
|
146 |
+
if (($rec = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $rec)))
|
147 |
+
if (($rec = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $rec)))
|
148 |
+
if (($rec = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $rec)))
|
149 |
+
if (($rec = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $rec)))
|
150 |
+
if (($rec = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $rec)))
|
151 |
+
|
152 |
+
if (($sbj = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $sbj)) && ($sbj = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $sbj)))
|
153 |
+
if (($sbj = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $sbj)) && ($sbj = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $sbj)))
|
154 |
+
if (($sbj = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $sbj)) && ($sbj = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $sbj)))
|
155 |
+
if (($sbj = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $sbj)) && ($sbj = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $sbj)))
|
156 |
+
if (($sbj = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $sbj)) && ($sbj = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $sbj)))
|
157 |
+
if (($sbj = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $sbj)) && ($sbj = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $sbj)))
|
158 |
+
if (($sbj = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $sbj)) && ($sbj = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $sbj)))
|
159 |
+
if (($sbj = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $sbj)))
|
160 |
+
if (($sbj = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $sbj)))
|
161 |
+
|
162 |
+
if (($sbj = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $sbj)) && ($sbj = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $sbj)))
|
163 |
+
if (($sbj = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $sbj)))
|
164 |
+
if (($sbj = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $sbj)))
|
165 |
+
if (($sbj = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $sbj)))
|
166 |
+
if (($sbj = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $sbj)))
|
167 |
+
if (($sbj = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $sbj)))
|
168 |
+
|
169 |
+
if (($msg = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $msg)) && ($msg = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $msg)))
|
170 |
+
if (($msg = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $msg)) && ($msg = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $msg)))
|
171 |
+
if (($msg = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $msg)) && ($msg = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $msg)))
|
172 |
+
if (($msg = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $msg)) && ($msg = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $msg)))
|
173 |
+
if (($msg = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $msg)) && ($msg = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $msg)))
|
174 |
+
if (($msg = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $msg)) && ($msg = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $msg)))
|
175 |
+
if (($msg = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $msg)) && ($msg = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $msg)))
|
176 |
+
if (($msg = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $msg)))
|
177 |
+
if (($msg = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $msg)))
|
178 |
+
|
179 |
+
if (($msg = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $msg)) && ($msg = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $msg)))
|
180 |
+
if (($msg = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $msg)))
|
181 |
+
if (($msg = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $msg)))
|
182 |
+
if (($msg = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $msg)))
|
183 |
+
if (($msg = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $msg)))
|
184 |
+
if (($msg = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $msg)))
|
185 |
+
{
|
186 |
+
if (is_array ($fields) && !empty ($fields)) foreach /* Custom Registration/Profile Fields. */ ($fields as $var => $val)
|
187 |
+
{
|
188 |
+
$rec = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $rec);
|
189 |
+
$sbj = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $sbj);
|
190 |
+
$msg = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $msg);
|
191 |
+
}
|
192 |
+
if (($rec = trim (preg_replace ("/%%(.+?)%%/i", "", $rec))) && ($sbj = trim (preg_replace ("/%%(.+?)%%/i", "", $sbj))) && ($msg = trim (preg_replace ("/%%(.+?)%%/i", "", $msg))))
|
193 |
+
{
|
194 |
+
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
195 |
+
{
|
196 |
+
$sbj = c_ws_plugin__s2member_utilities::evl($sbj, get_defined_vars());
|
197 |
+
$msg = c_ws_plugin__s2member_utilities::evl($msg, get_defined_vars());
|
198 |
+
}
|
199 |
+
foreach /* Go through a possible list of recipients. */(c_ws_plugin__s2member_utils_strings::parse_emails ($rec) as $recipient)
|
200 |
+
c_ws_plugin__s2member_email_configs::email_config () . wp_mail ($recipient, apply_filters ("ws_plugin__s2member_modification_email_sbj", $sbj, get_defined_vars ()), apply_filters ("ws_plugin__s2member_modification_email_msg", $msg, get_defined_vars ()), "From: \"" . preg_replace ('/"/', "'", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_name"]) . "\" <" . $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_email"] . ">\r\nContent-Type: text/plain; charset=UTF-8") . c_ws_plugin__s2member_email_configs::email_config_release ();
|
201 |
+
|
202 |
+
$paypal["s2member_log"][] = "Modification Confirmation Email sent to: " . $rec . ".";
|
203 |
+
}
|
204 |
+
}
|
205 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
206 |
{
|
207 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"]) as $url)
|
229 |
if (($url = trim (preg_replace ("/%%(.+?)%%/i", "", $url))))
|
230 |
c_ws_plugin__s2member_utils_urls::remote ($url);
|
231 |
}
|
|
|
232 |
$paypal["s2member_log"][] = "Modification Notification URLs have been processed.";
|
233 |
}
|
|
|
234 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_recipients"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
235 |
{
|
236 |
$msg = $sbj = "(s2Member / API Notification Email) - Modification";
|
300 |
|
301 |
$paypal["s2member_log"][] = "Modification Notification Emails have been processed.";
|
302 |
}
|
|
|
303 |
if ($processing && ($code = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_tracking_codes"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
304 |
{
|
305 |
if (($code = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $code)) && ($code = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $code)))
|
330 |
}
|
331 |
}
|
332 |
}
|
|
|
333 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
334 |
do_action ("ws_plugin__s2member_during_paypal_notify_during_subscr_modify", get_defined_vars ());
|
335 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
346 |
$paypal["s2member_log"][] = "s2Member `txn_type` identified as ( `subscr_modify` ).";
|
347 |
$paypal["s2member_log"][] = "Duplicate IPN. Already processed. This IPN will be ignored.";
|
348 |
}
|
|
|
349 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
350 |
do_action ("ws_plugin__s2member_during_paypal_notify_after_subscr_modify", get_defined_vars ());
|
351 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php
CHANGED
@@ -153,10 +153,86 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_subscr_or_wa_w_level"
|
|
153 |
|
154 |
$paypal["s2member_log"][] = "s2Member Level/Capabilities updated w/ advanced update routines.";
|
155 |
|
156 |
-
|
157 |
-
|
158 |
-
$
|
159 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
160 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
161 |
{
|
162 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"]) as $url)
|
153 |
|
154 |
$paypal["s2member_log"][] = "s2Member Level/Capabilities updated w/ advanced update routines.";
|
155 |
|
156 |
+
$sbj = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_subject"]; // The same for standard and w/ Pro Forms.
|
157 |
+
$msg = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_message"]; // The same for standard and w/ Pro Forms.
|
158 |
+
$rec = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_recipients"]; // The same for standard and w/ Pro Forms.
|
159 |
+
|
160 |
+
if (($rec = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $rec)) && ($rec = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $rec)))
|
161 |
+
if (($rec = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $rec)) && ($rec = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $rec)))
|
162 |
+
if (($rec = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $rec)) && ($rec = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $rec)))
|
163 |
+
if (($rec = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $rec)) && ($rec = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $rec)))
|
164 |
+
if (($rec = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $rec)) && ($rec = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $rec)))
|
165 |
+
if (($rec = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $rec)) && ($rec = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $rec)))
|
166 |
+
if (($rec = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"])), $rec)) && ($rec = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"])), $rec)))
|
167 |
+
if (($rec = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"]))), $rec))) // **NOTE** c_ws_plugin__s2member_utils_strings::esc_dq() is applied here. (ex. "N\"ame" <email>).
|
168 |
+
if (($rec = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $rec)))
|
169 |
+
|
170 |
+
if (($rec = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $rec)) && ($rec = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $rec)) && ($rec = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $rec)))
|
171 |
+
|
172 |
+
if (($rec = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $rec)) && ($rec = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $rec)))
|
173 |
+
if (($rec = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $rec)))
|
174 |
+
if (($rec = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $rec)))
|
175 |
+
if (($rec = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $rec)))
|
176 |
+
if (($rec = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $rec)))
|
177 |
+
if (($rec = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $rec)))
|
178 |
+
|
179 |
+
if (($sbj = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $sbj)) && ($sbj = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $sbj)))
|
180 |
+
if (($sbj = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $sbj)) && ($sbj = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $sbj)))
|
181 |
+
if (($sbj = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $sbj)) && ($sbj = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $sbj)))
|
182 |
+
if (($sbj = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $sbj)) && ($sbj = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $sbj)))
|
183 |
+
if (($sbj = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $sbj)) && ($sbj = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $sbj)))
|
184 |
+
if (($sbj = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $sbj)) && ($sbj = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $sbj)))
|
185 |
+
if (($sbj = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $sbj)) && ($sbj = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $sbj)))
|
186 |
+
if (($sbj = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $sbj)))
|
187 |
+
if (($sbj = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $sbj)))
|
188 |
+
|
189 |
+
if (($sbj = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $sbj)) && ($sbj = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $sbj)) && ($sbj = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $sbj)))
|
190 |
+
|
191 |
+
if (($sbj = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $sbj)) && ($sbj = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $sbj)))
|
192 |
+
if (($sbj = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $sbj)))
|
193 |
+
if (($sbj = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $sbj)))
|
194 |
+
if (($sbj = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $sbj)))
|
195 |
+
if (($sbj = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $sbj)))
|
196 |
+
if (($sbj = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $sbj)))
|
197 |
+
|
198 |
+
if (($msg = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $msg)) && ($msg = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $msg)))
|
199 |
+
if (($msg = preg_replace ("/%%initial%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial"]), $msg)) && ($msg = preg_replace ("/%%regular%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular"]), $msg)))
|
200 |
+
if (($msg = preg_replace ("/%%initial_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["initial_term"]), $msg)) && ($msg = preg_replace ("/%%regular_term%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["regular_term"]), $msg)))
|
201 |
+
if (($msg = preg_replace ("/%%initial_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["initial_term"])), $msg)) && ($msg = preg_replace ("/%%regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], $paypal["recurring"])), $msg)))
|
202 |
+
if (($msg = preg_replace ("/%%recurring%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["recurring"]), $msg)) && ($msg = preg_replace ("/%%recurring\/regular_cycle%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ((($paypal["recurring"]) ? $paypal["recurring"] . " / " . c_ws_plugin__s2member_utils_time::period_term ($paypal["regular_term"], true) : "0 / non-recurring")), $msg)))
|
203 |
+
if (($msg = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $msg)) && ($msg = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $msg)))
|
204 |
+
if (($msg = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $msg)) && ($msg = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $msg)))
|
205 |
+
if (($msg = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $msg)))
|
206 |
+
if (($msg = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $msg)))
|
207 |
+
|
208 |
+
if (($msg = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $msg)) && ($msg = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $msg)) && ($msg = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $msg)))
|
209 |
+
|
210 |
+
if (($msg = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $msg)) && ($msg = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $msg)))
|
211 |
+
if (($msg = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $msg)))
|
212 |
+
if (($msg = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $msg)))
|
213 |
+
if (($msg = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $msg)))
|
214 |
+
if (($msg = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $msg)))
|
215 |
+
if (($msg = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $msg)))
|
216 |
+
{
|
217 |
+
if (is_array ($fields) && !empty ($fields)) foreach /* Custom Registration/Profile Fields. */ ($fields as $var => $val)
|
218 |
+
{
|
219 |
+
$rec = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $rec);
|
220 |
+
$sbj = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $sbj);
|
221 |
+
$msg = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $msg);
|
222 |
+
}
|
223 |
+
if (($rec = trim (preg_replace ("/%%(.+?)%%/i", "", $rec))) && ($sbj = trim (preg_replace ("/%%(.+?)%%/i", "", $sbj))) && ($msg = trim (preg_replace ("/%%(.+?)%%/i", "", $msg))))
|
224 |
+
{
|
225 |
+
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
226 |
+
{
|
227 |
+
$sbj = c_ws_plugin__s2member_utilities::evl($sbj, get_defined_vars());
|
228 |
+
$msg = c_ws_plugin__s2member_utilities::evl($msg, get_defined_vars());
|
229 |
+
}
|
230 |
+
foreach /* Go through a possible list of recipients. */(c_ws_plugin__s2member_utils_strings::parse_emails ($rec) as $recipient)
|
231 |
+
c_ws_plugin__s2member_email_configs::email_config () . wp_mail ($recipient, apply_filters ("ws_plugin__s2member_modification_email_sbj", $sbj, get_defined_vars ()), apply_filters ("ws_plugin__s2member_modification_email_msg", $msg, get_defined_vars ()), "From: \"" . preg_replace ('/"/', "'", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_name"]) . "\" <" . $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_email"] . ">\r\nContent-Type: text/plain; charset=UTF-8") . c_ws_plugin__s2member_email_configs::email_config_release ();
|
232 |
+
|
233 |
+
$paypal["s2member_log"][] = "Modification Confirmation Email sent to: " . $rec . ".";
|
234 |
+
}
|
235 |
+
}
|
236 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
237 |
{
|
238 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_notification_urls"]) as $url)
|
includes/classes/paypal-notify-in-wa-ccaps-wo-level.inc.php
CHANGED
@@ -81,7 +81,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level"))
|
|
81 |
add_existing_user_to_blog (array ("user_id" => $user_id, "role" => get_option ("default_role")));
|
82 |
$user = new WP_User ($user_id);
|
83 |
}
|
84 |
-
|
85 |
if ($paypal["ccaps"] && preg_match ("/^-all/", str_replace ("+", "", $paypal["ccaps"])))
|
86 |
foreach ($user->allcaps as $cap => $cap_enabled)
|
87 |
if (preg_match ("/^access_s2member_ccap_/", $cap))
|
@@ -97,10 +96,77 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level"))
|
|
97 |
|
98 |
$paypal["s2member_log"][] = "s2Member Custom Capabilities updated w/ advanced update routines.";
|
99 |
|
100 |
-
|
101 |
-
|
102 |
-
$
|
103 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
104 |
if ($processing && $_REQUEST["s2member_paypal_proxy"] && ($url = $_REQUEST["s2member_paypal_proxy_return_url"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"]))) // A Proxy is requesting a Return URL?
|
105 |
{
|
106 |
if (($url = preg_replace ("/%%cv([0-9]+)%%/ei", 'urlencode(trim($cv[$1]))', $url)) && ($url = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (urlencode ($paypal["subscr_id"])), $url)))
|
@@ -130,7 +196,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level"))
|
|
130 |
}
|
131 |
$paypal["s2member_log"][] = "Capability Return, a Proxy Return URL is ready.";
|
132 |
}
|
133 |
-
|
134 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
135 |
{
|
136 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_urls"]) as $url)
|
@@ -161,7 +226,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level"))
|
|
161 |
}
|
162 |
$paypal["s2member_log"][] = "Payment Notification URLs have been processed.";
|
163 |
}
|
164 |
-
|
165 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_recipients"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
166 |
{
|
167 |
$msg = $sbj = "(s2Member / API Notification Email) - Payment";
|
@@ -232,7 +296,6 @@ if (!class_exists ("c_ws_plugin__s2member_paypal_notify_in_wa_ccaps_wo_level"))
|
|
232 |
}
|
233 |
$paypal["s2member_log"][] = "Payment Notification Emails have been processed.";
|
234 |
}
|
235 |
-
|
236 |
if ($processing && ($code = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_tracking_codes"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
237 |
{
|
238 |
if (($code = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $code)) && ($code = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $code)))
|
81 |
add_existing_user_to_blog (array ("user_id" => $user_id, "role" => get_option ("default_role")));
|
82 |
$user = new WP_User ($user_id);
|
83 |
}
|
|
|
84 |
if ($paypal["ccaps"] && preg_match ("/^-all/", str_replace ("+", "", $paypal["ccaps"])))
|
85 |
foreach ($user->allcaps as $cap => $cap_enabled)
|
86 |
if (preg_match ("/^access_s2member_ccap_/", $cap))
|
96 |
|
97 |
$paypal["s2member_log"][] = "s2Member Custom Capabilities updated w/ advanced update routines.";
|
98 |
|
99 |
+
$sbj = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_subject"]; // The same for standard and w/ Pro Forms.
|
100 |
+
$msg = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_message"]; // The same for standard and w/ Pro Forms.
|
101 |
+
$rec = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_recipients"]; // The same for standard and w/ Pro Forms.
|
102 |
+
|
103 |
+
if (($rec = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $rec)) && ($rec = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $rec)))
|
104 |
+
if (($rec = preg_replace ("/%%amount%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["mc_gross"]), $rec)) && ($rec = preg_replace ("/%%txn_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["txn_id"]), $rec)))
|
105 |
+
if (($rec = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $rec)) && ($rec = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $rec)))
|
106 |
+
if (($rec = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"])), $rec)) && ($rec = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"])), $rec)))
|
107 |
+
if (($rec = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_dq (c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"]))), $rec))) // **NOTE** c_ws_plugin__s2member_utils_strings::esc_dq() is applied here. (ex. "N\"ame" <email>).
|
108 |
+
if (($rec = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $rec)))
|
109 |
+
|
110 |
+
if (($rec = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $rec)) && ($rec = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $rec)) && ($rec = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $rec)))
|
111 |
+
|
112 |
+
if (($rec = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $rec)) && ($rec = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $rec)))
|
113 |
+
if (($rec = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $rec)))
|
114 |
+
if (($rec = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $rec)))
|
115 |
+
if (($rec = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $rec)))
|
116 |
+
if (($rec = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $rec)))
|
117 |
+
if (($rec = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $rec)))
|
118 |
+
|
119 |
+
if (($sbj = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $sbj)) && ($sbj = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $sbj)))
|
120 |
+
if (($sbj = preg_replace ("/%%amount%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["mc_gross"]), $sbj)) && ($sbj = preg_replace ("/%%txn_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["txn_id"]), $sbj)))
|
121 |
+
if (($sbj = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $sbj)) && ($sbj = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $sbj)))
|
122 |
+
if (($sbj = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $sbj)) && ($sbj = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $sbj)))
|
123 |
+
if (($sbj = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $sbj)))
|
124 |
+
if (($sbj = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $sbj)))
|
125 |
+
|
126 |
+
if (($sbj = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $sbj)) && ($sbj = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $sbj)) && ($sbj = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $sbj)))
|
127 |
+
|
128 |
+
if (($sbj = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $sbj)) && ($sbj = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $sbj)))
|
129 |
+
if (($sbj = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $sbj)))
|
130 |
+
if (($sbj = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $sbj)))
|
131 |
+
if (($sbj = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $sbj)))
|
132 |
+
if (($sbj = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $sbj)))
|
133 |
+
if (($sbj = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $sbj)))
|
134 |
+
|
135 |
+
if (($msg = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $msg)) && ($msg = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $msg)))
|
136 |
+
if (($msg = preg_replace ("/%%amount%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["mc_gross"]), $msg)) && ($msg = preg_replace ("/%%txn_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["txn_id"]), $msg)))
|
137 |
+
if (($msg = preg_replace ("/%%item_number%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_number"]), $msg)) && ($msg = preg_replace ("/%%item_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["item_name"]), $msg)))
|
138 |
+
if (($msg = preg_replace ("/%%first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["first_name"]), $msg)) && ($msg = preg_replace ("/%%last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["last_name"]), $msg)))
|
139 |
+
if (($msg = preg_replace ("/%%full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($paypal["first_name"] . " " . $paypal["last_name"])), $msg)))
|
140 |
+
if (($msg = preg_replace ("/%%payer_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["payer_email"]), $msg)))
|
141 |
+
|
142 |
+
if (($msg = preg_replace ("/%%full_coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["full_coupon_code"]), $msg)) && ($msg = preg_replace ("/%%coupon_code%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["coupon_code"]), $msg)) && ($msg = preg_replace ("/%%coupon_affiliate_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($coupon["affiliate_id"]), $msg)))
|
143 |
+
|
144 |
+
if (($msg = preg_replace ("/%%user_first_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->first_name), $msg)) && ($msg = preg_replace ("/%%user_last_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->last_name), $msg)))
|
145 |
+
if (($msg = preg_replace ("/%%user_full_name%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (trim ($user->first_name . " " . $user->last_name)), $msg)))
|
146 |
+
if (($msg = preg_replace ("/%%user_email%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_email), $msg)))
|
147 |
+
if (($msg = preg_replace ("/%%user_login%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user->user_login), $msg)))
|
148 |
+
if (($msg = preg_replace ("/%%user_ip%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_reg_ip), $msg)))
|
149 |
+
if (($msg = preg_replace ("/%%user_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($user_id), $msg)))
|
150 |
+
{
|
151 |
+
if (is_array ($fields) && !empty ($fields)) foreach /* Custom Registration/Profile Fields. */ ($fields as $var => $val)
|
152 |
+
{
|
153 |
+
$rec = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $rec);
|
154 |
+
$sbj = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $sbj);
|
155 |
+
$msg = preg_replace ("/%%" . preg_quote ($var, "/") . "%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (maybe_serialize ($val)), $msg);
|
156 |
+
}
|
157 |
+
if (($rec = trim (preg_replace ("/%%(.+?)%%/i", "", $rec))) && ($sbj = trim (preg_replace ("/%%(.+?)%%/i", "", $sbj))) && ($msg = trim (preg_replace ("/%%(.+?)%%/i", "", $msg))))
|
158 |
+
{
|
159 |
+
if (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ())
|
160 |
+
{
|
161 |
+
$sbj = c_ws_plugin__s2member_utilities::evl($sbj, get_defined_vars());
|
162 |
+
$msg = c_ws_plugin__s2member_utilities::evl($msg, get_defined_vars());
|
163 |
+
}
|
164 |
+
foreach /* Go through a possible list of recipients. */(c_ws_plugin__s2member_utils_strings::parse_emails ($rec) as $recipient)
|
165 |
+
c_ws_plugin__s2member_email_configs::email_config () . wp_mail ($recipient, apply_filters ("ws_plugin__s2member_capabilities_email_sbj", $sbj, get_defined_vars ()), apply_filters ("ws_plugin__s2member_capabilities_email_msg", $msg, get_defined_vars ()), "From: \"" . preg_replace ('/"/', "'", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_name"]) . "\" <" . $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["reg_email_from_email"] . ">\r\nContent-Type: text/plain; charset=UTF-8") . c_ws_plugin__s2member_email_configs::email_config_release ();
|
166 |
+
|
167 |
+
$paypal["s2member_log"][] = "Capability Confirmation Email sent to: " . $rec . ".";
|
168 |
+
}
|
169 |
+
}
|
170 |
if ($processing && $_REQUEST["s2member_paypal_proxy"] && ($url = $_REQUEST["s2member_paypal_proxy_return_url"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"]))) // A Proxy is requesting a Return URL?
|
171 |
{
|
172 |
if (($url = preg_replace ("/%%cv([0-9]+)%%/ei", 'urlencode(trim($cv[$1]))', $url)) && ($url = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (urlencode ($paypal["subscr_id"])), $url)))
|
196 |
}
|
197 |
$paypal["s2member_log"][] = "Capability Return, a Proxy Return URL is ready.";
|
198 |
}
|
|
|
199 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_urls"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
200 |
{
|
201 |
foreach (preg_split ("/[\r\n\t]+/", $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_urls"]) as $url)
|
226 |
}
|
227 |
$paypal["s2member_log"][] = "Payment Notification URLs have been processed.";
|
228 |
}
|
|
|
229 |
if ($processing && $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["payment_notification_recipients"] && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
230 |
{
|
231 |
$msg = $sbj = "(s2Member / API Notification Email) - Payment";
|
296 |
}
|
297 |
$paypal["s2member_log"][] = "Payment Notification Emails have been processed.";
|
298 |
}
|
|
|
299 |
if ($processing && ($code = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_tracking_codes"]) && is_array ($cv = preg_split ("/\|/", $paypal["custom"])))
|
300 |
{
|
301 |
if (($code = preg_replace ("/%%cv([0-9]+)%%/ei", 'trim($cv[$1])', $code)) && ($code = preg_replace ("/%%subscr_id%%/i", c_ws_plugin__s2member_utils_strings::esc_ds ($paypal["subscr_id"]), $code)))
|
includes/classes/profile-in.inc.php
CHANGED
@@ -76,7 +76,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
76 |
echo '<td>' . "\n";
|
77 |
echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
|
78 |
echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("(cannot be changed)", "s2member-front", "s2member") . '</small><br />' . "\n";
|
79 |
-
echo '<input type="text" aria-required="true" maxlength="60" autocomplete="off" name="ws_plugin__s2member_profile_login" id="ws-plugin--s2member-profile-login" class="ws-plugin--s2member-profile-field" value="' . format_to_edit ($user->user_login) . '" disabled="disabled" />' . "\n";
|
80 |
echo '</label>' . "\n";
|
81 |
echo '</td>' . "\n";
|
82 |
echo '</tr>' . "\n";
|
@@ -96,7 +96,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
96 |
echo '<td>' . "\n";
|
97 |
echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
|
98 |
echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
99 |
-
echo '<input type="
|
100 |
echo '</label>' . "\n";
|
101 |
echo '</td>' . "\n";
|
102 |
echo '</tr>' . "\n";
|
@@ -118,7 +118,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
118 |
echo '<td>' . "\n";
|
119 |
echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
|
120 |
echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
121 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_first_name" id="ws-plugin--s2member-profile-first-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->first_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
122 |
echo '</label>' . "\n";
|
123 |
echo '</td>' . "\n";
|
124 |
echo '</tr>' . "\n";
|
@@ -138,7 +138,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
138 |
echo '<td>' . "\n";
|
139 |
echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
|
140 |
echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
141 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_last_name" id="ws-plugin--s2member-profile-last-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->last_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
142 |
echo '</label>' . "\n";
|
143 |
echo '</td>' . "\n";
|
144 |
echo '</tr>' . "\n";
|
@@ -158,7 +158,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
158 |
echo '<td>' . "\n";
|
159 |
echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
|
160 |
echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
161 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_display_name" id="ws-plugin--s2member-profile-display-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->display_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
162 |
echo '</label>' . "\n";
|
163 |
echo '</td>' . "\n";
|
164 |
echo '</tr>' . "\n";
|
@@ -233,11 +233,11 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
233 |
echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
234 |
echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("(please type it twice)", "s2member-front", "s2member") . '</em><br />' . "\n";
|
235 |
echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
|
236 |
-
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password1" id="ws-plugin--s2member-profile-password1" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
237 |
echo '</label>' . "\n";
|
238 |
|
239 |
echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
240 |
-
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password2" id="ws-plugin--s2member-profile-password2" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
241 |
echo '</label>' . "\n";
|
242 |
|
243 |
echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>' . _x ("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n";
|
@@ -257,7 +257,7 @@ if (!class_exists ("c_ws_plugin__s2member_profile_in"))
|
|
257 |
echo '<tr>' . "\n";
|
258 |
echo '<td>' . "\n";
|
259 |
echo '<input type="hidden" name="ws_plugin__s2member_profile_save" id="ws-plugin--s2member-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-profile-save")) . '" />' . "\n";
|
260 |
-
echo '<input type="submit" id="ws-plugin--s2member-profile-submit" value="' . esc_attr (_x ("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
261 |
echo '</td>' . "\n";
|
262 |
echo '</tr>' . "\n";
|
263 |
|
76 |
echo '<td>' . "\n";
|
77 |
echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
|
78 |
echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("(cannot be changed)", "s2member-front", "s2member") . '</small><br />' . "\n";
|
79 |
+
echo '<input type="text" aria-required="true" maxlength="60" autocomplete="off" name="ws_plugin__s2member_profile_login" id="ws-plugin--s2member-profile-login" class="ws-plugin--s2member-profile-field form-control" value="' . format_to_edit ($user->user_login) . '" disabled="disabled" />' . "\n";
|
80 |
echo '</label>' . "\n";
|
81 |
echo '</td>' . "\n";
|
82 |
echo '</tr>' . "\n";
|
96 |
echo '<td>' . "\n";
|
97 |
echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
|
98 |
echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
99 |
+
echo '<input type="email" aria-required="true" data-expected="email" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_email" id="ws-plugin--s2member-profile-email" class="ws-plugin--s2member-profile-field form-control" value="' . format_to_edit ($user->user_email) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
100 |
echo '</label>' . "\n";
|
101 |
echo '</td>' . "\n";
|
102 |
echo '</tr>' . "\n";
|
118 |
echo '<td>' . "\n";
|
119 |
echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
|
120 |
echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
121 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_first_name" id="ws-plugin--s2member-profile-first-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->first_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
122 |
echo '</label>' . "\n";
|
123 |
echo '</td>' . "\n";
|
124 |
echo '</tr>' . "\n";
|
138 |
echo '<td>' . "\n";
|
139 |
echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
|
140 |
echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
141 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_last_name" id="ws-plugin--s2member-profile-last-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->last_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
142 |
echo '</label>' . "\n";
|
143 |
echo '</td>' . "\n";
|
144 |
echo '</tr>' . "\n";
|
158 |
echo '<td>' . "\n";
|
159 |
echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
|
160 |
echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
161 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_display_name" id="ws-plugin--s2member-profile-display-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->display_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
162 |
echo '</label>' . "\n";
|
163 |
echo '</td>' . "\n";
|
164 |
echo '</tr>' . "\n";
|
233 |
echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
234 |
echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("(please type it twice)", "s2member-front", "s2member") . '</em><br />' . "\n";
|
235 |
echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
|
236 |
+
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password1" id="ws-plugin--s2member-profile-password1" class="ws-plugin--s2member-profile-field form-control" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
237 |
echo '</label>' . "\n";
|
238 |
|
239 |
echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
240 |
+
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password2" id="ws-plugin--s2member-profile-password2" class="ws-plugin--s2member-profile-field form-control" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
241 |
echo '</label>' . "\n";
|
242 |
|
243 |
echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>' . _x ("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n";
|
257 |
echo '<tr>' . "\n";
|
258 |
echo '<td>' . "\n";
|
259 |
echo '<input type="hidden" name="ws_plugin__s2member_profile_save" id="ws-plugin--s2member-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-profile-save")) . '" />' . "\n";
|
260 |
+
echo '<input type="submit" id="ws-plugin--s2member-profile-submit" class="btn btn-primary" value="' . esc_attr (_x ("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
261 |
echo '</td>' . "\n";
|
262 |
echo '</tr>' . "\n";
|
263 |
|
includes/classes/sc-paypal-button-in.inc.php
CHANGED
@@ -59,6 +59,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_paypal_button_in"))
|
|
59 |
$attr["rt"] = /* Term lengths absolutely must be provided in upper-case format. Only after running shortcode_atts(). */ strtoupper ($attr["rt"]);
|
60 |
$attr["rr"] = /* Must be provided in upper-case format. Numerical, or BN value. Only after running shortcode_atts(). */ strtoupper ($attr["rr"]);
|
61 |
$attr["ccaps"] = /* Custom Capabilities must be typed in lower-case format. Only after running shortcode_atts(). */ strtolower ($attr["ccaps"]);
|
|
|
62 |
$attr["rr"] = /* Lifetime Subscriptions require Buy Now. Only after running shortcode_atts(). */ ($attr["rt"] === "L") ? "BN" : $attr["rr"];
|
63 |
$attr["rr"] = /* Independent Ccaps require Buy Now. Only after running shortcode_atts(). */ ($attr["level"] === "*") ? "BN" : $attr["rr"];
|
64 |
$attr["ns"] = /* No shipping directive must be 1 for digital items. After shortcode_atts(). */ ($attr["dg"] === "1") ? "1" : $attr["ns"];
|
59 |
$attr["rt"] = /* Term lengths absolutely must be provided in upper-case format. Only after running shortcode_atts(). */ strtoupper ($attr["rt"]);
|
60 |
$attr["rr"] = /* Must be provided in upper-case format. Numerical, or BN value. Only after running shortcode_atts(). */ strtoupper ($attr["rr"]);
|
61 |
$attr["ccaps"] = /* Custom Capabilities must be typed in lower-case format. Only after running shortcode_atts(). */ strtolower ($attr["ccaps"]);
|
62 |
+
$attr["ccaps"] = /* Custom Capabilities should not have spaces. */ str_replace(" ", "", $attr["ccaps"]);
|
63 |
$attr["rr"] = /* Lifetime Subscriptions require Buy Now. Only after running shortcode_atts(). */ ($attr["rt"] === "L") ? "BN" : $attr["rr"];
|
64 |
$attr["rr"] = /* Independent Ccaps require Buy Now. Only after running shortcode_atts(). */ ($attr["level"] === "*") ? "BN" : $attr["rr"];
|
65 |
$attr["ns"] = /* No shipping directive must be 1 for digital items. After shortcode_atts(). */ ($attr["dg"] === "1") ? "1" : $attr["ns"];
|
includes/classes/sc-profile-in.inc.php
CHANGED
@@ -64,9 +64,9 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
64 |
|
65 |
echo '<form method="post" name="ws_plugin__s2member_profile" id="ws-plugin--s2member-profile">' . "\n";
|
66 |
|
67 |
-
if ($GLOBALS["ws_plugin__s2member_profile_saved"]) // Respond to successful updates.
|
68 |
{
|
69 |
-
echo '<div id="ws-plugin--s2member-profile-saved">' . "\n";
|
70 |
echo _x ("Profile updated successfully.", "s2member-front", "s2member") . "\n";
|
71 |
echo '</div>' . "\n";
|
72 |
}
|
@@ -92,7 +92,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
92 |
echo '<td>' . "\n";
|
93 |
echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
|
94 |
echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("(cannot be changed)", "s2member-front", "s2member") . '</small><br />' . "\n";
|
95 |
-
echo '<input type="text" aria-required="true" maxlength="60" autocomplete="off" name="ws_plugin__s2member_profile_login" id="ws-plugin--s2member-profile-login" class="ws-plugin--s2member-profile-field" value="' . format_to_edit ($user->user_login) . '" disabled="disabled" />' . "\n";
|
96 |
echo '</label>' . "\n";
|
97 |
echo '</td>' . "\n";
|
98 |
echo '</tr>' . "\n";
|
@@ -112,7 +112,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
112 |
echo '<td>' . "\n";
|
113 |
echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
|
114 |
echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
115 |
-
echo '<input type="
|
116 |
echo '</label>' . "\n";
|
117 |
echo '</td>' . "\n";
|
118 |
echo '</tr>' . "\n";
|
@@ -134,7 +134,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
134 |
echo '<td>' . "\n";
|
135 |
echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
|
136 |
echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
137 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_first_name" id="ws-plugin--s2member-profile-first-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->first_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
138 |
echo '</label>' . "\n";
|
139 |
echo '</td>' . "\n";
|
140 |
echo '</tr>' . "\n";
|
@@ -154,7 +154,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
154 |
echo '<td>' . "\n";
|
155 |
echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
|
156 |
echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
157 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_last_name" id="ws-plugin--s2member-profile-last-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->last_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
158 |
echo '</label>' . "\n";
|
159 |
echo '</td>' . "\n";
|
160 |
echo '</tr>' . "\n";
|
@@ -174,7 +174,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
174 |
echo '<td>' . "\n";
|
175 |
echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
|
176 |
echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
177 |
-
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_display_name" id="ws-plugin--s2member-profile-display-name" class="ws-plugin--s2member-profile-field" value="' . esc_attr ($user->display_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
178 |
echo '</label>' . "\n";
|
179 |
echo '</td>' . "\n";
|
180 |
echo '</tr>' . "\n";
|
@@ -249,11 +249,11 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
249 |
echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
250 |
echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("(please type it twice)", "s2member-front", "s2member") . '</em><br />' . "\n";
|
251 |
echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
|
252 |
-
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password1" id="ws-plugin--s2member-profile-password1" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
253 |
echo '</label>' . "\n";
|
254 |
|
255 |
echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
256 |
-
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password2" id="ws-plugin--s2member-profile-password2" class="ws-plugin--s2member-profile-field" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
257 |
echo '</label>' . "\n";
|
258 |
|
259 |
echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>' . _x ("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n";
|
@@ -274,7 +274,7 @@ if (!class_exists ("c_ws_plugin__s2member_sc_profile_in"))
|
|
274 |
echo '<td>' . "\n";
|
275 |
echo '<input type="hidden" name="ws_plugin__s2member_sc_profile_save" id="ws-plugin--s2member-sc-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-sc-profile-save")) . '" />' . "\n";
|
276 |
echo '<input type="hidden" name="ws_plugin__s2member_profile_save" id="ws-plugin--s2member-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-profile-save")) . '" />' . "\n";
|
277 |
-
echo '<input type="submit" id="ws-plugin--s2member-profile-submit" value="' . esc_attr (_x ("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
278 |
echo '</td>' . "\n";
|
279 |
echo '</tr>' . "\n";
|
280 |
|
64 |
|
65 |
echo '<form method="post" name="ws_plugin__s2member_profile" id="ws-plugin--s2member-profile">' . "\n";
|
66 |
|
67 |
+
if (!empty($GLOBALS["ws_plugin__s2member_profile_saved"])) // Respond to successful updates.
|
68 |
{
|
69 |
+
echo '<div id="ws-plugin--s2member-profile-saved" class="alert alert-success">' . "\n";
|
70 |
echo _x ("Profile updated successfully.", "s2member-front", "s2member") . "\n";
|
71 |
echo '</div>' . "\n";
|
72 |
}
|
92 |
echo '<td>' . "\n";
|
93 |
echo '<label for="ws-plugin--s2member-profile-login">' . "\n";
|
94 |
echo '<strong>' . _x ("Username", "s2member-front", "s2member") . ' *</strong> <small>' . _x ("(cannot be changed)", "s2member-front", "s2member") . '</small><br />' . "\n";
|
95 |
+
echo '<input type="text" aria-required="true" maxlength="60" autocomplete="off" name="ws_plugin__s2member_profile_login" id="ws-plugin--s2member-profile-login" class="ws-plugin--s2member-profile-field form-control" value="' . format_to_edit ($user->user_login) . '" disabled="disabled" />' . "\n";
|
96 |
echo '</label>' . "\n";
|
97 |
echo '</td>' . "\n";
|
98 |
echo '</tr>' . "\n";
|
112 |
echo '<td>' . "\n";
|
113 |
echo '<label for="ws-plugin--s2member-profile-email">' . "\n";
|
114 |
echo '<strong>' . _x ("Email Address", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
115 |
+
echo '<input type="email" aria-required="true" data-expected="email" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_email" id="ws-plugin--s2member-profile-email" class="ws-plugin--s2member-profile-field form-control" value="' . format_to_edit ($user->user_email) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
116 |
echo '</label>' . "\n";
|
117 |
echo '</td>' . "\n";
|
118 |
echo '</tr>' . "\n";
|
134 |
echo '<td>' . "\n";
|
135 |
echo '<label for="ws-plugin--s2member-profile-first-name">' . "\n";
|
136 |
echo '<strong>' . _x ("First Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
137 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_first_name" id="ws-plugin--s2member-profile-first-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->first_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
138 |
echo '</label>' . "\n";
|
139 |
echo '</td>' . "\n";
|
140 |
echo '</tr>' . "\n";
|
154 |
echo '<td>' . "\n";
|
155 |
echo '<label for="ws-plugin--s2member-profile-last-name">' . "\n";
|
156 |
echo '<strong>' . _x ("Last Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
157 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_last_name" id="ws-plugin--s2member-profile-last-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->last_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
158 |
echo '</label>' . "\n";
|
159 |
echo '</td>' . "\n";
|
160 |
echo '</tr>' . "\n";
|
174 |
echo '<td>' . "\n";
|
175 |
echo '<label for="ws-plugin--s2member-profile-display-name">' . "\n";
|
176 |
echo '<strong>' . _x ("Display Name", "s2member-front", "s2member") . ' *</strong><br />' . "\n";
|
177 |
+
echo '<input type="text" aria-required="true" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_display_name" id="ws-plugin--s2member-profile-display-name" class="ws-plugin--s2member-profile-field form-control" value="' . esc_attr ($user->display_name) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
178 |
echo '</label>' . "\n";
|
179 |
echo '</td>' . "\n";
|
180 |
echo '</tr>' . "\n";
|
249 |
echo '<label for="ws-plugin--s2member-profile-password1" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
250 |
echo '<strong>' . _x ("New Password?", "s2member-front", "s2member") . '</strong> <em>' . _x ("(please type it twice)", "s2member-front", "s2member") . '</em><br />' . "\n";
|
251 |
echo '<em>' . _x ("Only if changing password, otherwise leave blank.", "s2member-front", "s2member") . '</em><br />' . "\n";
|
252 |
+
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password1" id="ws-plugin--s2member-profile-password1" class="ws-plugin--s2member-profile-field form-control" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
253 |
echo '</label>' . "\n";
|
254 |
|
255 |
echo '<label for="ws-plugin--s2member-profile-password2" title="' . esc_attr (_x ("Please type your Password twice to confirm.", "s2member-front", "s2member")) . '">' . "\n";
|
256 |
+
echo '<input type="password" maxlength="100" autocomplete="off" name="ws_plugin__s2member_profile_password2" id="ws-plugin--s2member-profile-password2" class="ws-plugin--s2member-profile-field form-control" value="" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '"' . (($user->user_login === "demo") ? ' disabled="disabled"' : '') . ' />' . "\n";
|
257 |
echo '</label>' . "\n";
|
258 |
|
259 |
echo '<div id="ws-plugin--s2member-profile-password-strength" class="ws-plugin--s2member-password-strength"><em>' . _x ("password strength indicator", "s2member-front", "s2member") . '</em></div>' . "\n";
|
274 |
echo '<td>' . "\n";
|
275 |
echo '<input type="hidden" name="ws_plugin__s2member_sc_profile_save" id="ws-plugin--s2member-sc-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-sc-profile-save")) . '" />' . "\n";
|
276 |
echo '<input type="hidden" name="ws_plugin__s2member_profile_save" id="ws-plugin--s2member-profile-save" value="' . esc_attr (wp_create_nonce ("ws-plugin--s2member-profile-save")) . '" />' . "\n";
|
277 |
+
echo '<input type="submit" id="ws-plugin--s2member-profile-submit" class="btn btn-primary" value="' . esc_attr (_x ("Save All Changes", "s2member-front", "s2member")) . '" tabindex="' . esc_attr (($tabindex = $tabindex + 10)) . '" />' . "\n";
|
278 |
echo '</td>' . "\n";
|
279 |
echo '</tr>' . "\n";
|
280 |
|
includes/classes/sp-access.inc.php
CHANGED
@@ -124,7 +124,7 @@ if (!class_exists ("c_ws_plugin__s2member_sp_access"))
|
|
124 |
}
|
125 |
}
|
126 |
// Otherwise, authentication was NOT possible via link or session.
|
127 |
-
if (!$read_only && /* A Specific Post/Page Link? */ !empty ($_g["s2member_sp_access"]))
|
128 |
{
|
129 |
status_header (503);
|
130 |
header ("Content-Type: text/html; charset=UTF-8");
|
124 |
}
|
125 |
}
|
126 |
// Otherwise, authentication was NOT possible via link or session.
|
127 |
+
if (!$read_only && /* A Specific Post/Page Access Link? */ !empty ($_g["s2member_sp_access"]))
|
128 |
{
|
129 |
status_header (503);
|
130 |
header ("Content-Type: text/html; charset=UTF-8");
|
includes/classes/ssl-in.inc.php
CHANGED
@@ -120,6 +120,8 @@ if(!class_exists("c_ws_plugin__s2member_ssl_in"))
|
|
120 |
{
|
121 |
function _ws_plugin__s2member_force_non_ssl_scheme($url = FALSE, $path = FALSE, $scheme = FALSE)
|
122 |
{
|
|
|
|
|
123 |
if(!in_array /* If NOT explicitly passed through. */($scheme, array("http", "https"), true))
|
124 |
{
|
125 |
if(($scheme === "login_post" || $scheme === "rpc") && (force_ssl_login() || force_ssl_admin()))
|
120 |
{
|
121 |
function _ws_plugin__s2member_force_non_ssl_scheme($url = FALSE, $path = FALSE, $scheme = FALSE)
|
122 |
{
|
123 |
+
if($scheme === "relative") return $url; // Nothing to do in this case.
|
124 |
+
|
125 |
if(!in_array /* If NOT explicitly passed through. */($scheme, array("http", "https"), true))
|
126 |
{
|
127 |
if(($scheme === "login_post" || $scheme === "rpc") && (force_ssl_login() || force_ssl_admin()))
|
includes/classes/user-new-in.inc.php
CHANGED
@@ -95,7 +95,7 @@ if (!class_exists ("c_ws_plugin__s2member_user_new_in"))
|
|
95 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
96 |
|
97 |
$unfs .= '<tr>' . "\n";
|
98 |
-
$unfs .= '<th><label for="ws-plugin--s2member-user-new-s2member-subscr-gateway">Paid Subscr. Gateway:</label> <a href="#" onclick="alert(\'A Payment Gateway code is associated with the Paid Subscr. ID below. A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (
|
99 |
$unfs .= '<td><select name="ws_plugin__s2member_user_new_s2member_subscr_gateway" id="ws-plugin--s2member-user-new-s2member-subscr-gateway" style="width:25em;"><option value=""></option>' . "\n";
|
100 |
foreach (apply_filters ("ws_plugin__s2member_profile_s2member_subscr_gateways", array ("paypal" => "PayPal (code: paypal)"), get_defined_vars ()) as $gateway => $gateway_name)
|
101 |
$unfs .= '<option value="' . esc_attr ($gateway) . '"' . (($gateway === $_p["ws_plugin__s2member_user_new_s2member_subscr_gateway"]) ? ' selected="selected"' : '') . '>' . esc_html ($gateway_name) . '</option>' . "\n";
|
@@ -112,7 +112,7 @@ if (!class_exists ("c_ws_plugin__s2member_user_new_in"))
|
|
112 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
113 |
|
114 |
$unfs .= '<tr>' . "\n";
|
115 |
-
$unfs .= '<th><label for="ws-plugin--s2member-user-new-s2member-subscr-id">Paid Subscr. ID:</label> <a href="#" onclick="alert(\'A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (
|
116 |
$unfs .= '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_user_new_s2member_subscr_id" id="ws-plugin--s2member-user-new-s2member-subscr-id" value="' . format_to_edit ($_p["ws_plugin__s2member_user_new_s2member_subscr_id"]) . '" class="regular-text" /></td>' . "\n";
|
117 |
$unfs .= '</tr>' . "\n";
|
118 |
|
95 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
96 |
|
97 |
$unfs .= '<tr>' . "\n";
|
98 |
+
$unfs .= '<th><label for="ws-plugin--s2member-user-new-s2member-subscr-gateway">Paid Subscr. Gateway:</label> <a href="#" onclick="alert(\'A Payment Gateway code is associated with the Paid Subscr. ID below. A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (a Recurring Profile ID, a ClickBank Receipt #, a Google Order ID, an AliPay Trade No.). Under normal circumstances, this is filled automatically by s2Member. This field is ONLY here for Customer Service purposes; just in case you ever need to enter a Paid Subscr. Gateway/ID manually. This field will be empty for Free Subscribers, and/or anyone who is NOT paying you.\\n\\nThe value of Paid Subscr. ID, can be a PayPal Standard `Subscription ID`, or a PayPal Pro `Recurring Profile ID`, or a PayPal `Transaction ID`; depending on the type of sale. Your PayPal account will supply this information. If you\\\'re using Google Wallet, use the Google Order ID. ClickBank provides a Receipt #, ccBill provides a Subscription ID, Authorize.Net provides a Subscription ID, and AliPay provides a Transaction ID. The general rule is... IF there\\\'s a Subscription ID, use that! If there\\\'s NOT, use the Transaction ID.\'); return false;" tabindex="-1">[?]</a></th>' . "\n";
|
99 |
$unfs .= '<td><select name="ws_plugin__s2member_user_new_s2member_subscr_gateway" id="ws-plugin--s2member-user-new-s2member-subscr-gateway" style="width:25em;"><option value=""></option>' . "\n";
|
100 |
foreach (apply_filters ("ws_plugin__s2member_profile_s2member_subscr_gateways", array ("paypal" => "PayPal (code: paypal)"), get_defined_vars ()) as $gateway => $gateway_name)
|
101 |
$unfs .= '<option value="' . esc_attr ($gateway) . '"' . (($gateway === $_p["ws_plugin__s2member_user_new_s2member_subscr_gateway"]) ? ' selected="selected"' : '') . '>' . esc_html ($gateway_name) . '</option>' . "\n";
|
112 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
113 |
|
114 |
$unfs .= '<tr>' . "\n";
|
115 |
+
$unfs .= '<th><label for="ws-plugin--s2member-user-new-s2member-subscr-id">Paid Subscr. ID:</label> <a href="#" onclick="alert(\'A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (a Recurring Profile ID, a ClickBank Receipt #, a Google Order ID, an AliPay Trade No.). Under normal circumstances, this is filled automatically by s2Member. This field is ONLY here for Customer Service purposes; just in case you ever need to enter a Paid Subscr. Gateway/ID manually. This field will be empty for Free Subscribers, and/or anyone who is NOT paying you.\\n\\nThe value of Paid Subscr. ID, can be a PayPal Standard `Subscription ID`, or a PayPal Pro `Recurring Profile ID`, or a PayPal `Transaction ID`; depending on the type of sale. Your PayPal account will supply this information. If you\\\'re using Google Wallet, use the Google Order ID. ClickBank provides a Receipt #, ccBill provides a Subscription ID, Authorize.Net provides a Subscription ID, and AliPay provides a Transaction ID. The general rule is... if there\\\'s a Subscription ID, use that! If there\\\'s NOT, use the Transaction ID.\'); return false;" tabindex="-1">[?]</a></th>' . "\n";
|
116 |
$unfs .= '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_user_new_s2member_subscr_id" id="ws-plugin--s2member-user-new-s2member-subscr-id" value="' . format_to_edit ($_p["ws_plugin__s2member_user_new_s2member_subscr_id"]) . '" class="regular-text" /></td>' . "\n";
|
117 |
$unfs .= '</tr>' . "\n";
|
118 |
|
includes/classes/users-list-in.inc.php
CHANGED
@@ -88,7 +88,7 @@ if(!class_exists("c_ws_plugin__s2member_users_list_in"))
|
|
88 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
89 |
|
90 |
echo '<tr>'."\n";
|
91 |
-
echo '<th><label for="ws-plugin--s2member-profile-s2member-subscr-gateway">Paid Subscr. Gateway:</label> <a href="#" onclick="alert(\'A Payment Gateway code is associated with the Paid Subscr. ID below. A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (
|
92 |
echo '<td><select name="ws_plugin__s2member_profile_s2member_subscr_gateway" id="ws-plugin--s2member-profile-s2member-subscr-gateway" style="width:25em;"><option value=""></option>'."\n";
|
93 |
foreach(apply_filters("ws_plugin__s2member_profile_s2member_subscr_gateways", array("paypal" => "PayPal (code: paypal)"), get_defined_vars()) as $gateway => $gateway_name)
|
94 |
echo '<option value="'.esc_attr($gateway).'"'.(($gateway === get_user_option("s2member_subscr_gateway", $user_id)) ? ' selected="selected"' : '').'>'.esc_html($gateway_name).'</option>'."\n";
|
@@ -105,7 +105,7 @@ if(!class_exists("c_ws_plugin__s2member_users_list_in"))
|
|
105 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
106 |
|
107 |
echo '<tr>'."\n";
|
108 |
-
echo '<th><label for="ws-plugin--s2member-profile-s2member-subscr-id">Paid Subscr. ID:</label> <a href="#" onclick="alert(\'A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (
|
109 |
echo '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_profile_s2member_subscr_id" id="ws-plugin--s2member-profile-s2member-subscr-id" value="'.format_to_edit(get_user_option("s2member_subscr_id", $user_id)).'" class="regular-text" /></td>'."\n";
|
110 |
echo '</tr>'."\n";
|
111 |
|
88 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
89 |
|
90 |
echo '<tr>'."\n";
|
91 |
+
echo '<th><label for="ws-plugin--s2member-profile-s2member-subscr-gateway">Paid Subscr. Gateway:</label> <a href="#" onclick="alert(\'A Payment Gateway code is associated with the Paid Subscr. ID below. A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (a Recurring Profile ID, a ClickBank Receipt #, a Google Order ID, an AliPay Trade No.). This will be filled automatically by s2Member.\\n\\nThis field will be empty for Free Subscribers, and/or anyone who is NOT paying you. This field is only editable for Customer Service purposes; just in case you ever need to update the Paid Subscr. Gateway/ID manually.\\n\\nThe value of Paid Subscr. ID, can be a PayPal Standard `Subscription ID`, or a PayPal Pro `Recurring Profile ID`, or a PayPal `Transaction ID`; depending on the type of sale. Your PayPal account will supply this information. If you\\\'re using Google Wallet, use the Google Order ID. ClickBank provides a Receipt #, ccBill provides a Subscription ID, Authorize.Net provides a Subscription ID, and AliPay provides a Transaction ID. The general rule is... IF there\\\'s a Subscription ID, use that! If there\\\'s NOT, use the Transaction ID.\'); return false;" tabindex="-1">[?]</a></th>'."\n";
|
92 |
echo '<td><select name="ws_plugin__s2member_profile_s2member_subscr_gateway" id="ws-plugin--s2member-profile-s2member-subscr-gateway" style="width:25em;"><option value=""></option>'."\n";
|
93 |
foreach(apply_filters("ws_plugin__s2member_profile_s2member_subscr_gateways", array("paypal" => "PayPal (code: paypal)"), get_defined_vars()) as $gateway => $gateway_name)
|
94 |
echo '<option value="'.esc_attr($gateway).'"'.(($gateway === get_user_option("s2member_subscr_gateway", $user_id)) ? ' selected="selected"' : '').'>'.esc_html($gateway_name).'</option>'."\n";
|
105 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
106 |
|
107 |
echo '<tr>'."\n";
|
108 |
+
echo '<th><label for="ws-plugin--s2member-profile-s2member-subscr-id">Paid Subscr. ID:</label> <a href="#" onclick="alert(\'A Paid Subscription ID (or a Buy Now Transaction ID) is only valid for paid Members. Also known as (a Recurring Profile ID, a ClickBank Receipt #, a Google Order ID, an AliPay Trade No.). This will be filled automatically by s2Member.\\n\\nThis field will be empty for Free Subscribers, and/or anyone who is NOT paying you. This field is only editable for Customer Service purposes; just in case you ever need to update the Paid Subscr. Gateway/ID manually.\\n\\nThe value of Paid Subscr. ID, can be a PayPal Standard `Subscription ID`, or a PayPal Pro `Recurring Profile ID`, or a PayPal `Transaction ID`; depending on the type of sale. Your PayPal account will supply this information. If you\\\'re using Google Wallet, use the Google Order ID. ClickBank provides a Receipt #, ccBill provides a Subscription ID, Authorize.Net provides a Subscription ID, and AliPay provides a Transaction ID. The general rule is... IF there\\\'s a Subscription ID, use that! If there\\\'s NOT, use the Transaction ID.\'); return false;" tabindex="-1">[?]</a></th>'."\n";
|
109 |
echo '<td><input type="text" autocomplete="off" name="ws_plugin__s2member_profile_s2member_subscr_id" id="ws-plugin--s2member-profile-s2member-subscr-id" value="'.format_to_edit(get_user_option("s2member_subscr_id", $user_id)).'" class="regular-text" /></td>'."\n";
|
110 |
echo '</tr>'."\n";
|
111 |
|
includes/classes/utils-logs.inc.php
CHANGED
@@ -52,7 +52,8 @@ if (!class_exists ("c_ws_plugin__s2member_utils_logs"))
|
|
52 |
'/clickbank-ipn/' => array('short' => 'ClickBank IPN communication.', 'long' => 'This log file records the IPN data ClickBank sends to s2Member with details regarding new transactions, cancellations, expirations, etc. See also: paypal-ipn.log (s2Member\'s core processor).'),
|
53 |
'/clickbank-rtn/' => array('short' => 'ClickBank Auto-Return communication.', 'long' => 'This log file records the Auto-Return data ClickBank sends to s2Member with details regarding new transactions (i.e. logs routines that help s2Member process Thank-You pages). See also: paypal-rtn.log (s2Member\'s core processor).'),
|
54 |
|
55 |
-
'/google-
|
|
|
56 |
|
57 |
'/ccbill-ipn/' => array('short' => 'ccBill Bg Post/IPN communication.', 'long' => 'This log file records the Bg Post/IPN data ccBill sends to s2Member with details regarding new transactions. See also: paypal-ipn.log (s2Member\'s core processor).'),
|
58 |
'/ccbill-rtn/' => array('short' => 'ccBill Auto-Return communication.', 'long' => 'This log file records the Auto-Return data ccBill sends to s2Member with details regarding new transactions (i.e. logs routines that help s2Member process Thank-You pages). See also: paypal-rtn.log (s2Member\'s core processor).'),
|
52 |
'/clickbank-ipn/' => array('short' => 'ClickBank IPN communication.', 'long' => 'This log file records the IPN data ClickBank sends to s2Member with details regarding new transactions, cancellations, expirations, etc. See also: paypal-ipn.log (s2Member\'s core processor).'),
|
53 |
'/clickbank-rtn/' => array('short' => 'ClickBank Auto-Return communication.', 'long' => 'This log file records the Auto-Return data ClickBank sends to s2Member with details regarding new transactions (i.e. logs routines that help s2Member process Thank-You pages). See also: paypal-rtn.log (s2Member\'s core processor).'),
|
54 |
|
55 |
+
'/google-rtn/' => array('short' => 'Google Auto-Return communication.', 'long' => 'This log file records the Auto-Return data Google sends to s2Member with details regarding new transactions (i.e. logs routines that help s2Member process Thank-You pages). See also: paypal-rtn.log (s2Member\'s core processor). NOTE (regarding Google Wallet)... this particular log file is currently implemented for a possible future use ONLY. At this time there is no need for an Auto-Return handler with Google Wallet, because Google Wallet return handling is done via email-only at this time.'),
|
56 |
+
'/google-ipn/' => array('short' => 'Google Postback/IPN communication.', 'long' => 'This log file records the Postback/IPN data Google sends to s2Member with details regarding new transactions, cancellations, expirations, etc. See also: paypal-ipn.log (s2Member\'s core processor).'),
|
57 |
|
58 |
'/ccbill-ipn/' => array('short' => 'ccBill Bg Post/IPN communication.', 'long' => 'This log file records the Bg Post/IPN data ccBill sends to s2Member with details regarding new transactions. See also: paypal-ipn.log (s2Member\'s core processor).'),
|
59 |
'/ccbill-rtn/' => array('short' => 'ccBill Auto-Return communication.', 'long' => 'This log file records the Auto-Return data ccBill sends to s2Member with details regarding new transactions (i.e. logs routines that help s2Member process Thank-You pages). See also: paypal-rtn.log (s2Member\'s core processor).'),
|
includes/dropins/bridges/index.php
DELETED
File without changes
|
includes/dropins/index.php
DELETED
File without changes
|
includes/dropins/mu-plugins/index.php
DELETED
File without changes
|
includes/externals/index.php
DELETED
File without changes
|
includes/externals/mailchimp/index.php
DELETED
File without changes
|
includes/externals/markdown/index.php
DELETED
File without changes
|
includes/functions/index.php
DELETED
File without changes
|
includes/functions/separates/index.php
DELETED
File without changes
|
includes/index.php
DELETED
File without changes
|
includes/jquery/index.php
DELETED
File without changes
|
includes/jquery/jquery.json-ps/index.php
DELETED
File without changes
|
includes/jquery/jquery.sprintf/index.php
DELETED
File without changes
|
includes/jquery/jquery.ui-effects/index.php
DELETED
File without changes
|
includes/menu-pages/api-ops.inc.php
CHANGED
@@ -403,7 +403,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_api_ops"))
|
|
403 |
echo '<strong>You can also use these special Replacement Codes if you need them:</strong>' . "\n";
|
404 |
echo '<ul>' . "\n";
|
405 |
echo '<li><code>%%subscr_id%%</code> = The Paid Subscription ID, which remains constant throughout any & all future payments. [ <a href="#" onclick="alert(\'There is one exception. If you are selling Lifetime or Fixed-Term (non-recurring) access, using Buy Now functionality; the %%subscr_id%% is actually set to the Transaction ID for the purchase. Payment Gateways do not provide a specific Subscription ID for Buy Now purchases. Since Lifetime & Fixed-Term Subscriptions are NOT recurring (i.e. there is only ONE payment), using the Transaction ID as the Subscription ID is a graceful way to deal with this minor conflict.\'); return false;">?</a> ]</li>' . "\n";
|
406 |
-
echo '<li><code>%%initial%%</code> = The Initial Fee
|
407 |
echo '<li><code>%%regular%%</code> = The Regular Amount of the Subscription. If you offer something 100% free, this will be <code>0</code>. [ <a href="#" onclick="alert(\'This is how much the Subscription costs after an Initial Period expires. If you did NOT offer an Initial Period at a different price, %%initial%% and %%regular%% will be equal to the same thing.\'); return false;">?</a> ]</li>' . "\n";
|
408 |
echo '<li><code>%%recurring%%</code> = This is the amount that will be charged on a recurring basis, or <code>0</code> if non-recurring. [ <a href="#" onclick="alert(\'If Recurring Payments have not been required, this will be equal to 0. That being said, %%regular%% & %%recurring%% are usually the same value. This variable can be used in two different ways. You can use it to determine what the Regular Recurring Rate is, or to determine whether the Subscription will recur or not. If it is going to recur, %%recurring%% will be > 0.\'); return false;">?</a> ]</li>' . "\n";
|
409 |
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who purchased the Membership Subscription.</li>' . "\n";
|
403 |
echo '<strong>You can also use these special Replacement Codes if you need them:</strong>' . "\n";
|
404 |
echo '<ul>' . "\n";
|
405 |
echo '<li><code>%%subscr_id%%</code> = The Paid Subscription ID, which remains constant throughout any & all future payments. [ <a href="#" onclick="alert(\'There is one exception. If you are selling Lifetime or Fixed-Term (non-recurring) access, using Buy Now functionality; the %%subscr_id%% is actually set to the Transaction ID for the purchase. Payment Gateways do not provide a specific Subscription ID for Buy Now purchases. Since Lifetime & Fixed-Term Subscriptions are NOT recurring (i.e. there is only ONE payment), using the Transaction ID as the Subscription ID is a graceful way to deal with this minor conflict.\'); return false;">?</a> ]</li>' . "\n";
|
406 |
+
echo '<li><code>%%initial%%</code> = The Initial Fee. If you offered a 100% Free Trial, this will be <code>0</code>. [ <a href="#" onclick="alert(\'This will always represent the amount of money the Customer spent when they completed checkout, no matter what. Even if that amount is 0.\\n\\nIf a Customer upgrades/downgrades under the terms of a 100% Free Trial Period, this will be 0. So, please be careful using %%initial%% when you offer a 100% Free Trial Period, because a $0.00 sale amount could cause havoc with affiliate programs.\\n\\nIf you\\\'re offering a 100% Free Trial Period, and you need to track sales through affiliate programs, you can either hard-code an amount; or use `Payment Notifications` instead.\'); return false;">?</a> ]</li>' . "\n";
|
407 |
echo '<li><code>%%regular%%</code> = The Regular Amount of the Subscription. If you offer something 100% free, this will be <code>0</code>. [ <a href="#" onclick="alert(\'This is how much the Subscription costs after an Initial Period expires. If you did NOT offer an Initial Period at a different price, %%initial%% and %%regular%% will be equal to the same thing.\'); return false;">?</a> ]</li>' . "\n";
|
408 |
echo '<li><code>%%recurring%%</code> = This is the amount that will be charged on a recurring basis, or <code>0</code> if non-recurring. [ <a href="#" onclick="alert(\'If Recurring Payments have not been required, this will be equal to 0. That being said, %%regular%% & %%recurring%% are usually the same value. This variable can be used in two different ways. You can use it to determine what the Regular Recurring Rate is, or to determine whether the Subscription will recur or not. If it is going to recur, %%recurring%% will be > 0.\'); return false;">?</a> ]</li>' . "\n";
|
409 |
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who purchased the Membership Subscription.</li>' . "\n";
|
includes/menu-pages/code-samples/index.php
DELETED
File without changes
|
includes/menu-pages/gen-ops.inc.php
CHANGED
@@ -139,7 +139,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_gen_ops"))
|
|
139 |
echo '<div class="ws-menu-page-group" title="Localhost WAMP/MAMP Developers">' . "\n";
|
140 |
|
141 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-localhost-info-section">' . "\n";
|
142 |
-
echo '<h3>Localhost WAMP/MAMP Installs (
|
143 |
echo '<p>If you\'re developing your site in a <code>localhost</code> environment, running something like WAMP/MAMP, or <a href="http://www.easyphp.org/" target="_blank" rel="external">EasyPHP</a>, please add this line to your <code>/wp-config.php</code> file: <code><span style="color:#0000BB;">define</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"LOCALHOST"</span>, <span style="color:#0000BB;">true</span><span style="color:#007700;">);</span></code>.</p>' . "\n";
|
144 |
echo '<p>This lets s2Member know definitively that your site is in a <code>localhost</code> environment. s2Member will adjust itself accordingly, maximizing functionality during your developement. s2Member can usually auto-detect this, but in cases where your <code>localhost</code> installation runs on something other than <code>127.0.0.1/localhost</code>, you need to tell s2Member definitively, by adding that line to your <code>/wp-config.php</code> file. For instance, s2Member needs to know when your server IP is the same as all User IPs.</p>' . "\n";
|
145 |
echo '<p><em>Once your site goes live, please remove the line. If you\'re already on a live server connected to the web, please ignore this section.</em></p>' . "\n";
|
@@ -151,6 +151,49 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_gen_ops"))
|
|
151 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_after_localhost_info", get_defined_vars ());
|
152 |
}
|
153 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
154 |
if (apply_filters ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_display_s_badge_wp_footer_code", true, get_defined_vars ()))
|
155 |
{
|
156 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_before_s_badge_wp_footer_code", get_defined_vars ());
|
139 |
echo '<div class="ws-menu-page-group" title="Localhost WAMP/MAMP Developers">' . "\n";
|
140 |
|
141 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-localhost-info-section">' . "\n";
|
142 |
+
echo '<h3>Localhost WAMP/MAMP Installs (are you a developer?)</h3>' . "\n";
|
143 |
echo '<p>If you\'re developing your site in a <code>localhost</code> environment, running something like WAMP/MAMP, or <a href="http://www.easyphp.org/" target="_blank" rel="external">EasyPHP</a>, please add this line to your <code>/wp-config.php</code> file: <code><span style="color:#0000BB;">define</span><span style="color:#007700;">(</span><span style="color:#DD0000;">"LOCALHOST"</span>, <span style="color:#0000BB;">true</span><span style="color:#007700;">);</span></code>.</p>' . "\n";
|
144 |
echo '<p>This lets s2Member know definitively that your site is in a <code>localhost</code> environment. s2Member will adjust itself accordingly, maximizing functionality during your developement. s2Member can usually auto-detect this, but in cases where your <code>localhost</code> installation runs on something other than <code>127.0.0.1/localhost</code>, you need to tell s2Member definitively, by adding that line to your <code>/wp-config.php</code> file. For instance, s2Member needs to know when your server IP is the same as all User IPs.</p>' . "\n";
|
145 |
echo '<p><em>Once your site goes live, please remove the line. If you\'re already on a live server connected to the web, please ignore this section.</em></p>' . "\n";
|
151 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_after_localhost_info", get_defined_vars ());
|
152 |
}
|
153 |
|
154 |
+
if (apply_filters ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_display_lazy_load", (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site () || is_super_admin ()), get_defined_vars ()))
|
155 |
+
{
|
156 |
+
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_before_lazy_load", get_defined_vars ());
|
157 |
+
|
158 |
+
echo '<div class="ws-menu-page-group" title="CSS/JS Lazy Loading">' . "\n";
|
159 |
+
|
160 |
+
echo '<div class="ws-menu-page-section ws-plugin--s2member-lazy-load-section">' . "\n";
|
161 |
+
echo '<h3>CSS/JS Lazy Loading (Client-Side Libraries)</h3>' . "\n";
|
162 |
+
echo '<p>By default, s2Member will lazy-load any CSS/JS files it needs. However, if you would prefer to have these available on every page of your site, you can turn lazy-loading off here.</p>' . "\n";
|
163 |
+
echo '<p><em><strong>Tip:</strong> Do you need s2Member\'s CSS/JS on every page? Another option is to leave lazy-loading on. If you need s2Member\'s CSS/JS on a given Post/Page, you can insert an HTML comment into the Post/Page content like this: <code><!--s2member--></code>. If a Post/Page contains the word <code>s2member</code> or an <code>[s2*</code> Shortcode, this will automatically trigger s2Member\'s lazy-load routine (no matter what you configure here). Thus, it\'s an easy way to force s2Member to load it\'s CSS/JS on specific Posts/Pages where you deem this necessary. There is also a WordPress filter available: <code>add_filter("ws_plugin__s2member_lazy_load_css_js", "__return_true");</code> for developers; this could be incorporated into more dynamic scenarios.</em></p>' . "\n";
|
164 |
+
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_during_lazy_load", get_defined_vars ());
|
165 |
+
|
166 |
+
echo '<table class="form-table">' . "\n";
|
167 |
+
echo '<tbody>' . "\n";
|
168 |
+
echo '<tr>' . "\n";
|
169 |
+
|
170 |
+
echo '<th>' . "\n";
|
171 |
+
echo '<label for="ws-plugin--s2member-lazy-load-css-js">' . "\n";
|
172 |
+
echo 'Lazy-Load s2Member\'s CSS/JS Libraries?' . "\n";
|
173 |
+
echo '</label>' . "\n";
|
174 |
+
echo '</th>' . "\n";
|
175 |
+
|
176 |
+
echo '</tr>' . "\n";
|
177 |
+
echo '<tr>' . "\n";
|
178 |
+
|
179 |
+
echo '<td>' . "\n";
|
180 |
+
echo '<select name="ws_plugin__s2member_lazy_load_css_js" id="ws-plugin--s2member-lazy-load-css-js">' . "\n";
|
181 |
+
echo '<option value="0"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["lazy_load_css_js"]) ? ' selected="selected"' : '') . '>No (always load the CSS/JS libraries; e.g. on every page of the site)</option>' . "\n";
|
182 |
+
echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["lazy_load_css_js"]) ? ' selected="selected"' : '') . '>Yes (lazy-load CSS/JS libraries; e.g. load only when necessary)</option>' . "\n";
|
183 |
+
echo '</select><br />' . "\n";
|
184 |
+
echo 'Recommended setting: (<code>Yes, lazy-load CSS/JS libraries</code>)' . "\n";
|
185 |
+
echo '</td>' . "\n";
|
186 |
+
|
187 |
+
echo '</tr>' . "\n";
|
188 |
+
echo '</tbody>' . "\n";
|
189 |
+
echo '</table>' . "\n";
|
190 |
+
echo '</div>' . "\n";
|
191 |
+
|
192 |
+
echo '</div>' . "\n";
|
193 |
+
|
194 |
+
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_after_lazy_load", get_defined_vars ());
|
195 |
+
}
|
196 |
+
|
197 |
if (apply_filters ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_display_s_badge_wp_footer_code", true, get_defined_vars ()))
|
198 |
{
|
199 |
do_action ("ws_plugin__s2member_during_gen_ops_page_during_left_sections_before_s_badge_wp_footer_code", get_defined_vars ());
|
includes/menu-pages/index.php
DELETED
File without changes
|
includes/menu-pages/menu-pages.css
CHANGED
@@ -355,7 +355,7 @@ div.ws-menu-page .monospace
|
|
355 |
}
|
356 |
div.ws-menu-page textarea.monospace
|
357 |
{
|
358 |
-
white-space :
|
359 |
}
|
360 |
div.ws-menu-page .clearfix:before,
|
361 |
div.ws-menu-page .clearfix:after
|
355 |
}
|
356 |
div.ws-menu-page textarea.monospace
|
357 |
{
|
358 |
+
white-space : pre;
|
359 |
}
|
360 |
div.ws-menu-page .clearfix:before,
|
361 |
div.ws-menu-page .clearfix:after
|
includes/menu-pages/paypal-buttons.inc.php
CHANGED
@@ -56,7 +56,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
56 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-level' . $n . '-buttons-section">' . "\n";
|
57 |
echo '<h3>Button Code Generator For Level #' . $n . ' Access</h3>' . "\n";
|
58 |
echo '<p>Very simple. All you do is customize the form fields provided, for each Membership Level that you plan to offer. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. Member accounts will be activated instantly, in an automated fashion. When you, or a Member, cancels their Membership, or fails to make payments on time, s2Member will automatically terminate their Membership privileges. s2Member makes extensive use of the PayPal IPN service. s2Member receives updates from PayPal behind-the-scene.</p>' . "\n";
|
59 |
-
echo '<p><em
|
60 |
|
61 |
if (($ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_levelN_buttons = "ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_level" . $n . "_buttons"))
|
62 |
do_action ($ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_levelN_buttons, get_defined_vars ());
|
@@ -245,7 +245,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
245 |
echo '<p>Independent Custom Capabilities are added to a Customer\'s account immediately after checkout, and the Customer will have the Custom Capabilities for as long as their Membership lasts, based on their primary Subscription with your site, and/or forever, if they have a Lifetime account with you. In other words, Independent Custom Capabilities will exist on the Customer\'s account forever, or until an EOT <em>(End Of Term)</em> occurs on their primary Subscription with you; in which case s2Member would demote or delete the Customer\'s account <em>(based on your EOT configuration)</em>, and all Custom Capabilities are removed as well.</p>' . "\n";
|
246 |
echo '<p>Very simple. All you do is customize the form fields provided, for each set of Custom Capabilities that you plan to sell. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. The Customer will be granted additional access to one or more Custom Capabilities that you specify; while the Customer\'s Membership Level Access and any existing paid Subscription they may already have with you, will remain completely unaffected.</p>' . "\n";
|
247 |
echo '<p><em><strong>*Important Note*</strong> Independent Custom Capability Buttons should ONLY be displayed to existing Users/Members, and they MUST be logged-in, BEFORE clicking this Button. Otherwise, post-processing of their transaction will fail to recognize the Customer\'s existing account within WordPress. Please display this Button only to Users/Members that are already logged into their account (perhaps in your Login Welcome Page for s2Member), or in another location where you can be absolutely sure that a User/Member is logged in. s2Member\'s Simple Conditionals could also be used to ensure a User/Member is logged in, by wrapping your Shortcode within a Conditional test. For further details, please see: <code>s2Member -› API Scripting -› Simple Conditionals</code>.</em></p>' . "\n";
|
248 |
-
echo '<p><em
|
249 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_ccap_buttons", get_defined_vars ());
|
250 |
|
251 |
echo '<table class="form-table">' . "\n";
|
@@ -392,7 +392,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
392 |
|
393 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-reg-links-section">' . "\n";
|
394 |
echo '<h3>Registration Access Link Generator (for Customer Service)</h3>' . "\n";
|
395 |
-
echo '<p>s2Member automatically generates Registration Access Links for your Customers after checkout, and also sends them a link in a Confirmation Email. However, if you ever need to deal with a Customer Service issue that requires a new Registration Access Link to be created manually, you can use this tool for that. Alternatively, you can create their account yourself/manually by going to <code>
|
396 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_reg_links", get_defined_vars ());
|
397 |
|
398 |
echo '<table class="form-table">' . "\n";
|
@@ -435,7 +435,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
435 |
echo '<p>In other words, Customers will NOT need to login, just to receive access to the Specific Post/Page they purchased access to. s2Member will immediately redirect the Customer to the Specific Post/Page after checkout is completed successfully. An email is also sent to the Customer with a link (see: <code>s2Member -› PayPal Options -› Specific Post/Page Email</code>). Authentication is handled automatically through self-expiring links, good for 72 hours by default.</p>' . "\n";
|
436 |
echo '<p>Specific Post/Page Access, is sort of like selling a product. Only, instead of shipping anything to the Customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member, might contain a download link for your eBook, access to file & music downloads, access to additional support services, and the list goes on and on. The possibilities with this are endless; as long as your digital product can be delivered through access to a WordPress Post/Page that you\'ve created. To protect Specific Posts/Pages, please see: <code>s2Member -› Restriction Options -› Specific Post/Page Access</code>. Once you\'ve configured your Specific Post/Page Restrictions, those Posts/Pages will be available in the menus below.</p>' . "\n";
|
437 |
echo '<p>Very simple. All you do is customize the form fields provided, for each Post/Page that you plan to sell. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. You can even Package Additional Posts/Pages together into one transaction.</p>' . "\n";
|
438 |
-
echo '<p><em
|
439 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_sp_buttons", get_defined_vars ());
|
440 |
|
441 |
echo '<table class="form-table">' . "\n";
|
@@ -524,8 +524,8 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_paypal_buttons"))
|
|
524 |
echo '<div class="ws-menu-page-group" title="PayPal Specific Post/Page Access Links">' . "\n";
|
525 |
|
526 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-sp-links-section">' . "\n";
|
527 |
-
echo '<h3>Specific Post/Page Link Generator (for Customer Service)</h3>' . "\n";
|
528 |
-
echo '<p>s2Member automatically generates Specific Post/Page Links for your Customers after checkout, and also sends them a link in a Confirmation Email. However, if you ever need to deal with a Customer Service issue that requires a new Specific Post/Page Link to be created manually, you can use this tool for that.</p>' . "\n";
|
529 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_sp_links", get_defined_vars ());
|
530 |
|
531 |
echo '<table class="form-table">' . "\n";
|
56 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-level' . $n . '-buttons-section">' . "\n";
|
57 |
echo '<h3>Button Code Generator For Level #' . $n . ' Access</h3>' . "\n";
|
58 |
echo '<p>Very simple. All you do is customize the form fields provided, for each Membership Level that you plan to offer. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. Member accounts will be activated instantly, in an automated fashion. When you, or a Member, cancels their Membership, or fails to make payments on time, s2Member will automatically terminate their Membership privileges. s2Member makes extensive use of the PayPal IPN service. s2Member receives updates from PayPal behind-the-scene.</p>' . "\n";
|
59 |
+
echo '<p><em><strong>Please note:</strong> buttons are NOT saved here. This is only a Button Generator. Once you\'ve generated your Button, copy/paste it into your Membership Options Page. If you lose your Button Code, you\'ll need to come back & re-generate a new one. If you\'re in Sandbox Test-Mode, and you\'re NOT using the Shortcode Format, please remember to come back and re-generate your Buttons before you go live.</em></p>' . "\n";
|
60 |
|
61 |
if (($ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_levelN_buttons = "ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_level" . $n . "_buttons"))
|
62 |
do_action ($ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_levelN_buttons, get_defined_vars ());
|
245 |
echo '<p>Independent Custom Capabilities are added to a Customer\'s account immediately after checkout, and the Customer will have the Custom Capabilities for as long as their Membership lasts, based on their primary Subscription with your site, and/or forever, if they have a Lifetime account with you. In other words, Independent Custom Capabilities will exist on the Customer\'s account forever, or until an EOT <em>(End Of Term)</em> occurs on their primary Subscription with you; in which case s2Member would demote or delete the Customer\'s account <em>(based on your EOT configuration)</em>, and all Custom Capabilities are removed as well.</p>' . "\n";
|
246 |
echo '<p>Very simple. All you do is customize the form fields provided, for each set of Custom Capabilities that you plan to sell. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. The Customer will be granted additional access to one or more Custom Capabilities that you specify; while the Customer\'s Membership Level Access and any existing paid Subscription they may already have with you, will remain completely unaffected.</p>' . "\n";
|
247 |
echo '<p><em><strong>*Important Note*</strong> Independent Custom Capability Buttons should ONLY be displayed to existing Users/Members, and they MUST be logged-in, BEFORE clicking this Button. Otherwise, post-processing of their transaction will fail to recognize the Customer\'s existing account within WordPress. Please display this Button only to Users/Members that are already logged into their account (perhaps in your Login Welcome Page for s2Member), or in another location where you can be absolutely sure that a User/Member is logged in. s2Member\'s Simple Conditionals could also be used to ensure a User/Member is logged in, by wrapping your Shortcode within a Conditional test. For further details, please see: <code>s2Member -› API Scripting -› Simple Conditionals</code>.</em></p>' . "\n";
|
248 |
+
echo '<p><em><strong>Please note:</strong> buttons are NOT saved here. This is only a Button Generator. Once you\'ve generated your Button, copy/paste it into your WordPress Editor. If you lose your Button Code, you\'ll need to come back & re-generate a new one. If you\'re in Sandbox Test-Mode, and you\'re NOT using the Shortcode Format, please remember to come back and re-generate your Buttons before you go live.</em></p>' . "\n";
|
249 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_ccap_buttons", get_defined_vars ());
|
250 |
|
251 |
echo '<table class="form-table">' . "\n";
|
392 |
|
393 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-reg-links-section">' . "\n";
|
394 |
echo '<h3>Registration Access Link Generator (for Customer Service)</h3>' . "\n";
|
395 |
+
echo '<p>s2Member automatically generates Registration Access Links for your Customers after checkout, and also sends them a link in a Confirmation Email. However, if you ever need to deal with a Customer Service issue that requires a new Registration Access Link to be created manually, you can use this tool for that. Alternatively, you can create their account yourself/manually by going to <code>Users -› Add New</code>. Either of these methods will work fine.</p>' . "\n";
|
396 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_reg_links", get_defined_vars ());
|
397 |
|
398 |
echo '<table class="form-table">' . "\n";
|
435 |
echo '<p>In other words, Customers will NOT need to login, just to receive access to the Specific Post/Page they purchased access to. s2Member will immediately redirect the Customer to the Specific Post/Page after checkout is completed successfully. An email is also sent to the Customer with a link (see: <code>s2Member -› PayPal Options -› Specific Post/Page Email</code>). Authentication is handled automatically through self-expiring links, good for 72 hours by default.</p>' . "\n";
|
436 |
echo '<p>Specific Post/Page Access, is sort of like selling a product. Only, instead of shipping anything to the Customer, you just give them access to a specific Post/Page on your site; one that you created in WordPress. A Specific Post/Page that is protected by s2Member, might contain a download link for your eBook, access to file & music downloads, access to additional support services, and the list goes on and on. The possibilities with this are endless; as long as your digital product can be delivered through access to a WordPress Post/Page that you\'ve created. To protect Specific Posts/Pages, please see: <code>s2Member -› Restriction Options -› Specific Post/Page Access</code>. Once you\'ve configured your Specific Post/Page Restrictions, those Posts/Pages will be available in the menus below.</p>' . "\n";
|
437 |
echo '<p>Very simple. All you do is customize the form fields provided, for each Post/Page that you plan to sell. Then press (Generate Button Code). These special PayPal Buttons are customized to work with s2Member seamlessly. You can even Package Additional Posts/Pages together into one transaction.</p>' . "\n";
|
438 |
+
echo '<p><em><strong>Please note:</strong> buttons are NOT saved here. This is only a Button Generator. Once you\'ve generated your Button, copy/paste it into your WordPress Editor. If you lose your Button Code, you\'ll need to come back & re-generate a new one. If you\'re in Sandbox Test-Mode, and you\'re NOT using the Shortcode Format, please remember to come back and re-generate your Buttons before you go live.</em></p>' . "\n";
|
439 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_sp_buttons", get_defined_vars ());
|
440 |
|
441 |
echo '<table class="form-table">' . "\n";
|
524 |
echo '<div class="ws-menu-page-group" title="PayPal Specific Post/Page Access Links">' . "\n";
|
525 |
|
526 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-sp-links-section">' . "\n";
|
527 |
+
echo '<h3>Specific Post/Page Access Link Generator (for Customer Service)</h3>' . "\n";
|
528 |
+
echo '<p>s2Member automatically generates Specific Post/Page Access Links for your Customers after checkout, and also sends them a link in a Confirmation Email. However, if you ever need to deal with a Customer Service issue that requires a new Specific Post/Page Access Link to be created manually, you can use this tool for that.</p>' . "\n";
|
529 |
do_action ("ws_plugin__s2member_during_paypal_buttons_page_during_left_sections_during_sp_links", get_defined_vars ());
|
530 |
|
531 |
echo '<table class="form-table">' . "\n";
|
includes/menu-pages/paypal-ops.inc.php
CHANGED
@@ -412,7 +412,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_paypal_ops"))
|
|
412 |
|
413 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-signup-confirmation-email-section">'."\n";
|
414 |
echo '<h3>Signup Confirmation Email (required, but the default works fine)</h3>'."\n";
|
415 |
-
echo '<p>This email is sent to new Customers after they return from a successful signup at PayPal. The <strong>primary</strong> purpose of this email
|
416 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_signup_confirmation_email", get_defined_vars());
|
417 |
|
418 |
echo '<table class="form-table">'."\n";
|
@@ -512,6 +512,241 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_paypal_ops"))
|
|
512 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_after_signup_confirmation_email", get_defined_vars());
|
513 |
}
|
514 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
515 |
if(apply_filters("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_display_sp_confirmation_email", true, get_defined_vars()))
|
516 |
{
|
517 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_before_sp_confirmation_email", get_defined_vars());
|
@@ -520,7 +755,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_paypal_ops"))
|
|
520 |
|
521 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-sp-confirmation-email-section">'."\n";
|
522 |
echo '<h3>Specific Post/Page Confirmation Email (required, but the default works fine)</h3>'."\n";
|
523 |
-
echo '<p>This email is sent to new Customers after they return from a successful purchase at PayPal, for Specific Post/Page Access. (see: <code>s2Member -› Restriction Options -› Specific Post/Page Access</code>). This is NOT used for Membership sales, only for Specific Post/Page Access. The <strong>primary</strong> purpose of this email
|
524 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_sp_confirmation_email", get_defined_vars());
|
525 |
|
526 |
echo '<table class="form-table">'."\n";
|
@@ -579,7 +814,7 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_paypal_ops"))
|
|
579 |
echo '<li><code>%%sp_access_url%%</code> = The full URL (generated by s2Member) where the Customer can gain access.</li>'."\n";
|
580 |
echo '<li><code>%%sp_access_exp%%</code> = Human readable expiration for <code>%%sp_access_url%%</code>. Ex: <em>(link expires in <code>%%sp_access_exp%%</code>)</em>.</li>'."\n";
|
581 |
echo '<li><code>%%txn_id%%</code> = The PayPal Transaction ID. PayPal assigns a unique identifier for every purchase.</li>'."\n";
|
582 |
-
echo '<li><code>%%amount%%</code> = The full Amount that you charged for Specific Post/Page Access
|
583 |
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
584 |
echo '<li><code>%%last_name%%</code> = The Last Name of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
585 |
echo '<li><code>%%full_name%%</code> = The Full Name (First & Last) of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
412 |
|
413 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-signup-confirmation-email-section">'."\n";
|
414 |
echo '<h3>Signup Confirmation Email (required, but the default works fine)</h3>'."\n";
|
415 |
+
echo '<p>This email is sent to new Customers after they return from a successful signup at PayPal. The <strong>primary</strong> purpose of this email is to provide the Customer with instructions, along with a link to register a Username for their Membership. You may also customize this further by providing details that are specifically geared to your site.</p>'."\n";
|
416 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_signup_confirmation_email", get_defined_vars());
|
417 |
|
418 |
echo '<table class="form-table">'."\n";
|
512 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_after_signup_confirmation_email", get_defined_vars());
|
513 |
}
|
514 |
|
515 |
+
if(apply_filters("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_display_modification_confirmation_email", c_ws_plugin__s2member_utils_conds::pro_is_installed(), get_defined_vars()))
|
516 |
+
{
|
517 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_before_modification_confirmation_email", get_defined_vars());
|
518 |
+
|
519 |
+
echo '<div class="ws-menu-page-group" title="Modification Confirmation Email '.((c_ws_plugin__s2member_utils_conds::pro_is_installed()) ? '(Standard/Pro Form)' : '(Standard)').'">'."\n";
|
520 |
+
|
521 |
+
echo '<div class="ws-menu-page-section ws-plugin--s2member-modification-confirmation-email-section">'."\n";
|
522 |
+
echo '<h3>Modification Confirmation Email (required, but the default works fine)</h3>'."\n";
|
523 |
+
echo '<p>This email is sent to existing Users after they complete an upgrade/downgrade (if and when you make this possible). For instance, if a Free Subscriber upgrades to a paid Membership Level, s2Member considers this a Modification (NOT a Signup; a Signup is associated only with someone completely new). The <strong>primary</strong> purpose of this email is to provide the Customer with a confirmation that their account was updated. You may also customize this further by providing details that are specifically geared to your site.</p>'."\n";
|
524 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_modification_confirmation_email", get_defined_vars());
|
525 |
+
|
526 |
+
echo '<table class="form-table">'."\n";
|
527 |
+
echo '<tbody>'."\n";
|
528 |
+
echo '<tr>'."\n";
|
529 |
+
|
530 |
+
echo '<th>'."\n";
|
531 |
+
echo '<label for="ws-plugin--s2member-modification-email-recipients">'."\n";
|
532 |
+
echo 'Modification Confirmation Recipients:'."\n";
|
533 |
+
echo '</label>'."\n";
|
534 |
+
echo '</th>'."\n";
|
535 |
+
|
536 |
+
echo '</tr>'."\n";
|
537 |
+
echo '<tr>'."\n";
|
538 |
+
|
539 |
+
echo '<td>'."\n";
|
540 |
+
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_modification_email_recipients" id="ws-plugin--s2member-modification-email-recipients" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_recipients"]).'" /><br />'."\n";
|
541 |
+
echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:<br />'."\n";
|
542 |
+
echo '<code>"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com></code>'."\n";
|
543 |
+
echo '</td>'."\n";
|
544 |
+
|
545 |
+
echo '</tr>'."\n";
|
546 |
+
echo '<tr>'."\n";
|
547 |
+
|
548 |
+
echo '<th>'."\n";
|
549 |
+
echo '<label for="ws-plugin--s2member-modification-email-subject">'."\n";
|
550 |
+
echo 'Modification Confirmation Email Subject:'."\n";
|
551 |
+
echo '</label>'."\n";
|
552 |
+
echo '</th>'."\n";
|
553 |
+
|
554 |
+
echo '</tr>'."\n";
|
555 |
+
echo '<tr>'."\n";
|
556 |
+
|
557 |
+
echo '<td>'."\n";
|
558 |
+
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_modification_email_subject" id="ws-plugin--s2member-modification-email-subject" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_subject"]).'" /><br />'."\n";
|
559 |
+
echo 'Subject Line used in the email sent to a Customer after a successful modification has occurred through PayPal.'."\n";
|
560 |
+
echo '</td>'."\n";
|
561 |
+
|
562 |
+
echo '</tr>'."\n";
|
563 |
+
echo '<tr>'."\n";
|
564 |
+
|
565 |
+
echo '<th>'."\n";
|
566 |
+
echo '<label for="ws-plugin--s2member-modification-email-message">'."\n";
|
567 |
+
echo 'Modification Confirmation Email Message:'."\n";
|
568 |
+
echo '</label>'."\n";
|
569 |
+
echo '</th>'."\n";
|
570 |
+
|
571 |
+
echo '</tr>'."\n";
|
572 |
+
echo '<tr>'."\n";
|
573 |
+
|
574 |
+
echo '<td>'."\n";
|
575 |
+
echo '<textarea name="ws_plugin__s2member_modification_email_message" id="ws-plugin--s2member-modification-email-message" rows="10">'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["modification_email_message"]).'</textarea><br />'."\n";
|
576 |
+
echo 'Message Body used in the email sent to a Customer after a successful modification has occurred through PayPal.<br /><br />'."\n";
|
577 |
+
echo '<strong>You can also use these special Replacement Codes if you need them:</strong>'."\n";
|
578 |
+
echo '<ul>'."\n";
|
579 |
+
echo '<li><code>%%subscr_id%%</code> = The PayPal Subscription ID, which remains constant throughout any & all future payments. [ <a href="#" onclick="alert(\'There is one exception. If you are selling Lifetime or Fixed-Term (non-recurring) access, using Buy Now functionality; the %%subscr_id%% is actually set to the Transaction ID for the purchase. PayPal does not provide a specific Subscription ID for Buy Now purchases. Since Lifetime & Fixed-Term Subscriptions are NOT recurring (i.e. there is only ONE payment), using the Transaction ID as the Subscription ID is a graceful way to deal with this minor conflict.\'); return false;">?</a> ]</li>'."\n";
|
580 |
+
echo '<li><code>%%initial%%</code> = The Initial Fee. If you offered a 100% Free Trial, this will be <code>0</code>. [ <a href="#" onclick="alert(\'This will always represent the amount of money the Customer spent when they completed checkout, no matter what. Even if that amount is 0. If a Customer upgrades/downgrades under the terms of a 100% Free Trial Period, this will be 0.\'); return false;">?</a> ]</li>'."\n";
|
581 |
+
echo '<li><code>%%regular%%</code> = The Regular Amount of the Subscription. If you offer something 100% free, this will be <code>0</code>. [ <a href="#" onclick="alert(\'This is how much the Subscription costs after an Initial Period expires. If you did NOT offer an Initial Period at a different price, %%initial%% and %%regular%% will be equal to the same thing.\'); return false;">?</a> ]</li>'."\n";
|
582 |
+
echo '<li><code>%%recurring%%</code> = This is the amount that will be charged on a recurring basis, or <code>0</code> if non-recurring. [ <a href="#" onclick="alert(\'If Recurring Payments have not been required, this will be equal to 0. That being said, %%regular%% & %%recurring%% are usually the same value. This variable can be used in two different ways. You can use it to determine what the Regular Recurring Rate is, or to determine whether the Subscription will recur or not. If it is going to recur, %%recurring%% will be > 0.\'); return false;">?</a> ]</li>'."\n";
|
583 |
+
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who purchased the Membership Subscription.</li>'."\n";
|
584 |
+
echo '<li><code>%%last_name%%</code> = The Last Name of the Customer who purchased the Membership Subscription.</li>'."\n";
|
585 |
+
echo '<li><code>%%full_name%%</code> = The Full Name (First & Last) of the Customer who purchased the Membership Subscription.</li>'."\n";
|
586 |
+
echo '<li><code>%%payer_email%%</code> = The Email Address of the Customer who purchased the Membership Subscription.</li>'."\n";
|
587 |
+
echo '<li><code>%%item_number%%</code> = The Item Number (colon separated <code><em>level:custom_capabilities:fixed term</em></code>) that the Subscription is for.</li>'."\n";
|
588 |
+
echo '<li><code>%%item_name%%</code> = The Item Name (as provided by the <code>desc=""</code> attribute in your Shortcode, which briefly describes the Item Number).</li>'."\n";
|
589 |
+
echo '<li><code>%%initial_term%%</code> = This is the term length of the Initial Period. This will be a numeric value, followed by a space, then a single letter. [ <a href="#" onclick="alert(\'Here are some examples:\\n\\n%%initial_term%% = 1 D (this means 1 Day)\\n%%initial_term%% = 1 W (this means 1 Week)\\n%%initial_term%% = 1 M (this means 1 Month)\\n%%initial_term%% = 1 Y (this means 1 Year)\\n\\nThe Initial Period never recurs, so this only lasts for the term length specified, then it is over.\'); return false;">?</a> ]</li>'."\n";
|
590 |
+
echo '<li><code>%%initial_cycle%%</code> = This is the <code>%%initial_term%%</code> from above, converted to a cycle representation of: <code><em>X days/weeks/months/years</em></code>.</li>'."\n";
|
591 |
+
echo '<li><code>%%regular_term%%</code> = This is the term length of the Regular Period. This will be a numeric value, followed by a space, then a single letter. [ <a href="#" onclick="alert(\'Here are some examples:\\n\\n%%regular_term%% = 1 D (this means 1 Day)\\n%%regular_term%% = 1 W (this means 1 Week)\\n%%regular_term%% = 1 M (this means 1 Month)\\n%%regular_term%% = 1 Y (this means 1 Year)\\n%%regular_term%% = 1 L (this means 1 Lifetime)\\n\\nThe Regular Term is usually recurring. So the Regular Term value represents the period (or duration) of each recurring period. If %%recurring%% = 0, then the Regular Term only applies once, because it is not recurring. So if it is not recurring, the value of %%regular_term%% simply represents how long their Membership privileges are going to last after the %%initial_term%% has expired, if there was an Initial Term. The value of this variable ( %%regular_term%% ) will never be empty, it will always be at least: 1 D, meaning 1 day. No exceptions.\'); return false;">?</a> ]</li>'."\n";
|
592 |
+
echo '<li><code>%%regular_cycle%%</code> = This is the <code>%%regular_term%%</code> from above, converted to a cycle representation of: <code><em>[every] X days/weeks/months/years — OR daily, weekly, bi-weekly, monthly, bi-monthly, quarterly, yearly, or lifetime</em></code>. This is a very useful Replacment Code. Its value is dynamic; depending on term length, recurring status, and period/term lengths configured.</li>'."\n";
|
593 |
+
echo '<li><code>%%recurring/regular_cycle%%</code> = Example (<code>14.95 / Monthly</code>), or ... (<code>0 / non-recurring</code>); depending on the value of <code>%%recurring%%</code>.</li>'."\n";
|
594 |
+
echo '<li><code>%%user_first_name%%</code> = The First Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
595 |
+
echo '<li><code>%%user_last_name%%</code> = The Last Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
596 |
+
echo '<li><code>%%user_full_name%%</code> = The Full Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
597 |
+
echo '<li><code>%%user_email%%</code> = The Email Address associated with their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
598 |
+
echo '<li><code>%%user_login%%</code> = The Username associated with their account. The Customer created this during registration.</li>' . "\n";
|
599 |
+
echo '<li><code>%%user_ip%%</code> = The Customer\'s original IP Address, during checkout/registration via <code>$_SERVER["REMOTE_ADDR"]</code>.</li>' . "\n";
|
600 |
+
echo '<li><code>%%user_id%%</code> = A unique WordPress User ID that references this account in the WordPress database.</li>' . "\n";
|
601 |
+
echo '</ul>'."\n";
|
602 |
+
|
603 |
+
echo '<strong>Custom Registration/Profile Fields are also supported in this email:</strong>' . "\n";
|
604 |
+
echo '<ul>' . "\n";
|
605 |
+
echo '<li><code>%%date_of_birth%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>date_of_birth</code>.</li>' . "\n";
|
606 |
+
echo '<li><code>%%street_address%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>street_address</code>.</li>' . "\n";
|
607 |
+
echo '<li><code>%%country%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>country</code>.</li>' . "\n";
|
608 |
+
echo '<li><em><code>%%etc, etc...%%</code> <strong>see:</strong> s2Member -› General Options -› Registration/Profile Fields</em>.</li>' . "\n";
|
609 |
+
echo '</ul>' . "\n";
|
610 |
+
|
611 |
+
echo '<strong>Custom Replacement Codes can also be inserted using these instructions:</strong>'."\n";
|
612 |
+
echo '<ul>'."\n";
|
613 |
+
echo '<li><code>%%cv0%%</code> = The domain of your site, which is passed through the `custom` attribute in your Shortcode.</li>'."\n";
|
614 |
+
echo '<li><code>%%cv1%%</code> = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: <code>custom="'.esc_html($_SERVER["HTTP_HOST"]).'|cv1|cv2|cv3"</code>. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it.</li>'."\n";
|
615 |
+
echo '</ul>'."\n";
|
616 |
+
echo '<strong>This example uses cv1 to record a special marketing campaign:</strong><br />'."\n";
|
617 |
+
echo '<em>(The campaign (i.e. christmas-promo) could be referenced using <code>%%cv1%%</code>)</em><br />'."\n";
|
618 |
+
echo '<code>custom="'.esc_html($_SERVER["HTTP_HOST"]).'|christmas-promo"</code>'."\n";
|
619 |
+
|
620 |
+
echo (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()) ?
|
621 |
+
'<div class="ws-menu-page-hr"></div>' . "\n".
|
622 |
+
'<p style="margin:0;"><strong>PHP Code:</strong> It is also possible to use PHP tags — optional (for developers). If you use PHP tags, please run a test email with <code><?php print_r(get_defined_vars()); ?></code>. This will give you a full list of all PHP variables available to you in this email. The <code>$paypal</code> variable is the most important one. It contains all of the <code>$_POST</code> variables received from PayPal\'s IPN service — or from an s2Member Pro Form integration (e.g. <code>$paypal["item_number"]</code>, <code>$paypal["item_name"]</code>, etc). Please note that all Replacement Codes will be parsed first, and then any PHP tags that you\'ve included. Also, please remember that emails are sent in plain text format.</p>'."\n"
|
623 |
+
: '';
|
624 |
+
echo '</td>'."\n";
|
625 |
+
|
626 |
+
echo '</tr>'."\n";
|
627 |
+
echo '</tbody>'."\n";
|
628 |
+
echo '</table>'."\n";
|
629 |
+
echo '</div>'."\n";
|
630 |
+
|
631 |
+
echo '</div>'."\n";
|
632 |
+
|
633 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_after_modification_confirmation_email", get_defined_vars());
|
634 |
+
}
|
635 |
+
|
636 |
+
if(apply_filters("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_display_ccap_confirmation_email", c_ws_plugin__s2member_utils_conds::pro_is_installed(), get_defined_vars()))
|
637 |
+
{
|
638 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_before_ccap_confirmation_email", get_defined_vars());
|
639 |
+
|
640 |
+
echo '<div class="ws-menu-page-group" title="Capability Confirmation Email '.((c_ws_plugin__s2member_utils_conds::pro_is_installed()) ? '(Standard/Pro Form)' : '(Standard)').'">'."\n";
|
641 |
+
|
642 |
+
echo '<div class="ws-menu-page-section ws-plugin--s2member-ccap-confirmation-email-section">'."\n";
|
643 |
+
echo '<h3>Capability Confirmation Email (required, but the default works fine)</h3>'."\n";
|
644 |
+
echo '<p>This email is sent to existing Users after they complete a Buy Now purchase for one or more Custom Capabilities (if and when you make this possible); see: <code>Dashboard -› s2Member -› PayPal Buttons/Forms -› Capability (Buy Now)</code>. The <strong>primary</strong> purpose of this email is to provide the Customer with a confirmation that their account was updated. You may also customize this further by providing details that are specifically geared to your site.</p>'."\n";
|
645 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_ccap_confirmation_email", get_defined_vars());
|
646 |
+
|
647 |
+
echo '<table class="form-table">'."\n";
|
648 |
+
echo '<tbody>'."\n";
|
649 |
+
echo '<tr>'."\n";
|
650 |
+
|
651 |
+
echo '<th>'."\n";
|
652 |
+
echo '<label for="ws-plugin--s2member-ccap-email-recipients">'."\n";
|
653 |
+
echo 'Capability Confirmation Recipients:'."\n";
|
654 |
+
echo '</label>'."\n";
|
655 |
+
echo '</th>'."\n";
|
656 |
+
|
657 |
+
echo '</tr>'."\n";
|
658 |
+
echo '<tr>'."\n";
|
659 |
+
|
660 |
+
echo '<td>'."\n";
|
661 |
+
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_ccap_email_recipients" id="ws-plugin--s2member-ccap-email-recipients" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_recipients"]).'" /><br />'."\n";
|
662 |
+
echo 'This is a semicolon ( ; ) delimited list of Recipients. Here is an example:<br />'."\n";
|
663 |
+
echo '<code>"%%full_name%%" <%%payer_email%%>; admin@example.com; "Webmaster" <webmaster@example.com></code>'."\n";
|
664 |
+
echo '</td>'."\n";
|
665 |
+
|
666 |
+
echo '</tr>'."\n";
|
667 |
+
echo '<tr>'."\n";
|
668 |
+
|
669 |
+
echo '<th>'."\n";
|
670 |
+
echo '<label for="ws-plugin--s2member-ccap-email-subject">'."\n";
|
671 |
+
echo 'Capability Confirmation Email Subject:'."\n";
|
672 |
+
echo '</label>'."\n";
|
673 |
+
echo '</th>'."\n";
|
674 |
+
|
675 |
+
echo '</tr>'."\n";
|
676 |
+
echo '<tr>'."\n";
|
677 |
+
|
678 |
+
echo '<td>'."\n";
|
679 |
+
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_ccap_email_subject" id="ws-plugin--s2member-ccap-email-subject" value="'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_subject"]).'" /><br />'."\n";
|
680 |
+
echo 'Subject Line used in the email sent to a Customer after a purchase is completed through PayPal.'."\n";
|
681 |
+
echo '</td>'."\n";
|
682 |
+
|
683 |
+
echo '</tr>'."\n";
|
684 |
+
echo '<tr>'."\n";
|
685 |
+
|
686 |
+
echo '<th>'."\n";
|
687 |
+
echo '<label for="ws-plugin--s2member-ccap-email-message">'."\n";
|
688 |
+
echo 'Capability Confirmation Email Message:'."\n";
|
689 |
+
echo '</label>'."\n";
|
690 |
+
echo '</th>'."\n";
|
691 |
+
|
692 |
+
echo '</tr>'."\n";
|
693 |
+
echo '<tr>'."\n";
|
694 |
+
|
695 |
+
echo '<td>'."\n";
|
696 |
+
echo '<textarea name="ws_plugin__s2member_ccap_email_message" id="ws-plugin--s2member-ccap-email-message" rows="10">'.format_to_edit($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["ccap_email_message"]).'</textarea><br />'."\n";
|
697 |
+
echo 'Message Body used in the email sent to a Customer after a purchase is completed through PayPal.<br /><br />'."\n";
|
698 |
+
echo '<strong>You can also use these special Replacement Codes if you need them:</strong>'."\n";
|
699 |
+
echo '<ul>'."\n";
|
700 |
+
echo '<li><code>%%txn_id%%</code> = The PayPal Transaction ID. PayPal assigns a unique identifier for every purchase.</li>'."\n";
|
701 |
+
echo '<li><code>%%amount%%</code> = The full Amount that you charged for Custom Capability access.</li>'."\n";
|
702 |
+
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who completed the purchase.</li>'."\n";
|
703 |
+
echo '<li><code>%%last_name%%</code> = The Last Name of the Customer who completed the purchase.</li>'."\n";
|
704 |
+
echo '<li><code>%%full_name%%</code> = The Full Name (First & Last) of the Customer who completed the purchase.</li>'."\n";
|
705 |
+
echo '<li><code>%%payer_email%%</code> = The Email Address of the Customer who completed the purchase.</li>'."\n";
|
706 |
+
echo '<li><code>%%item_number%%</code> = The Item Number (colon separated <code><em>*:custom_capabilities</em></code>); where <code>custom_capabilities</code> is a comma-delimited list of the Custom Capabilities they purchased.</li>'."\n";
|
707 |
+
echo '<li><code>%%item_name%%</code> = The Item Name (as provided by the <code>desc=""</code> attribute in your Shortcode, which briefly describes the Item Number).</li>'."\n";
|
708 |
+
echo '<li><code>%%user_first_name%%</code> = The First Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
709 |
+
echo '<li><code>%%user_last_name%%</code> = The Last Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
710 |
+
echo '<li><code>%%user_full_name%%</code> = The Full Name listed on their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
711 |
+
echo '<li><code>%%user_email%%</code> = The Email Address associated with their User account. This might be different than what is on file with PayPal.</li>' . "\n";
|
712 |
+
echo '<li><code>%%user_login%%</code> = The Username associated with their account. The Customer created this during registration.</li>' . "\n";
|
713 |
+
echo '<li><code>%%user_ip%%</code> = The Customer\'s original IP Address, during checkout/registration via <code>$_SERVER["REMOTE_ADDR"]</code>.</li>' . "\n";
|
714 |
+
echo '<li><code>%%user_id%%</code> = A unique WordPress User ID that references this account in the WordPress database.</li>' . "\n";
|
715 |
+
echo '</ul>'."\n";
|
716 |
+
|
717 |
+
echo '<strong>Custom Registration/Profile Fields are also supported in this email:</strong>' . "\n";
|
718 |
+
echo '<ul>' . "\n";
|
719 |
+
echo '<li><code>%%date_of_birth%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>date_of_birth</code>.</li>' . "\n";
|
720 |
+
echo '<li><code>%%street_address%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>street_address</code>.</li>' . "\n";
|
721 |
+
echo '<li><code>%%country%%</code> would be valid; if you have a Custom Registration/Profile Field with the ID <code>country</code>.</li>' . "\n";
|
722 |
+
echo '<li><em><code>%%etc, etc...%%</code> <strong>see:</strong> s2Member -› General Options -› Registration/Profile Fields</em>.</li>' . "\n";
|
723 |
+
echo '</ul>' . "\n";
|
724 |
+
|
725 |
+
echo '<strong>Custom Replacement Codes can also be inserted using these instructions:</strong>'."\n";
|
726 |
+
echo '<ul>'."\n";
|
727 |
+
echo '<li><code>%%cv0%%</code> = The domain of your site, which is passed through the `custom` attribute in your Shortcode.</li>'."\n";
|
728 |
+
echo '<li><code>%%cv1%%</code> = If you need to track additional custom variables, you can pipe delimit them into the `custom` attribute; inside your Shortcode, like this: <code>custom="'.esc_html($_SERVER["HTTP_HOST"]).'|cv1|cv2|cv3"</code>. You can have an unlimited number of custom variables. Obviously, this is for advanced webmasters; but the functionality has been made available for those who need it.</li>'."\n";
|
729 |
+
echo '</ul>'."\n";
|
730 |
+
echo '<strong>This example uses cv1 to record a special marketing campaign:</strong><br />'."\n";
|
731 |
+
echo '<em>(The campaign (i.e. christmas-promo) could be referenced using <code>%%cv1%%</code>)</em><br />'."\n";
|
732 |
+
echo '<code>custom="'.esc_html($_SERVER["HTTP_HOST"]).'|christmas-promo"</code>'."\n";
|
733 |
+
|
734 |
+
echo (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()) ?
|
735 |
+
'<div class="ws-menu-page-hr"></div>' . "\n".
|
736 |
+
'<p style="margin:0;"><strong>PHP Code:</strong> It is also possible to use PHP tags — optional (for developers). If you use PHP tags, please run a test email with <code><?php print_r(get_defined_vars()); ?></code>. This will give you a full list of all PHP variables available to you in this email. The <code>$paypal</code> variable is the most important one. It contains all of the <code>$_POST</code> variables received from PayPal\'s IPN service — or from an s2Member Pro Form integration (e.g. <code>$paypal["item_number"]</code>, <code>$paypal["item_name"]</code>, etc). Please note that all Replacement Codes will be parsed first, and then any PHP tags that you\'ve included. Also, please remember that emails are sent in plain text format.</p>'."\n"
|
737 |
+
: '';
|
738 |
+
echo '</td>'."\n";
|
739 |
+
|
740 |
+
echo '</tr>'."\n";
|
741 |
+
echo '</tbody>'."\n";
|
742 |
+
echo '</table>'."\n";
|
743 |
+
echo '</div>'."\n";
|
744 |
+
|
745 |
+
echo '</div>'."\n";
|
746 |
+
|
747 |
+
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_after_ccap_confirmation_email", get_defined_vars());
|
748 |
+
}
|
749 |
+
|
750 |
if(apply_filters("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_display_sp_confirmation_email", true, get_defined_vars()))
|
751 |
{
|
752 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_before_sp_confirmation_email", get_defined_vars());
|
755 |
|
756 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-sp-confirmation-email-section">'."\n";
|
757 |
echo '<h3>Specific Post/Page Confirmation Email (required, but the default works fine)</h3>'."\n";
|
758 |
+
echo '<p>This email is sent to new Customers after they return from a successful purchase at PayPal, for Specific Post/Page Access. (see: <code>s2Member -› Restriction Options -› Specific Post/Page Access</code>). This is NOT used for Membership sales, only for Specific Post/Page Access. The <strong>primary</strong> purpose of this email is to provide the Customer with instructions, along with a link to access the Specific Post/Page they\'ve purchased access to. If you\'ve created a Specific Post/Page Package (with multiple Posts/Pages bundled together into one transaction), this ONE link (<code>%%sp_access_url%%</code>) will automatically authenticate them for access to ALL of the Posts/Pages included in their transaction. You may customize this email further by providing details that are specifically geared to your site.</p>'."\n";
|
759 |
do_action("ws_plugin__s2member_during_paypal_ops_page_during_left_sections_during_sp_confirmation_email", get_defined_vars());
|
760 |
|
761 |
echo '<table class="form-table">'."\n";
|
814 |
echo '<li><code>%%sp_access_url%%</code> = The full URL (generated by s2Member) where the Customer can gain access.</li>'."\n";
|
815 |
echo '<li><code>%%sp_access_exp%%</code> = Human readable expiration for <code>%%sp_access_url%%</code>. Ex: <em>(link expires in <code>%%sp_access_exp%%</code>)</em>.</li>'."\n";
|
816 |
echo '<li><code>%%txn_id%%</code> = The PayPal Transaction ID. PayPal assigns a unique identifier for every purchase.</li>'."\n";
|
817 |
+
echo '<li><code>%%amount%%</code> = The full Amount that you charged for Specific Post/Page Access.</li>'."\n";
|
818 |
echo '<li><code>%%first_name%%</code> = The First Name of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
819 |
echo '<li><code>%%last_name%%</code> = The Last Name of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
820 |
echo '<li><code>%%full_name%%</code> = The Full Name (First & Last) of the Customer who purchased Specific Post/Page Access.</li>'."\n";
|
includes/menu-pages/start.inc.php
CHANGED
@@ -279,7 +279,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_start"))
|
|
279 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-pro">' . "\n";
|
280 |
echo '<h3>s2Member Pro — Professional Membership Management (a recommended upgrade)</h3>' . "\n";
|
281 |
echo '<p>Among other things, s2Member Pro comes pre-integrated with additional payment gateways. PayPal Pro integration is by far the most popular. It allows your site to accept Visa, MasterCard, Amex, Discover and even Maestro/Solo (from UK shoppers). Customers never leave your site! s2Member Pro Forms also support PayPal Express Checkout; for customers who actually prefer to pay with PayPal.</p>' . "\n";
|
282 |
-
echo '<p>With s2Member Pro you\'ll enjoy the financial benefits of on-site credit card processing via s2Member\'s PayPal Pro Forms, PayPal Pro Form Generators, and even Authorize.Net AIM/ARB integrations (also w/ Pro Forms). It is also easy to integrate with Google
|
283 |
echo '<p><strong>Learn more here:</strong> <a href="http://www.s2member.com/pro/" target="_blank" rel="external">s2Member Pro Features</a> (definitely worth the <strong>inexpensive</strong> upgrade).</p>'."\n";
|
284 |
echo '<p><strong>See also:</strong> This KB article: <a href="http://www.s2member.com/kb/pro-forms/" target="_blank" rel="external">s2Member Pro Forms</a>.</p>'."\n";
|
285 |
do_action ("ws_plugin__s2member_during_start_page_during_left_sections_during_pro", get_defined_vars ());
|
279 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-pro">' . "\n";
|
280 |
echo '<h3>s2Member Pro — Professional Membership Management (a recommended upgrade)</h3>' . "\n";
|
281 |
echo '<p>Among other things, s2Member Pro comes pre-integrated with additional payment gateways. PayPal Pro integration is by far the most popular. It allows your site to accept Visa, MasterCard, Amex, Discover and even Maestro/Solo (from UK shoppers). Customers never leave your site! s2Member Pro Forms also support PayPal Express Checkout; for customers who actually prefer to pay with PayPal.</p>' . "\n";
|
282 |
+
echo '<p>With s2Member Pro you\'ll enjoy the financial benefits of on-site credit card processing via s2Member\'s PayPal Pro Forms, PayPal Pro Form Generators, and even Authorize.Net AIM/ARB integrations (also w/ Pro Forms). It is also easy to integrate with Google Wallet, ClickBank and/or ccBill (which is primarily for adult payment processing). s2Member Pro comes with advanced User Import/Export tools, Pro Form Coupon Codes, Pro Login Widgets (plus Profile Summary) and other enhancements; such as support for <strong>UNLIMITED</strong> Membership Levels and custom Thank-You pages.</p>'."\n";
|
283 |
echo '<p><strong>Learn more here:</strong> <a href="http://www.s2member.com/pro/" target="_blank" rel="external">s2Member Pro Features</a> (definitely worth the <strong>inexpensive</strong> upgrade).</p>'."\n";
|
284 |
echo '<p><strong>See also:</strong> This KB article: <a href="http://www.s2member.com/kb/pro-forms/" target="_blank" rel="external">s2Member Pro Forms</a>.</p>'."\n";
|
285 |
do_action ("ws_plugin__s2member_during_start_page_during_left_sections_during_pro", get_defined_vars ());
|
includes/s2member.css
CHANGED
@@ -13,6 +13,7 @@
|
|
13 |
* @package s2Member
|
14 |
* @since 3.0
|
15 |
*/
|
|
|
16 |
/*
|
17 |
Structural styles for s2Member Security Badge.
|
18 |
|
@@ -20,10 +21,11 @@ These are basic CSS rules. You can override any of these
|
|
20 |
through the `/style.css` file for your WordPress theme.
|
21 |
*/
|
22 |
div.ws-plugin--s2member-s-badge
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
|
|
27 |
/*
|
28 |
Structural styles for Password strength indicators.
|
29 |
|
@@ -31,35 +33,34 @@ These are basic CSS rules. You can override any of these
|
|
31 |
through the `/style.css` file for your WordPress theme.
|
32 |
*/
|
33 |
div.ws-plugin--s2member-password-strength
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
margin-top: 3px;
|
42 |
-
}
|
43 |
div.ws-plugin--s2member-password-strength-short
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
div.ws-plugin--s2member-password-strength-bad
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
div.ws-plugin--s2member-password-strength-good
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
div.ws-plugin--s2member-password-strength-strong
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
div.ws-plugin--s2member-password-strength-mismatch
|
60 |
-
|
61 |
-
|
62 |
-
|
|
|
63 |
/*
|
64 |
Structural styles for Multisite Integration Forms.
|
65 |
|
@@ -68,76 +69,67 @@ through the `/style.css` file for your WordPress theme.
|
|
68 |
*/
|
69 |
div#content > div.mu_register,
|
70 |
div#content > div.mu_register h2
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
div#content > div.mu_register > form#setupform input[type="text"],
|
77 |
div#content > div.mu_register > form#setupform input[type="email"],
|
78 |
div#content > div.mu_register > form#setupform input[type="password"],
|
79 |
div#content > div.mu_register > form#setupform input[type="submit"],
|
80 |
div#content > div.mu_register > form#setupform textarea,
|
81 |
div#content > div.mu_register > form#setupform select
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
-webkit-box-sizing: border-box;
|
89 |
-
margin: 5px 0 5px 0;
|
90 |
-
font-size: 16px;
|
91 |
-
}
|
92 |
div#content > div.mu_register > form#setupform input[type="checkbox"],
|
93 |
div#content > div.mu_register > form#setupform input[type="radio"]
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
div#content > div.mu_register > form#setupform input[type="submit"]
|
99 |
-
{
|
100 |
-
width: /* This width required in IE < 8. */ 100% !ie<8;
|
101 |
-
}
|
102 |
div#content > div.mu_register > form#setupform p.submit
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
div#content > div.mu_register > form#setupform select
|
107 |
-
{
|
108 |
-
width: /* Required in IE < 8. */ 99.5% !ie<8;
|
109 |
-
}
|
110 |
div#content > div.mu_register > form#setupform label
|
111 |
-
|
112 |
-
|
113 |
-
|
114 |
-
|
|
|
|
|
115 |
div#content > div.mu_register > form#setupform label.ws-plugin--s2member-custom-reg-field-op-l
|
116 |
-
|
117 |
-
|
118 |
-
|
119 |
-
|
120 |
-
|
121 |
div#content > div.mu_register > form#setupform div.ws-plugin--s2member-custom-reg-field-divider-section
|
122 |
-
|
123 |
-
|
124 |
-
|
125 |
-
|
126 |
-
|
127 |
-
|
128 |
-
|
129 |
div#content > div.mu_register > form#setupform div.ws-plugin--s2member-custom-reg-field-divider-section-title
|
130 |
-
|
131 |
-
|
132 |
-
|
133 |
-
|
134 |
-
|
135 |
-
|
136 |
-
|
137 |
div#content > div.mu_register > div.mu_alert
|
138 |
-
|
139 |
-
|
140 |
-
|
|
|
141 |
/*
|
142 |
Structural styles for Return Pages.
|
143 |
|
@@ -145,103 +137,92 @@ These are basic CSS rules. You can override any of these
|
|
145 |
through the `/style.css` file for your WordPress theme.
|
146 |
*/
|
147 |
body.s2member-return-body
|
148 |
-
|
149 |
-
|
150 |
-
|
151 |
-
|
152 |
-
|
153 |
body.s2member-return-body a
|
154 |
-
|
155 |
-
|
156 |
-
|
157 |
-
|
158 |
-
|
159 |
body.s2member-return-body a:hover
|
160 |
-
|
161 |
-
|
162 |
-
|
163 |
body.s2member-return-body *
|
164 |
-
|
165 |
-
|
166 |
-
|
167 |
body.s2member-return-body pre,
|
168 |
body.s2member-return-body pre *,
|
169 |
body.s2member-return-body code,
|
170 |
body.s2member-return-body code *
|
171 |
-
|
172 |
-
|
173 |
-
|
174 |
div.s2member-return-section
|
175 |
-
|
176 |
-
|
177 |
-
|
178 |
div.s2member-return-header-section
|
179 |
-
|
180 |
-
|
181 |
-
|
182 |
-
|
183 |
-
|
184 |
div.s2member-return-response-section
|
185 |
-
|
186 |
-
|
187 |
-
|
188 |
-
|
189 |
-
|
190 |
-
|
191 |
-
|
192 |
-
|
193 |
-
-moz-box-shadow: 1px 1px 1px #999999, -1px -1px 1px #999999;
|
194 |
-
-webkit-box-shadow: 1px 1px 1px #999999, -1px -1px 1px #999999;
|
195 |
-
box-shadow: 1px 1px 0 #999999, -1px -1px 1px #999999;
|
196 |
-
}
|
197 |
div.s2member-return-response-section div.s2member-return-continue
|
198 |
-
|
199 |
-
|
200 |
-
|
201 |
div.s2member-return-response-section div.s2member-return-continue a
|
202 |
-
|
203 |
-
|
204 |
-
|
205 |
-
|
206 |
-
|
207 |
-
|
208 |
-
|
209 |
-
|
210 |
-
|
211 |
-
|
212 |
-
|
213 |
-
-moz-box-shadow: 1px 1px 3px #CCCCCC, -1px -1px 3px #CCCCCC;
|
214 |
-
-webkit-box-shadow: 1px 1px 3px #CCCCCC, -1px -1px 3px #CCCCCC;
|
215 |
-
box-shadow: 1px 1px 3px #CCCCCC, -1px -1px 3px #CCCCCC;
|
216 |
-
}
|
217 |
div.s2member-return-response-section div.s2member-return-continue a:hover,
|
218 |
div.s2member-return-response-section div.s2member-return-continue a:active,
|
219 |
div.s2member-return-response-section div.s2member-return-continue a:focus
|
220 |
-
|
221 |
-
|
222 |
-
|
223 |
-
|
224 |
-
|
225 |
div.s2member-return-support-section
|
226 |
-
|
227 |
-
|
228 |
-
|
229 |
-
|
230 |
-
|
231 |
div.s2member-return-support-section div.cc-reminder
|
232 |
-
|
233 |
-
|
234 |
-
|
235 |
-
|
236 |
-
|
237 |
-
|
238 |
-
|
239 |
-
|
240 |
-
|
241 |
-
|
242 |
-
-webkit-box-shadow: 1px 1px 1px #999999, -1px -1px 1px #999999;
|
243 |
-
box-shadow: 1px 1px 0 #999999, -1px -1px 1px #999999;
|
244 |
-
}
|
245 |
/*
|
246 |
Structural styles for Shortcode Profile Editing panel.
|
247 |
|
@@ -249,80 +230,72 @@ These are basic CSS rules. You can override any of these
|
|
249 |
through the `/style.css` file for your WordPress theme.
|
250 |
*/
|
251 |
div#ws-plugin--s2member-profile-saved
|
252 |
-
|
253 |
-
|
254 |
-
|
255 |
-
|
256 |
-
|
257 |
form#ws-plugin--s2member-profile table
|
258 |
-
|
259 |
-
|
260 |
-
|
261 |
-
|
262 |
-
|
263 |
form#ws-plugin--s2member-profile table td
|
264 |
-
|
265 |
-
|
266 |
-
|
267 |
-
|
268 |
form#ws-plugin--s2member-profile input[type="text"],
|
|
|
269 |
form#ws-plugin--s2member-profile input[type="password"],
|
270 |
form#ws-plugin--s2member-profile input[type="submit"],
|
271 |
form#ws-plugin--s2member-profile textarea,
|
272 |
form#ws-plugin--s2member-profile select
|
273 |
-
|
274 |
-
|
275 |
-
|
276 |
-
|
277 |
-
|
278 |
-
-ms-box-sizing: border-box;
|
279 |
-
-moz-box-sizing: border-box;
|
280 |
-
-webkit-box-sizing: border-box;
|
281 |
-
}
|
282 |
form#ws-plugin--s2member-profile input[type="checkbox"],
|
283 |
form#ws-plugin--s2member-profile input[type="radio"]
|
284 |
-
|
285 |
-
|
286 |
-
|
287 |
-
|
288 |
-
form#ws-plugin--s2member-profile input[type="submit"]
|
289 |
-
{
|
290 |
-
width: /* This width required in IE < 8. */ 100% !ie<8;
|
291 |
-
}
|
292 |
-
form#ws-plugin--s2member-profile select
|
293 |
-
{
|
294 |
-
width: /* Required in IE < 8. */ 99.5% !ie<8;
|
295 |
-
}
|
296 |
form#ws-plugin--s2member-profile label
|
297 |
-
|
298 |
-
|
299 |
-
|
|
|
|
|
300 |
form#ws-plugin--s2member-profile label.ws-plugin--s2member-custom-reg-field-op-l
|
301 |
-
|
302 |
-
|
303 |
-
|
304 |
-
|
305 |
-
|
306 |
form#ws-plugin--s2member-profile input#ws-plugin--s2member-profile-password2
|
307 |
-
|
308 |
-
|
309 |
-
|
310 |
form#ws-plugin--s2member-profile div.ws-plugin--s2member-profile-field-divider-section
|
311 |
-
|
312 |
-
|
313 |
-
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
form#ws-plugin--s2member-profile div.ws-plugin--s2member-profile-field-divider-section-title
|
319 |
-
|
320 |
-
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
|
|
326 |
/*
|
327 |
Structural styles for BuddyPress Profile Field items.
|
328 |
|
@@ -330,19 +303,20 @@ These are basic CSS rules. You can override any of these
|
|
330 |
through the `/style.css` file for your WordPress theme.
|
331 |
*/
|
332 |
body.profile.public div.ws-plugin--s2member-profile-field-4bp-divider-section
|
333 |
-
|
334 |
-
|
335 |
-
|
336 |
-
|
337 |
-
|
338 |
-
|
339 |
-
|
340 |
body.profile.public div.ws-plugin--s2member-profile-field-4bp-divider-section-title
|
341 |
-
|
342 |
-
|
343 |
-
|
344 |
-
|
345 |
-
|
|
|
346 |
/*
|
347 |
Structural styles for BuddyPress Registration Fields.
|
348 |
|
@@ -350,60 +324,52 @@ These are basic CSS rules. You can override any of these
|
|
350 |
through the `/style.css` file for your WordPress theme.
|
351 |
*/
|
352 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section
|
353 |
-
|
354 |
-
|
355 |
-
|
356 |
-
|
357 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-container
|
358 |
-
|
359 |
-
|
360 |
-
|
361 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="text"],
|
|
|
362 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="password"],
|
363 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section textarea,
|
364 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section select
|
365 |
-
|
366 |
-
|
367 |
-
|
368 |
-
|
369 |
-
-ms-box-sizing: border-box;
|
370 |
-
-moz-box-sizing: border-box;
|
371 |
-
-webkit-box-sizing: border-box;
|
372 |
-
}
|
373 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="checkbox"],
|
374 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="radio"]
|
375 |
-
|
376 |
-
|
377 |
-
|
378 |
-
|
379 |
-
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section select
|
380 |
-
{
|
381 |
-
width: /* Required in IE < 8. */ 99.5% !ie<8;
|
382 |
-
}
|
383 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section label.ws-plugin--s2member-custom-reg-field-op-l
|
384 |
-
|
385 |
-
|
386 |
-
|
387 |
-
|
388 |
-
|
389 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section div.ws-plugin--s2member-custom-reg-field-4bp-divider-section
|
390 |
-
|
391 |
-
|
392 |
-
|
393 |
-
|
394 |
-
|
395 |
-
|
396 |
-
|
397 |
-
}
|
398 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section div.ws-plugin--s2member-custom-reg-field-4bp-divider-section-title
|
399 |
-
|
400 |
-
|
401 |
-
|
402 |
-
|
403 |
-
|
404 |
-
|
405 |
-
|
406 |
-
|
407 |
/*
|
408 |
Structural styles for BuddyPress Profile Field integrations.
|
409 |
|
@@ -416,45 +382,35 @@ body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field
|
|
416 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="password"],
|
417 |
body.logged-in.profile.profile-edit form textarea.ws-plugin--s2member-profile-field-4bp,
|
418 |
body.logged-in.profile.profile-edit form select.ws-plugin--s2member-profile-field-4bp
|
419 |
-
|
420 |
-
|
421 |
-
|
422 |
-
|
423 |
-
-ms-box-sizing: border-box;
|
424 |
-
-moz-box-sizing: border-box;
|
425 |
-
-webkit-box-sizing: border-box;
|
426 |
-
}
|
427 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="checkbox"],
|
428 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="radio"]
|
429 |
-
|
430 |
-
|
431 |
-
|
432 |
-
|
433 |
-
body.logged-in.profile.profile-edit form select.ws-plugin--s2member-profile-field-4bp
|
434 |
-
{
|
435 |
-
width: /* Required in IE < 8. */ 99.5% !ie<8;
|
436 |
-
}
|
437 |
body.logged-in.profile.profile-edit form label.ws-plugin--s2member-custom-reg-field-op-l
|
438 |
-
|
439 |
-
|
440 |
-
|
441 |
-
|
442 |
-
|
443 |
body.logged-in.profile.profile-edit form div.ws-plugin--s2member-profile-field-4bp-divider-section
|
444 |
-
|
445 |
-
|
446 |
-
|
447 |
-
|
448 |
-
|
449 |
-
|
450 |
-
|
451 |
-
}
|
452 |
body.logged-in.profile.profile-edit form div.ws-plugin--s2member-profile-field-4bp-divider-section-title
|
453 |
-
|
454 |
-
|
455 |
-
|
456 |
-
|
457 |
-
|
458 |
-
|
459 |
-
|
460 |
-
}
|
13 |
* @package s2Member
|
14 |
* @since 3.0
|
15 |
*/
|
16 |
+
|
17 |
/*
|
18 |
Structural styles for s2Member Security Badge.
|
19 |
|
21 |
through the `/style.css` file for your WordPress theme.
|
22 |
*/
|
23 |
div.ws-plugin--s2member-s-badge
|
24 |
+
{
|
25 |
+
text-align : center;
|
26 |
+
margin : 0 auto 0 auto;
|
27 |
+
}
|
28 |
+
|
29 |
/*
|
30 |
Structural styles for Password strength indicators.
|
31 |
|
33 |
through the `/style.css` file for your WordPress theme.
|
34 |
*/
|
35 |
div.ws-plugin--s2member-password-strength
|
36 |
+
{
|
37 |
+
padding : 3px;
|
38 |
+
color : #000000;
|
39 |
+
background-color : #EEEEEE;
|
40 |
+
border-radius : 3px;
|
41 |
+
margin-top : 3px;
|
42 |
+
}
|
|
|
|
|
43 |
div.ws-plugin--s2member-password-strength-short
|
44 |
+
{
|
45 |
+
background-color : #FFA0A0;
|
46 |
+
}
|
47 |
div.ws-plugin--s2member-password-strength-bad
|
48 |
+
{
|
49 |
+
background-color : #FFB78C;
|
50 |
+
}
|
51 |
div.ws-plugin--s2member-password-strength-good
|
52 |
+
{
|
53 |
+
background-color : #FFEC8B;
|
54 |
+
}
|
55 |
div.ws-plugin--s2member-password-strength-strong
|
56 |
+
{
|
57 |
+
background-color : #C3FF88;
|
58 |
+
}
|
59 |
div.ws-plugin--s2member-password-strength-mismatch
|
60 |
+
{
|
61 |
+
background-color : #D6C1AB;
|
62 |
+
}
|
63 |
+
|
64 |
/*
|
65 |
Structural styles for Multisite Integration Forms.
|
66 |
|
69 |
*/
|
70 |
div#content > div.mu_register,
|
71 |
div#content > div.mu_register h2
|
72 |
+
{
|
73 |
+
margin : 0;
|
74 |
+
padding : 0;
|
75 |
+
width : 100%;
|
76 |
+
}
|
77 |
div#content > div.mu_register > form#setupform input[type="text"],
|
78 |
div#content > div.mu_register > form#setupform input[type="email"],
|
79 |
div#content > div.mu_register > form#setupform input[type="password"],
|
80 |
div#content > div.mu_register > form#setupform input[type="submit"],
|
81 |
div#content > div.mu_register > form#setupform textarea,
|
82 |
div#content > div.mu_register > form#setupform select
|
83 |
+
{
|
84 |
+
width : 100%;
|
85 |
+
box-sizing : border-box;
|
86 |
+
margin : 5px 0 5px 0;
|
87 |
+
font-size : 16px;
|
88 |
+
}
|
|
|
|
|
|
|
|
|
89 |
div#content > div.mu_register > form#setupform input[type="checkbox"],
|
90 |
div#content > div.mu_register > form#setupform input[type="radio"]
|
91 |
+
{
|
92 |
+
margin : 0 3px 0 0;
|
93 |
+
vertical-align : middle;
|
94 |
+
}
|
|
|
|
|
|
|
|
|
95 |
div#content > div.mu_register > form#setupform p.submit
|
96 |
+
{
|
97 |
+
margin-bottom : 0;
|
98 |
+
}
|
|
|
|
|
|
|
|
|
99 |
div#content > div.mu_register > form#setupform label
|
100 |
+
{
|
101 |
+
display : inline;
|
102 |
+
cursor : pointer;
|
103 |
+
margin : 15px 0 0 0;
|
104 |
+
font-weight : normal;
|
105 |
+
}
|
106 |
div#content > div.mu_register > form#setupform label.ws-plugin--s2member-custom-reg-field-op-l
|
107 |
+
{
|
108 |
+
opacity : 0.7;
|
109 |
+
font-size : 90%;
|
110 |
+
vertical-align : middle;
|
111 |
+
}
|
112 |
div#content > div.mu_register > form#setupform div.ws-plugin--s2member-custom-reg-field-divider-section
|
113 |
+
{
|
114 |
+
height : 1px;
|
115 |
+
border : 0 solid;
|
116 |
+
line-height : 1px;
|
117 |
+
margin : 15px 0 15px 0;
|
118 |
+
border-width : 0 0 1px 0;
|
119 |
+
}
|
120 |
div#content > div.mu_register > form#setupform div.ws-plugin--s2member-custom-reg-field-divider-section-title
|
121 |
+
{
|
122 |
+
border : 0 solid;
|
123 |
+
font-size : 110%;
|
124 |
+
margin : 15px 0 15px 0;
|
125 |
+
border-width : 0 0 1px 0;
|
126 |
+
padding : 0 0 12px 0;
|
127 |
+
}
|
128 |
div#content > div.mu_register > div.mu_alert
|
129 |
+
{
|
130 |
+
display : none;
|
131 |
+
}
|
132 |
+
|
133 |
/*
|
134 |
Structural styles for Return Pages.
|
135 |
|
137 |
through the `/style.css` file for your WordPress theme.
|
138 |
*/
|
139 |
body.s2member-return-body
|
140 |
+
{
|
141 |
+
color : #000000;
|
142 |
+
font-size : 14px;
|
143 |
+
background : #CCCCCC;
|
144 |
+
}
|
145 |
body.s2member-return-body a
|
146 |
+
{
|
147 |
+
color : #333333;
|
148 |
+
text-decoration : none;
|
149 |
+
border-bottom : 1px dotted;
|
150 |
+
}
|
151 |
body.s2member-return-body a:hover
|
152 |
+
{
|
153 |
+
color : #000000;
|
154 |
+
}
|
155 |
body.s2member-return-body *
|
156 |
+
{
|
157 |
+
font-family : 'Trebuchet MS', 'Arial', 'Helvetica', sans-serif;
|
158 |
+
}
|
159 |
body.s2member-return-body pre,
|
160 |
body.s2member-return-body pre *,
|
161 |
body.s2member-return-body code,
|
162 |
body.s2member-return-body code *
|
163 |
+
{
|
164 |
+
font-family : 'Monaco', 'Menlo', 'Consolas', 'Courier New', monospace;
|
165 |
+
}
|
166 |
div.s2member-return-section
|
167 |
+
{
|
168 |
+
margin : 20px auto 20px auto;
|
169 |
+
}
|
170 |
div.s2member-return-header-section
|
171 |
+
{
|
172 |
+
padding : 0;
|
173 |
+
width : 800px;
|
174 |
+
font-size : 120%;
|
175 |
+
}
|
176 |
div.s2member-return-response-section
|
177 |
+
{
|
178 |
+
width : 768px;
|
179 |
+
padding : 15px;
|
180 |
+
background : #FFFFFF;
|
181 |
+
border : 1px solid #666666;
|
182 |
+
border-radius : 3px;
|
183 |
+
box-shadow : 1px 1px 0 #999999, -1px -1px 1px #999999;
|
184 |
+
}
|
|
|
|
|
|
|
|
|
185 |
div.s2member-return-response-section div.s2member-return-continue
|
186 |
+
{
|
187 |
+
margin : 20px auto 0 auto;
|
188 |
+
}
|
189 |
div.s2member-return-response-section div.s2member-return-continue a
|
190 |
+
{
|
191 |
+
border : 0;
|
192 |
+
padding : 8px;
|
193 |
+
display : block;
|
194 |
+
font-size : 120%;
|
195 |
+
text-align : center;
|
196 |
+
background : #EEEEEE;
|
197 |
+
border : 1px solid #999999;
|
198 |
+
border-radius : 3px;
|
199 |
+
box-shadow : 1px 1px 3px #CCCCCC, -1px -1px 3px #CCCCCC;
|
200 |
+
}
|
|
|
|
|
|
|
|
|
201 |
div.s2member-return-response-section div.s2member-return-continue a:hover,
|
202 |
div.s2member-return-response-section div.s2member-return-continue a:active,
|
203 |
div.s2member-return-response-section div.s2member-return-continue a:focus
|
204 |
+
{
|
205 |
+
color : #FFFFFF;
|
206 |
+
background : #151515;
|
207 |
+
border : 1px solid #FFFFFF;
|
208 |
+
}
|
209 |
div.s2member-return-support-section
|
210 |
+
{
|
211 |
+
padding : 0;
|
212 |
+
width : 800px;
|
213 |
+
text-align : center;
|
214 |
+
}
|
215 |
div.s2member-return-support-section div.cc-reminder
|
216 |
+
{
|
217 |
+
padding : 15px;
|
218 |
+
text-align : center;
|
219 |
+
background : #FFFFFF;
|
220 |
+
margin : 20px auto 0 auto;
|
221 |
+
border : 1px solid #666666;
|
222 |
+
border-radius : 3px;
|
223 |
+
box-shadow : 1px 1px 0 #999999, -1px -1px 1px #999999;
|
224 |
+
}
|
225 |
+
|
|
|
|
|
|
|
226 |
/*
|
227 |
Structural styles for Shortcode Profile Editing panel.
|
228 |
|
230 |
through the `/style.css` file for your WordPress theme.
|
231 |
*/
|
232 |
div#ws-plugin--s2member-profile-saved
|
233 |
+
{
|
234 |
+
margin-bottom : 15px;
|
235 |
+
font-weight : bold;
|
236 |
+
font-size : 110%;
|
237 |
+
}
|
238 |
form#ws-plugin--s2member-profile table
|
239 |
+
{
|
240 |
+
border : 0;
|
241 |
+
margin : 0;
|
242 |
+
width : 100%;
|
243 |
+
}
|
244 |
form#ws-plugin--s2member-profile table td
|
245 |
+
{
|
246 |
+
padding : 7px 0 7px 0;
|
247 |
+
border : 0;
|
248 |
+
}
|
249 |
form#ws-plugin--s2member-profile input[type="text"],
|
250 |
+
form#ws-plugin--s2member-profile input[type="email"],
|
251 |
form#ws-plugin--s2member-profile input[type="password"],
|
252 |
form#ws-plugin--s2member-profile input[type="submit"],
|
253 |
form#ws-plugin--s2member-profile textarea,
|
254 |
form#ws-plugin--s2member-profile select
|
255 |
+
{
|
256 |
+
margin : 0;
|
257 |
+
width : 100%;
|
258 |
+
box-sizing : border-box;
|
259 |
+
}
|
|
|
|
|
|
|
|
|
260 |
form#ws-plugin--s2member-profile input[type="checkbox"],
|
261 |
form#ws-plugin--s2member-profile input[type="radio"]
|
262 |
+
{
|
263 |
+
margin : 0 3px 0 0;
|
264 |
+
vertical-align : middle;
|
265 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
266 |
form#ws-plugin--s2member-profile label
|
267 |
+
{
|
268 |
+
display : inline;
|
269 |
+
cursor : pointer;
|
270 |
+
font-weight : normal;
|
271 |
+
}
|
272 |
form#ws-plugin--s2member-profile label.ws-plugin--s2member-custom-reg-field-op-l
|
273 |
+
{
|
274 |
+
opacity : 0.7;
|
275 |
+
font-size : 90%;
|
276 |
+
vertical-align : middle;
|
277 |
+
}
|
278 |
form#ws-plugin--s2member-profile input#ws-plugin--s2member-profile-password2
|
279 |
+
{
|
280 |
+
margin-top : 5px;
|
281 |
+
}
|
282 |
form#ws-plugin--s2member-profile div.ws-plugin--s2member-profile-field-divider-section
|
283 |
+
{
|
284 |
+
margin : 0;
|
285 |
+
height : 1px;
|
286 |
+
border : 0 solid;
|
287 |
+
line-height : 1px;
|
288 |
+
border-width : 0 0 1px 0;
|
289 |
+
}
|
290 |
form#ws-plugin--s2member-profile div.ws-plugin--s2member-profile-field-divider-section-title
|
291 |
+
{
|
292 |
+
margin : 0;
|
293 |
+
border : 0 solid;
|
294 |
+
font-size : 110%;
|
295 |
+
border-width : 0 0 1px 0;
|
296 |
+
padding : 0 0 7px 0;
|
297 |
+
}
|
298 |
+
|
299 |
/*
|
300 |
Structural styles for BuddyPress Profile Field items.
|
301 |
|
303 |
through the `/style.css` file for your WordPress theme.
|
304 |
*/
|
305 |
body.profile.public div.ws-plugin--s2member-profile-field-4bp-divider-section
|
306 |
+
{
|
307 |
+
margin : 0;
|
308 |
+
height : 1px;
|
309 |
+
border : 0 solid;
|
310 |
+
line-height : 1px;
|
311 |
+
border-width : 0 0 1px 0;
|
312 |
+
}
|
313 |
body.profile.public div.ws-plugin--s2member-profile-field-4bp-divider-section-title
|
314 |
+
{
|
315 |
+
margin : 0;
|
316 |
+
padding : 0;
|
317 |
+
font-size : 120%;
|
318 |
+
}
|
319 |
+
|
320 |
/*
|
321 |
Structural styles for BuddyPress Registration Fields.
|
322 |
|
324 |
through the `/style.css` file for your WordPress theme.
|
325 |
*/
|
326 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section
|
327 |
+
{
|
328 |
+
width : 48%;
|
329 |
+
float : right;
|
330 |
+
}
|
331 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-container
|
332 |
+
{
|
333 |
+
margin-right : 7.5%;
|
334 |
+
}
|
335 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="text"],
|
336 |
+
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="email"],
|
337 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="password"],
|
338 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section textarea,
|
339 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section select
|
340 |
+
{
|
341 |
+
width : 100%;
|
342 |
+
box-sizing : border-box;
|
343 |
+
}
|
|
|
|
|
|
|
|
|
344 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="checkbox"],
|
345 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section input[type="radio"]
|
346 |
+
{
|
347 |
+
margin : 0 3px 0 0;
|
348 |
+
vertical-align : middle;
|
349 |
+
}
|
|
|
|
|
|
|
|
|
350 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section label.ws-plugin--s2member-custom-reg-field-op-l
|
351 |
+
{
|
352 |
+
opacity : 0.7;
|
353 |
+
font-size : 90%;
|
354 |
+
vertical-align : middle;
|
355 |
+
}
|
356 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section div.ws-plugin--s2member-custom-reg-field-4bp-divider-section
|
357 |
+
{
|
358 |
+
height : 1px;
|
359 |
+
border : 0 solid;
|
360 |
+
line-height : 1px;
|
361 |
+
margin : 10px 0 10px 0;
|
362 |
+
border-width : 0 0 1px 0;
|
363 |
+
}
|
|
|
364 |
body.registration form div#ws-plugin--s2member-custom-reg-fields-4bp-section div.ws-plugin--s2member-custom-reg-field-4bp-divider-section-title
|
365 |
+
{
|
366 |
+
border : 0 solid;
|
367 |
+
font-size : 120%;
|
368 |
+
margin : 10px 0 10px 0;
|
369 |
+
border-width : 0 0 1px 0;
|
370 |
+
padding : 0 0 7px 0;
|
371 |
+
}
|
372 |
+
|
373 |
/*
|
374 |
Structural styles for BuddyPress Profile Field integrations.
|
375 |
|
382 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="password"],
|
383 |
body.logged-in.profile.profile-edit form textarea.ws-plugin--s2member-profile-field-4bp,
|
384 |
body.logged-in.profile.profile-edit form select.ws-plugin--s2member-profile-field-4bp
|
385 |
+
{
|
386 |
+
width : 100%;
|
387 |
+
box-sizing : border-box;
|
388 |
+
}
|
|
|
|
|
|
|
|
|
389 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="checkbox"],
|
390 |
body.logged-in.profile.profile-edit form input.ws-plugin--s2member-profile-field-4bp[type="radio"]
|
391 |
+
{
|
392 |
+
margin : 0 3px 0 0;
|
393 |
+
vertical-align : middle;
|
394 |
+
}
|
|
|
|
|
|
|
|
|
395 |
body.logged-in.profile.profile-edit form label.ws-plugin--s2member-custom-reg-field-op-l
|
396 |
+
{
|
397 |
+
opacity : 0.7;
|
398 |
+
font-size : 90%;
|
399 |
+
vertical-align : middle;
|
400 |
+
}
|
401 |
body.logged-in.profile.profile-edit form div.ws-plugin--s2member-profile-field-4bp-divider-section
|
402 |
+
{
|
403 |
+
height : 1px;
|
404 |
+
border : 0 solid;
|
405 |
+
line-height : 1px;
|
406 |
+
margin : 10px 0 10px 0;
|
407 |
+
border-width : 0 0 1px 0;
|
408 |
+
}
|
|
|
409 |
body.logged-in.profile.profile-edit form div.ws-plugin--s2member-profile-field-4bp-divider-section-title
|
410 |
+
{
|
411 |
+
border : 0 solid;
|
412 |
+
font-size : 120%;
|
413 |
+
margin : 10px 0 10px 0;
|
414 |
+
border-width : 0 0 1px 0;
|
415 |
+
padding : 0 0 7px 0;
|
416 |
+
}
|
|
includes/syscon.inc.php
CHANGED
@@ -129,6 +129,8 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
129 |
$default_options["gateway_debug_logs"] = "0";
|
130 |
$default_options["gateway_debug_logs_extensive"] = "0";
|
131 |
|
|
|
|
|
132 |
$default_options["sec_encryption_key"] = "";
|
133 |
$default_options["sec_encryption_key_history"] = array();
|
134 |
$default_options["s_badge_status_enabled"] = "0";
|
@@ -230,9 +232,17 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
230 |
$default_options["signup_email_subject"] = _x("Congratulations! (your membership has been approved)", "s2member-front", "s2member");
|
231 |
$default_options["signup_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%! Your membership has been approved.\n\nIf you haven't already done so, the next step is to Register a Username.\n\nComplete your registration here:\n%%%%registration_url%%%%\n\nIf you have any trouble, please feel free to contact us.\n\nBest Regards,\n%s", "s2member-front", "s2member"), get_bloginfo("name"));
|
232 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
233 |
$default_options["sp_email_recipients"] = '"%%full_name%%" <%%payer_email%%>';
|
234 |
$default_options["sp_email_subject"] = _x("Thank You! (instructions for access)", "s2member-front", "s2member");
|
235 |
-
$default_options["sp_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%!\n\n%%%%item_name%%%%\n\nYour order can be retrieved here:\n%%%%sp_access_url%%%%\n(
|
236 |
|
237 |
$default_options["mailchimp_api_key"] = "";
|
238 |
|
@@ -317,24 +327,6 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
317 |
Here they are merged. User options will overwrite some or all default values.
|
318 |
*/
|
319 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"] = array_merge($default_options, (($options !== false) ? (array)$options : (array)get_option("ws_plugin__s2member_options")));
|
320 |
-
|
321 |
-
// Back compatibility for `filter_wp_query`. Changed in v110912 to array.
|
322 |
-
if(is_string($_ov = &$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["filter_wp_query"]))
|
323 |
-
$_ov = (!$_ov || $_ov === "none") ? $default_options["filter_wp_query"] : array_unique(preg_split("/[;,\r\n\t\s ]+/", $_ov));
|
324 |
-
|
325 |
-
// Backward compatibility for old logo image width of 500 pixels. Changed in v110604.
|
326 |
-
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_src"] === $default_options["login_reg_logo_src"])
|
327 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_logo_src_width"] = $default_options["login_reg_logo_src_width"];
|
328 |
-
|
329 |
-
// Backward compatibility for PayPal API Credentials. Starting with v3.5+, this info is stored by the free version of s2Member.
|
330 |
-
if(empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_username"]) && !empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_username"]))
|
331 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_username"] = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_username"];
|
332 |
-
|
333 |
-
if(empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_password"]) && !empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_password"]))
|
334 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_password"] = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_password"];
|
335 |
-
|
336 |
-
if(empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_signature"]) && !empty($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_signature"]))
|
337 |
-
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["paypal_api_signature"] = $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["pro_paypal_api_signature"];
|
338 |
/*
|
339 |
This builds an MD5 checksum for the full array of options. This also includes the config checksum and the current set of default options.
|
340 |
*/
|
@@ -358,6 +350,9 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
358 |
else if(preg_match("/^gateway_debug_logs|gateway_debug_logs_extensive/", $key) && (!is_string($value) || !is_numeric($value)))
|
359 |
$value = $default_options[$key];
|
360 |
|
|
|
|
|
|
|
361 |
else if($key === "sec_encryption_key" && (!is_string($value) || !strlen($value)))
|
362 |
$value = $default_options[$key];
|
363 |
|
@@ -484,10 +479,10 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
484 |
else if(preg_match("/^(?:signup|modification|ccap|sp)_tracking_codes$/", $key) && (!is_string($value) || !strlen($value)))
|
485 |
$value = $default_options[$key];
|
486 |
|
487 |
-
else if(preg_match("/^(?:signup|sp)_email_recipients$/", $key) && !is_string($value) /* Can be empty. */)
|
488 |
$value = $default_options[$key];
|
489 |
|
490 |
-
else if(preg_match("/^(?:signup|sp)_email_(?:subject|message)$/", $key) && (!is_string($value) || !strlen($value)))
|
491 |
$value = $default_options[$key];
|
492 |
|
493 |
else if($key === "mailchimp_api_key" && (!is_string($value) || !strlen($value)))
|
129 |
$default_options["gateway_debug_logs"] = "0";
|
130 |
$default_options["gateway_debug_logs_extensive"] = "0";
|
131 |
|
132 |
+
$default_options["lazy_load_css_js"] = "1";
|
133 |
+
|
134 |
$default_options["sec_encryption_key"] = "";
|
135 |
$default_options["sec_encryption_key_history"] = array();
|
136 |
$default_options["s_badge_status_enabled"] = "0";
|
232 |
$default_options["signup_email_subject"] = _x("Congratulations! (your membership has been approved)", "s2member-front", "s2member");
|
233 |
$default_options["signup_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%! Your membership has been approved.\n\nIf you haven't already done so, the next step is to Register a Username.\n\nComplete your registration here:\n%%%%registration_url%%%%\n\nIf you have any trouble, please feel free to contact us.\n\nBest Regards,\n%s", "s2member-front", "s2member"), get_bloginfo("name"));
|
234 |
|
235 |
+
$default_options["modification_email_recipients"] = '"%%full_name%%" <%%payer_email%%>';
|
236 |
+
$default_options["modification_email_subject"] = _x("Thank you! Your account has been updated.", "s2member-front", "s2member");
|
237 |
+
$default_options["modification_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%! Your account now has access to: %%%%item_name%%%%.\n\nIf you have any trouble, please feel free to contact us.\n\nBest Regards,\n%s", "s2member-front", "s2member"), get_bloginfo("name"));
|
238 |
+
|
239 |
+
$default_options["ccap_email_recipients"] = '"%%full_name%%" <%%payer_email%%>';
|
240 |
+
$default_options["ccap_email_subject"] = _x("Thank you! Your account has been updated.", "s2member-front", "s2member");
|
241 |
+
$default_options["ccap_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%! Your account now has access to: %%%%item_name%%%%.\n\nIf you have any trouble, please feel free to contact us.\n\nBest Regards,\n%s", "s2member-front", "s2member"), get_bloginfo("name"));
|
242 |
+
|
243 |
$default_options["sp_email_recipients"] = '"%%full_name%%" <%%payer_email%%>';
|
244 |
$default_options["sp_email_subject"] = _x("Thank You! (instructions for access)", "s2member-front", "s2member");
|
245 |
+
$default_options["sp_email_message"] = sprintf(_x("Thanks %%%%first_name%%%%!\n\n%%%%item_name%%%%\n\nYour order can be retrieved here:\n%%%%sp_access_url%%%%\n(link expires in %%%%sp_access_exp%%%%)\n\nIf you have any trouble, please feel free to contact us.\n\nBest Regards,\n%s", "s2member-front", "s2member"), get_bloginfo("name"));
|
246 |
|
247 |
$default_options["mailchimp_api_key"] = "";
|
248 |
|
327 |
Here they are merged. User options will overwrite some or all default values.
|
328 |
*/
|
329 |
$GLOBALS["WS_PLUGIN__"]["s2member"]["o"] = array_merge($default_options, (($options !== false) ? (array)$options : (array)get_option("ws_plugin__s2member_options")));
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
330 |
/*
|
331 |
This builds an MD5 checksum for the full array of options. This also includes the config checksum and the current set of default options.
|
332 |
*/
|
350 |
else if(preg_match("/^gateway_debug_logs|gateway_debug_logs_extensive/", $key) && (!is_string($value) || !is_numeric($value)))
|
351 |
$value = $default_options[$key];
|
352 |
|
353 |
+
else if($key === "lazy_load_css_js" && (!is_string($value) || !is_numeric($value)))
|
354 |
+
$value = $default_options[$key];
|
355 |
+
|
356 |
else if($key === "sec_encryption_key" && (!is_string($value) || !strlen($value)))
|
357 |
$value = $default_options[$key];
|
358 |
|
479 |
else if(preg_match("/^(?:signup|modification|ccap|sp)_tracking_codes$/", $key) && (!is_string($value) || !strlen($value)))
|
480 |
$value = $default_options[$key];
|
481 |
|
482 |
+
else if(preg_match("/^(?:signup|modification|ccap|sp)_email_recipients$/", $key) && !is_string($value) /* Can be empty. */)
|
483 |
$value = $default_options[$key];
|
484 |
|
485 |
+
else if(preg_match("/^(?:signup|modification|ccap|sp)_email_(?:subject|message)$/", $key) && (!is_string($value) || !strlen($value)))
|
486 |
$value = $default_options[$key];
|
487 |
|
488 |
else if($key === "mailchimp_api_key" && (!is_string($value) || !strlen($value)))
|
includes/templates/badges/index.php
DELETED
File without changes
|
includes/templates/buttons/index.php
DELETED
File without changes
|
includes/templates/cfg-files/index.php
DELETED
File without changes
|
includes/templates/errors/index.php
DELETED
File without changes
|
includes/templates/index.php
DELETED
File without changes
|
includes/templates/options/index.php
DELETED
File without changes
|
includes/templates/options/paypal-sp-hours.php
CHANGED
@@ -48,4 +48,5 @@ if (realpath (__FILE__) === realpath ($_SERVER["SCRIPT_FILENAME"]))
|
|
48 |
<option value="26280"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 3 years)", "s2member-admin", "s2member")); ?></option>
|
49 |
<option value="35040"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 4 years)", "s2member-admin", "s2member")); ?></option>
|
50 |
<option value="43800"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 5 years)", "s2member-admin", "s2member")); ?></option>
|
|
|
51 |
</optgroup>
|
48 |
<option value="26280"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 3 years)", "s2member-admin", "s2member")); ?></option>
|
49 |
<option value="35040"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 4 years)", "s2member-admin", "s2member")); ?></option>
|
50 |
<option value="43800"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 5 years)", "s2member-admin", "s2member")); ?></option>
|
51 |
+
<option value="438291"><?php echo esc_html (_x ("Buy Now (Specific Post/Page, link valid for 50 years)", "s2member-admin", "s2member")); ?></option>
|
52 |
</optgroup>
|
includes/templates/players/index.php
DELETED
File without changes
|
includes/templates/returns/index.php
DELETED
File without changes
|
includes/templates/shortcodes/index.php
DELETED
File without changes
|
includes/translations/index.php
DELETED
File without changes
|
includes/translations/s2member.pot
CHANGED
@@ -1,10 +1,10 @@
|
|
1 |
-
# Copyright (C) 2010
|
2 |
-
# This file is distributed under the same license as the
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version:
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
-
"POT-Creation-Date: 2013-11-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -17,8 +17,8 @@ msgctxt "s2member-front"
|
|
17 |
msgid "Max failed logins. Please wait %s and try again."
|
18 |
msgstr ""
|
19 |
|
20 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
21 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
22 |
#: s2member/includes/classes/profile-in.inc.php:120
|
23 |
#: s2member/includes/classes/sc-profile-in.inc.php:136
|
24 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:66
|
@@ -31,8 +31,8 @@ msgctxt "s2member-front"
|
|
31 |
msgid "First Name"
|
32 |
msgstr ""
|
33 |
|
34 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
35 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
36 |
#: s2member/includes/classes/profile-in.inc.php:140
|
37 |
#: s2member/includes/classes/sc-profile-in.inc.php:156
|
38 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:72
|
@@ -45,8 +45,8 @@ msgctxt "s2member-front"
|
|
45 |
msgid "Last Name"
|
46 |
msgstr ""
|
47 |
|
48 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
49 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
50 |
#: s2member/includes/classes/profile-in.inc.php:233
|
51 |
#: s2member/includes/classes/profile-in.inc.php:239
|
52 |
#: s2member/includes/classes/sc-profile-in.inc.php:249
|
@@ -55,12 +55,12 @@ msgctxt "s2member-front"
|
|
55 |
msgid "Please type your Password twice to confirm."
|
56 |
msgstr ""
|
57 |
|
58 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
59 |
msgctxt "s2member-front"
|
60 |
msgid "Password (please type it twice)"
|
61 |
msgstr ""
|
62 |
|
63 |
-
#: s2member/includes/classes/custom-reg-fields.inc.php:
|
64 |
#: s2member/includes/classes/profile-in.inc.php:243
|
65 |
#: s2member/includes/classes/sc-profile-in.inc.php:259
|
66 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:94
|
@@ -504,34 +504,6 @@ msgctxt "s2member-front"
|
|
504 |
msgid "<strong>ERROR</strong>: Max simultaneous logins for username: %1$s. Please wait %2$s and try again."
|
505 |
msgstr ""
|
506 |
|
507 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php:132
|
508 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php:156
|
509 |
-
#: s2member/includes/classes/paypal-notify-in-wa-ccaps-wo-level.inc.php:100
|
510 |
-
msgctxt "s2member-front"
|
511 |
-
msgid "Thank you! Your account has been updated."
|
512 |
-
msgstr ""
|
513 |
-
|
514 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php:132
|
515 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php:156
|
516 |
-
#: s2member/includes/classes/paypal-return-in-subscr-modify-w-level.inc.php:187
|
517 |
-
#: s2member/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php:234
|
518 |
-
msgctxt "s2member-front"
|
519 |
-
msgid "Thank you! You've been updated to:"
|
520 |
-
msgstr ""
|
521 |
-
|
522 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-modify-w-level.inc.php:132
|
523 |
-
#: s2member/includes/classes/paypal-notify-in-subscr-or-wa-w-level.inc.php:156
|
524 |
-
#: s2member/includes/classes/paypal-notify-in-wa-ccaps-wo-level.inc.php:100
|
525 |
-
msgctxt "s2member-front"
|
526 |
-
msgid "Please log back in now."
|
527 |
-
msgstr ""
|
528 |
-
|
529 |
-
#: s2member/includes/classes/paypal-notify-in-wa-ccaps-wo-level.inc.php:100
|
530 |
-
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:144
|
531 |
-
msgctxt "s2member-front"
|
532 |
-
msgid "Thank you! You now have access to:"
|
533 |
-
msgstr ""
|
534 |
-
|
535 |
#: s2member/includes/classes/paypal-return-in-no-tx-data.inc.php:66
|
536 |
#: s2member/includes/classes/paypal-return-in-proxy-ty-email.inc.php:64
|
537 |
msgctxt "s2member-front"
|
@@ -576,6 +548,12 @@ msgctxt "s2member-front"
|
|
576 |
msgid "Continue (Click Here)"
|
577 |
msgstr ""
|
578 |
|
|
|
|
|
|
|
|
|
|
|
|
|
579 |
#: s2member/includes/classes/paypal-return-in-subscr-modify-w-level.inc.php:188
|
580 |
#: s2member/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php:235
|
581 |
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:145
|
@@ -615,6 +593,11 @@ msgctxt "s2member-front"
|
|
615 |
msgid "Please Register Now (Click Here)"
|
616 |
msgstr ""
|
617 |
|
|
|
|
|
|
|
|
|
|
|
618 |
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:155
|
619 |
msgctxt "s2member-front"
|
620 |
msgid "<strong>ERROR:</strong> Unable to add new Capabilities.<br />Please contact Support for assistance.<br /><br />The existing User ID is associated with an Administrator. Stopping here. Otherwise, an Administrator could lose access. Please make sure that you are NOT logged in as an Administrator while testing."
|
@@ -728,6 +711,8 @@ msgstr ""
|
|
728 |
|
729 |
#: s2member/includes/classes/profile-in.inc.php:98
|
730 |
#: s2member/includes/classes/sc-profile-in.inc.php:114
|
|
|
|
|
731 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:78
|
732 |
#: s2member-pro/includes/templates/forms/authnet-registration-form.php:46
|
733 |
#: s2member-pro/includes/templates/forms/authnet-sp-checkout-form.php:78
|
@@ -808,10 +793,10 @@ msgid "If you need assistance, please <a href=\"%s\" target=\"_blank\">contact s
|
|
808 |
msgstr ""
|
809 |
|
810 |
#: s2member/includes/classes/sc-paypal-button-e.inc.php:77
|
811 |
-
#: s2member/includes/classes/sc-paypal-button-in.inc.php:
|
812 |
-
#: s2member/includes/classes/sc-paypal-button-in.inc.php:
|
813 |
-
#: s2member/includes/classes/sc-paypal-button-in.inc.php:
|
814 |
-
#: s2member/includes/classes/sc-paypal-button-in.inc.php:
|
815 |
#: s2member/includes/templates/buttons/paypal-cancellation-button.php:7
|
816 |
#: s2member/includes/templates/buttons/paypal-ccaps-checkout-button.php:34
|
817 |
#: s2member/includes/templates/buttons/paypal-checkout-button.php:46
|
@@ -1450,17 +1435,17 @@ msgctxt "s2member-front recaptcha-lang-code"
|
|
1450 |
msgid "en"
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: s2member/includes/syscon.inc.php:
|
1454 |
msgctxt "s2member-front"
|
1455 |
msgid "Yes, I want to receive updates via email."
|
1456 |
msgstr ""
|
1457 |
|
1458 |
-
#: s2member/includes/syscon.inc.php:
|
1459 |
msgctxt "s2member-front"
|
1460 |
msgid "[%s] Username/Password"
|
1461 |
msgstr ""
|
1462 |
|
1463 |
-
#: s2member/includes/syscon.inc.php:
|
1464 |
msgctxt "s2member-front"
|
1465 |
msgid ""
|
1466 |
"Your Username/Password for:\n"
|
@@ -1471,12 +1456,12 @@ msgid ""
|
|
1471 |
"%%%%wp_login_url%%%%"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
-
#: s2member/includes/syscon.inc.php:
|
1475 |
msgctxt "s2member-front"
|
1476 |
msgid "[%s] New User Registration"
|
1477 |
msgstr ""
|
1478 |
|
1479 |
-
#: s2member/includes/syscon.inc.php:
|
1480 |
msgctxt "s2member-front"
|
1481 |
msgid ""
|
1482 |
"New User Registration on your site:\n"
|
@@ -1488,12 +1473,12 @@ msgid ""
|
|
1488 |
"IP Address: %%%%user_ip%%%%"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: s2member/includes/syscon.inc.php:
|
1492 |
msgctxt "s2member-front"
|
1493 |
msgid "Congratulations! (your membership has been approved)"
|
1494 |
msgstr ""
|
1495 |
|
1496 |
-
#: s2member/includes/syscon.inc.php:
|
1497 |
msgctxt "s2member-front"
|
1498 |
msgid ""
|
1499 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
@@ -1509,12 +1494,28 @@ msgid ""
|
|
1509 |
"%s"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#: s2member/includes/syscon.inc.php:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1513 |
msgctxt "s2member-front"
|
1514 |
msgid "Thank You! (instructions for access)"
|
1515 |
msgstr ""
|
1516 |
|
1517 |
-
#: s2member/includes/syscon.inc.php:
|
1518 |
msgctxt "s2member-front"
|
1519 |
msgid ""
|
1520 |
"Thanks %%%%first_name%%%%!\n"
|
@@ -1523,7 +1524,7 @@ msgid ""
|
|
1523 |
"\n"
|
1524 |
"Your order can be retrieved here:\n"
|
1525 |
"%%%%sp_access_url%%%%\n"
|
1526 |
-
"(
|
1527 |
"\n"
|
1528 |
"If you have any trouble, please feel free to contact us.\n"
|
1529 |
"\n"
|
@@ -1531,32 +1532,32 @@ msgid ""
|
|
1531 |
"%s"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: s2member/includes/syscon.inc.php:
|
1535 |
msgctxt "s2member-front"
|
1536 |
msgid "Free Subscriber"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
-
#: s2member/includes/syscon.inc.php:
|
1540 |
msgctxt "s2member-front"
|
1541 |
msgid "Bronze Member"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: s2member/includes/syscon.inc.php:
|
1545 |
msgctxt "s2member-front"
|
1546 |
msgid "Silver Member"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
-
#: s2member/includes/syscon.inc.php:
|
1550 |
msgctxt "s2member-front"
|
1551 |
msgid "Gold Member"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: s2member/includes/syscon.inc.php:
|
1555 |
msgctxt "s2member-front"
|
1556 |
msgid "Platinum Member"
|
1557 |
msgstr ""
|
1558 |
|
1559 |
-
#: s2member/includes/syscon.inc.php:
|
1560 |
msgctxt "s2member-front"
|
1561 |
msgid "Level %s Member"
|
1562 |
msgstr ""
|
@@ -1689,7 +1690,6 @@ msgid "PayPal® (Subscriptions)"
|
|
1689 |
msgstr ""
|
1690 |
|
1691 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:7
|
1692 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:7
|
1693 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:7
|
1694 |
msgctxt "s2member-admin"
|
1695 |
msgid "Daily (recurring charge, for ongoing access)"
|
@@ -1697,7 +1697,6 @@ msgstr ""
|
|
1697 |
|
1698 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:8
|
1699 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:7
|
1700 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:8
|
1701 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:7
|
1702 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:8
|
1703 |
msgctxt "s2member-admin"
|
@@ -1706,7 +1705,6 @@ msgstr ""
|
|
1706 |
|
1707 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:9
|
1708 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:8
|
1709 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:9
|
1710 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:8
|
1711 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:9
|
1712 |
msgctxt "s2member-admin"
|
@@ -1716,7 +1714,7 @@ msgstr ""
|
|
1716 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:10
|
1717 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:9
|
1718 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:7
|
1719 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1720 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:9
|
1721 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:10
|
1722 |
msgctxt "s2member-admin"
|
@@ -1726,7 +1724,6 @@ msgstr ""
|
|
1726 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:11
|
1727 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:10
|
1728 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:8
|
1729 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:11
|
1730 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:11
|
1731 |
msgctxt "s2member-admin"
|
1732 |
msgid "Bi-Monthly (recurring charge, for ongoing access)"
|
@@ -1735,7 +1732,6 @@ msgstr ""
|
|
1735 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:12
|
1736 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:11
|
1737 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:9
|
1738 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:12
|
1739 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:10
|
1740 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:12
|
1741 |
msgctxt "s2member-admin"
|
@@ -1752,7 +1748,6 @@ msgstr ""
|
|
1752 |
|
1753 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:14
|
1754 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:13
|
1755 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:13
|
1756 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:12
|
1757 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:14
|
1758 |
msgctxt "s2member-admin"
|
@@ -1760,7 +1755,6 @@ msgid "Yearly (recurring charge, for ongoing access)"
|
|
1760 |
msgstr ""
|
1761 |
|
1762 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:20
|
1763 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:19
|
1764 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:18
|
1765 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:20
|
1766 |
msgctxt "s2member-admin"
|
@@ -1768,7 +1762,6 @@ msgid "One Time (for 1 day access, non-recurring)"
|
|
1768 |
msgstr ""
|
1769 |
|
1770 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:21
|
1771 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:20
|
1772 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:19
|
1773 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:21
|
1774 |
msgctxt "s2member-admin"
|
@@ -1776,7 +1769,6 @@ msgid "One Time (for 2 day access, non-recurring)"
|
|
1776 |
msgstr ""
|
1777 |
|
1778 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:22
|
1779 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:21
|
1780 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:20
|
1781 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:22
|
1782 |
msgctxt "s2member-admin"
|
@@ -1784,7 +1776,6 @@ msgid "One Time (for 3 day access, non-recurring)"
|
|
1784 |
msgstr ""
|
1785 |
|
1786 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:23
|
1787 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:22
|
1788 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:21
|
1789 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:23
|
1790 |
msgctxt "s2member-admin"
|
@@ -1792,7 +1783,6 @@ msgid "One Time (for 4 day access, non-recurring)"
|
|
1792 |
msgstr ""
|
1793 |
|
1794 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:24
|
1795 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:23
|
1796 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:22
|
1797 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:24
|
1798 |
msgctxt "s2member-admin"
|
@@ -1800,7 +1790,6 @@ msgid "One Time (for 5 day access, non-recurring)"
|
|
1800 |
msgstr ""
|
1801 |
|
1802 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:25
|
1803 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:24
|
1804 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:23
|
1805 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:25
|
1806 |
msgctxt "s2member-admin"
|
@@ -1809,7 +1798,6 @@ msgstr ""
|
|
1809 |
|
1810 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:27
|
1811 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:19
|
1812 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:26
|
1813 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:25
|
1814 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:27
|
1815 |
msgctxt "s2member-admin"
|
@@ -1818,7 +1806,6 @@ msgstr ""
|
|
1818 |
|
1819 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:28
|
1820 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:20
|
1821 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:27
|
1822 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:26
|
1823 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:28
|
1824 |
msgctxt "s2member-admin"
|
@@ -1827,7 +1814,6 @@ msgstr ""
|
|
1827 |
|
1828 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:29
|
1829 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:21
|
1830 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:28
|
1831 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:27
|
1832 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:29
|
1833 |
msgctxt "s2member-admin"
|
@@ -1836,7 +1822,7 @@ msgstr ""
|
|
1836 |
|
1837 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:31
|
1838 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:23
|
1839 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1840 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:29
|
1841 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:31
|
1842 |
msgctxt "s2member-admin"
|
@@ -1845,7 +1831,6 @@ msgstr ""
|
|
1845 |
|
1846 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:32
|
1847 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:24
|
1848 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:31
|
1849 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:30
|
1850 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:32
|
1851 |
msgctxt "s2member-admin"
|
@@ -1854,7 +1839,6 @@ msgstr ""
|
|
1854 |
|
1855 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:33
|
1856 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:25
|
1857 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:32
|
1858 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:31
|
1859 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:33
|
1860 |
msgctxt "s2member-admin"
|
@@ -1863,7 +1847,6 @@ msgstr ""
|
|
1863 |
|
1864 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:34
|
1865 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:26
|
1866 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:33
|
1867 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:32
|
1868 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:34
|
1869 |
msgctxt "s2member-admin"
|
@@ -1872,7 +1855,6 @@ msgstr ""
|
|
1872 |
|
1873 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:35
|
1874 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:27
|
1875 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:34
|
1876 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:33
|
1877 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:35
|
1878 |
msgctxt "s2member-admin"
|
@@ -1881,7 +1863,6 @@ msgstr ""
|
|
1881 |
|
1882 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:36
|
1883 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:28
|
1884 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:35
|
1885 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:34
|
1886 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:36
|
1887 |
msgctxt "s2member-admin"
|
@@ -1890,7 +1871,6 @@ msgstr ""
|
|
1890 |
|
1891 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:38
|
1892 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:30
|
1893 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:37
|
1894 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:36
|
1895 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:38
|
1896 |
msgctxt "s2member-admin"
|
@@ -1899,7 +1879,7 @@ msgstr ""
|
|
1899 |
|
1900 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:44
|
1901 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:36
|
1902 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1903 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:42
|
1904 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:44
|
1905 |
msgctxt "s2member-admin"
|
@@ -1909,7 +1889,7 @@ msgstr ""
|
|
1909 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:45
|
1910 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:37
|
1911 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:15
|
1912 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1913 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:43
|
1914 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:45
|
1915 |
msgctxt "s2member-admin"
|
@@ -1919,7 +1899,7 @@ msgstr ""
|
|
1919 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:46
|
1920 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:38
|
1921 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:16
|
1922 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1923 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:44
|
1924 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:46
|
1925 |
msgctxt "s2member-admin"
|
@@ -1929,7 +1909,7 @@ msgstr ""
|
|
1929 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:47
|
1930 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:39
|
1931 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:17
|
1932 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1933 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:45
|
1934 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:47
|
1935 |
msgctxt "s2member-admin"
|
@@ -1939,7 +1919,7 @@ msgstr ""
|
|
1939 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:48
|
1940 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:40
|
1941 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:18
|
1942 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1943 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:46
|
1944 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:48
|
1945 |
msgctxt "s2member-admin"
|
@@ -1949,7 +1929,7 @@ msgstr ""
|
|
1949 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:49
|
1950 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:41
|
1951 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:19
|
1952 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1953 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:47
|
1954 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:49
|
1955 |
msgctxt "s2member-admin"
|
@@ -1959,7 +1939,7 @@ msgstr ""
|
|
1959 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:51
|
1960 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:43
|
1961 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:21
|
1962 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1963 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:49
|
1964 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:51
|
1965 |
msgctxt "s2member-admin"
|
@@ -1969,7 +1949,7 @@ msgstr ""
|
|
1969 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:52
|
1970 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:44
|
1971 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:22
|
1972 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1973 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:50
|
1974 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:52
|
1975 |
msgctxt "s2member-admin"
|
@@ -1979,7 +1959,7 @@ msgstr ""
|
|
1979 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:53
|
1980 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:45
|
1981 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:23
|
1982 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1983 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:51
|
1984 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:53
|
1985 |
msgctxt "s2member-admin"
|
@@ -1989,7 +1969,7 @@ msgstr ""
|
|
1989 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:55
|
1990 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:47
|
1991 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:25
|
1992 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
1993 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:53
|
1994 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:55
|
1995 |
msgctxt "s2member-admin"
|
@@ -1999,7 +1979,7 @@ msgstr ""
|
|
1999 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:56
|
2000 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:48
|
2001 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:26
|
2002 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2003 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:54
|
2004 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:56
|
2005 |
msgctxt "s2member-admin"
|
@@ -2009,7 +1989,7 @@ msgstr ""
|
|
2009 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:57
|
2010 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:49
|
2011 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:27
|
2012 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2013 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:55
|
2014 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:57
|
2015 |
msgctxt "s2member-admin"
|
@@ -2019,7 +1999,7 @@ msgstr ""
|
|
2019 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:58
|
2020 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:50
|
2021 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:28
|
2022 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2023 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:56
|
2024 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:58
|
2025 |
msgctxt "s2member-admin"
|
@@ -2029,7 +2009,7 @@ msgstr ""
|
|
2029 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:59
|
2030 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:51
|
2031 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:29
|
2032 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2033 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:57
|
2034 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:59
|
2035 |
msgctxt "s2member-admin"
|
@@ -2039,7 +2019,7 @@ msgstr ""
|
|
2039 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:60
|
2040 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:52
|
2041 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:30
|
2042 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2043 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:58
|
2044 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:60
|
2045 |
msgctxt "s2member-admin"
|
@@ -2049,7 +2029,7 @@ msgstr ""
|
|
2049 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:62
|
2050 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:54
|
2051 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:32
|
2052 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2053 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:60
|
2054 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:62
|
2055 |
msgctxt "s2member-admin"
|
@@ -2058,7 +2038,7 @@ msgstr ""
|
|
2058 |
|
2059 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:63
|
2060 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:55
|
2061 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2062 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:61
|
2063 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:63
|
2064 |
msgctxt "s2member-admin"
|
@@ -2067,7 +2047,7 @@ msgstr ""
|
|
2067 |
|
2068 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:64
|
2069 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:56
|
2070 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2071 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:62
|
2072 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:64
|
2073 |
msgctxt "s2member-admin"
|
@@ -2076,7 +2056,7 @@ msgstr ""
|
|
2076 |
|
2077 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:65
|
2078 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:57
|
2079 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2080 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:63
|
2081 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:65
|
2082 |
msgctxt "s2member-admin"
|
@@ -2085,7 +2065,7 @@ msgstr ""
|
|
2085 |
|
2086 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:66
|
2087 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:58
|
2088 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2089 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:64
|
2090 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:66
|
2091 |
msgctxt "s2member-admin"
|
@@ -2094,7 +2074,7 @@ msgstr ""
|
|
2094 |
|
2095 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:68
|
2096 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:60
|
2097 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
2098 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:66
|
2099 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:68
|
2100 |
msgctxt "s2member-admin"
|
@@ -2404,6 +2384,7 @@ msgstr ""
|
|
2404 |
#: s2member/includes/templates/options/paypal-sp-hours.php:47
|
2405 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:47
|
2406 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:47
|
|
|
2407 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:47
|
2408 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:47
|
2409 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:47
|
@@ -2414,6 +2395,7 @@ msgstr ""
|
|
2414 |
#: s2member/includes/templates/options/paypal-sp-hours.php:48
|
2415 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:48
|
2416 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:48
|
|
|
2417 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:48
|
2418 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:48
|
2419 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:48
|
@@ -2424,6 +2406,7 @@ msgstr ""
|
|
2424 |
#: s2member/includes/templates/options/paypal-sp-hours.php:49
|
2425 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:49
|
2426 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:49
|
|
|
2427 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:49
|
2428 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:49
|
2429 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:49
|
@@ -2434,6 +2417,7 @@ msgstr ""
|
|
2434 |
#: s2member/includes/templates/options/paypal-sp-hours.php:50
|
2435 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:50
|
2436 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:50
|
|
|
2437 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:50
|
2438 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:50
|
2439 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:50
|
@@ -2441,6 +2425,17 @@ msgctxt "s2member-admin"
|
|
2441 |
msgid "Buy Now (Specific Post/Page, link valid for 5 years)"
|
2442 |
msgstr ""
|
2443 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2444 |
#: s2member-pro/includes/classes/gateways/alipay/alipay-return-in.inc.php:117
|
2445 |
msgctxt "s2member-front"
|
2446 |
msgid ""
|
@@ -2556,184 +2551,184 @@ msgctxt "s2member-front"
|
|
2556 |
msgid "<strong>Unknown error.</strong> Please contact Support for assistance."
|
2557 |
msgstr ""
|
2558 |
|
2559 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2560 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2561 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2562 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2563 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2564 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2565 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2566 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2567 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2568 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2569 |
msgctxt "s2member-front"
|
2570 |
msgid "Security Code"
|
2571 |
msgstr ""
|
2572 |
|
2573 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2574 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2575 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2576 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2577 |
msgctxt "s2member-front"
|
2578 |
msgid "Additional Info"
|
2579 |
msgstr ""
|
2580 |
|
2581 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2582 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2583 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2584 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2585 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2586 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2587 |
msgctxt "s2member-front"
|
2588 |
msgid "Visa"
|
2589 |
msgstr ""
|
2590 |
|
2591 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2592 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2593 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2594 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2595 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2596 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2597 |
msgctxt "s2member-front"
|
2598 |
msgid "MasterCard"
|
2599 |
msgstr ""
|
2600 |
|
2601 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2602 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2603 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2604 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2605 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2606 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2607 |
msgctxt "s2member-front"
|
2608 |
msgid "Discover"
|
2609 |
msgstr ""
|
2610 |
|
2611 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2612 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2613 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2614 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2615 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2616 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2617 |
msgctxt "s2member-front"
|
2618 |
msgid "American Express"
|
2619 |
msgstr ""
|
2620 |
|
2621 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2622 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2623 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2624 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2625 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2626 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2627 |
msgctxt "s2member-front"
|
2628 |
msgid "01 January"
|
2629 |
msgstr ""
|
2630 |
|
2631 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2632 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2633 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2634 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2635 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2636 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2637 |
msgctxt "s2member-front"
|
2638 |
msgid "02 February"
|
2639 |
msgstr ""
|
2640 |
|
2641 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2642 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2643 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2644 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2645 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2646 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2647 |
msgctxt "s2member-front"
|
2648 |
msgid "03 March"
|
2649 |
msgstr ""
|
2650 |
|
2651 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2652 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2653 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2654 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2655 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2656 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2657 |
msgctxt "s2member-front"
|
2658 |
msgid "04 April"
|
2659 |
msgstr ""
|
2660 |
|
2661 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2662 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2663 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2664 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2665 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2666 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2667 |
msgctxt "s2member-front"
|
2668 |
msgid "05 May"
|
2669 |
msgstr ""
|
2670 |
|
2671 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2672 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2673 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2674 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2675 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2676 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2677 |
msgctxt "s2member-front"
|
2678 |
msgid "06 June"
|
2679 |
msgstr ""
|
2680 |
|
2681 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2682 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2683 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2684 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2685 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2686 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2687 |
msgctxt "s2member-front"
|
2688 |
msgid "07 July"
|
2689 |
msgstr ""
|
2690 |
|
2691 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2692 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2693 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2694 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2695 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2696 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2697 |
msgctxt "s2member-front"
|
2698 |
msgid "08 August"
|
2699 |
msgstr ""
|
2700 |
|
2701 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2702 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2703 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2704 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2705 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2706 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2707 |
msgctxt "s2member-front"
|
2708 |
msgid "09 September"
|
2709 |
msgstr ""
|
2710 |
|
2711 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2712 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2713 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2714 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2715 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2716 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2717 |
msgctxt "s2member-front"
|
2718 |
msgid "10 October"
|
2719 |
msgstr ""
|
2720 |
|
2721 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2722 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2723 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2724 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2725 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2726 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2727 |
msgctxt "s2member-front"
|
2728 |
msgid "11 November"
|
2729 |
msgstr ""
|
2730 |
|
2731 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2732 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2733 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:
|
2734 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2735 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2736 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
2737 |
msgctxt "s2member-front"
|
2738 |
msgid "12 December"
|
2739 |
msgstr ""
|
@@ -3639,85 +3634,6 @@ msgctxt "s2member-front"
|
|
3639 |
msgid "<strong>Reminder:</strong> Purchases at this site will appear on your credit card or bank statement as: <code>ClickBank</code> or <code>CLKBANK*COM</code>."
|
3640 |
msgstr ""
|
3641 |
|
3642 |
-
#: s2member-pro/includes/classes/gateways/google/google-button-in.inc.php:93
|
3643 |
-
#: s2member-pro/includes/classes/gateways/google/google-button-in.inc.php:115
|
3644 |
-
#: s2member-pro/includes/classes/gateways/google/google-button-in.inc.php:137
|
3645 |
-
#: s2member-pro/includes/templates/buttons/google-ccaps-checkout-button.php:7
|
3646 |
-
#: s2member-pro/includes/templates/buttons/google-checkout-button.php:7
|
3647 |
-
#: s2member-pro/includes/templates/buttons/google-sp-checkout-button.php:7
|
3648 |
-
msgctxt "s2member-front google-button-lang-code"
|
3649 |
-
msgid "en_US"
|
3650 |
-
msgstr ""
|
3651 |
-
|
3652 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:96
|
3653 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:152
|
3654 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:212
|
3655 |
-
msgctxt "s2member-front"
|
3656 |
-
msgid "Grants you immediate access."
|
3657 |
-
msgstr ""
|
3658 |
-
|
3659 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:165
|
3660 |
-
msgctxt "s2member-front"
|
3661 |
-
msgid "You now have access to:<br />%s<br />(<a href=\"%s\">please log back in now</a>)"
|
3662 |
-
msgstr ""
|
3663 |
-
|
3664 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:228
|
3665 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:334
|
3666 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:455
|
3667 |
-
msgctxt "s2member-front"
|
3668 |
-
msgid "You've been updated to:<br />%s<br />(<a href=\"%s\">please log back in now</a>)"
|
3669 |
-
msgstr ""
|
3670 |
-
|
3671 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:233
|
3672 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:339
|
3673 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:460
|
3674 |
-
msgctxt "s2member-front"
|
3675 |
-
msgid "%s<br />(the next step is to Register a Username)"
|
3676 |
-
msgstr ""
|
3677 |
-
|
3678 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:289
|
3679 |
-
msgctxt "s2member-front"
|
3680 |
-
msgid "100% free trial. NO charge today."
|
3681 |
-
msgstr ""
|
3682 |
-
|
3683 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:290
|
3684 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:411
|
3685 |
-
msgctxt "s2member-front"
|
3686 |
-
msgid "First payment for immediate access."
|
3687 |
-
msgstr ""
|
3688 |
-
|
3689 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:306
|
3690 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:427
|
3691 |
-
msgctxt "s2member-front"
|
3692 |
-
msgid "You'll receive an email confirmation within 15 minutes."
|
3693 |
-
msgstr ""
|
3694 |
-
|
3695 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:315
|
3696 |
-
msgctxt "s2member-front"
|
3697 |
-
msgid "Cancel at any time to avoid %s."
|
3698 |
-
msgstr ""
|
3699 |
-
|
3700 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:315
|
3701 |
-
msgctxt "s2member-front"
|
3702 |
-
msgid "this charge"
|
3703 |
-
msgstr ""
|
3704 |
-
|
3705 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:315
|
3706 |
-
msgctxt "s2member-front"
|
3707 |
-
msgid "charges"
|
3708 |
-
msgstr ""
|
3709 |
-
|
3710 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:357
|
3711 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:478
|
3712 |
-
msgctxt "s2member-front"
|
3713 |
-
msgid "Covers ongoing access."
|
3714 |
-
msgstr ""
|
3715 |
-
|
3716 |
-
#: s2member-pro/includes/classes/gateways/google/google-co-in.inc.php:436
|
3717 |
-
msgctxt "s2member-front"
|
3718 |
-
msgid "Cancel at any time to avoid charges."
|
3719 |
-
msgstr ""
|
3720 |
-
|
3721 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-cancellation-in.inc.php:123
|
3722 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:247
|
3723 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:263
|
@@ -3740,28 +3656,28 @@ msgctxt "s2member-front"
|
|
3740 |
msgid "<strong>Sorry.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3741 |
msgstr ""
|
3742 |
|
3743 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3744 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3745 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3746 |
msgctxt "s2member-front"
|
3747 |
msgid "Maestro"
|
3748 |
msgstr ""
|
3749 |
|
3750 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3751 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3752 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3753 |
msgctxt "s2member-front"
|
3754 |
msgid "Solo"
|
3755 |
msgstr ""
|
3756 |
|
3757 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3758 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3759 |
msgctxt "s2member-front"
|
3760 |
msgid "PayPal"
|
3761 |
msgstr ""
|
3762 |
|
3763 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3764 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:
|
3765 |
msgctxt "s2member-front"
|
3766 |
msgid "We Accept PayPal"
|
3767 |
msgstr ""
|
@@ -4018,6 +3934,12 @@ msgctxt "s2member-front"
|
|
4018 |
msgid "Your Profile"
|
4019 |
msgstr ""
|
4020 |
|
|
|
|
|
|
|
|
|
|
|
|
|
4021 |
#: s2member-pro/includes/separates/gateways/paypal/paypal-min.js:1
|
4022 |
#: s2member-pro/includes/separates/gateways/paypal/paypal.js:269
|
4023 |
#: s2member-pro/includes/separates/gateways/paypal/paypal.js:270
|
@@ -4625,13 +4547,13 @@ msgid "31 Days"
|
|
4625 |
msgstr ""
|
4626 |
|
4627 |
#: s2member-pro/includes/templates/options/google-membership-ccap-terms.php:6
|
4628 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
4629 |
msgctxt "s2member-admin"
|
4630 |
msgid "Google (Buy Now)"
|
4631 |
msgstr ""
|
4632 |
|
4633 |
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:6
|
4634 |
-
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:
|
4635 |
msgctxt "s2member-admin"
|
4636 |
msgid "Google (Subscriptions)"
|
4637 |
msgstr ""
|
1 |
+
# Copyright (C) 2010
|
2 |
+
# This file is distributed under the same license as the package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: \n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
+
"POT-Creation-Date: 2013-11-26 12:09:36+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
17 |
msgid "Max failed logins. Please wait %s and try again."
|
18 |
msgstr ""
|
19 |
|
20 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:331
|
21 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:467
|
22 |
#: s2member/includes/classes/profile-in.inc.php:120
|
23 |
#: s2member/includes/classes/sc-profile-in.inc.php:136
|
24 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:66
|
31 |
msgid "First Name"
|
32 |
msgstr ""
|
33 |
|
34 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:343
|
35 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:482
|
36 |
#: s2member/includes/classes/profile-in.inc.php:140
|
37 |
#: s2member/includes/classes/sc-profile-in.inc.php:156
|
38 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:72
|
45 |
msgid "Last Name"
|
46 |
msgstr ""
|
47 |
|
48 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:440
|
49 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:445
|
50 |
#: s2member/includes/classes/profile-in.inc.php:233
|
51 |
#: s2member/includes/classes/profile-in.inc.php:239
|
52 |
#: s2member/includes/classes/sc-profile-in.inc.php:249
|
55 |
msgid "Please type your Password twice to confirm."
|
56 |
msgstr ""
|
57 |
|
58 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:441
|
59 |
msgctxt "s2member-front"
|
60 |
msgid "Password (please type it twice)"
|
61 |
msgstr ""
|
62 |
|
63 |
+
#: s2member/includes/classes/custom-reg-fields.inc.php:449
|
64 |
#: s2member/includes/classes/profile-in.inc.php:243
|
65 |
#: s2member/includes/classes/sc-profile-in.inc.php:259
|
66 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:94
|
504 |
msgid "<strong>ERROR</strong>: Max simultaneous logins for username: %1$s. Please wait %2$s and try again."
|
505 |
msgstr ""
|
506 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
507 |
#: s2member/includes/classes/paypal-return-in-no-tx-data.inc.php:66
|
508 |
#: s2member/includes/classes/paypal-return-in-proxy-ty-email.inc.php:64
|
509 |
msgctxt "s2member-front"
|
548 |
msgid "Continue (Click Here)"
|
549 |
msgstr ""
|
550 |
|
551 |
+
#: s2member/includes/classes/paypal-return-in-subscr-modify-w-level.inc.php:187
|
552 |
+
#: s2member/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php:234
|
553 |
+
msgctxt "s2member-front"
|
554 |
+
msgid "Thank you! You've been updated to:"
|
555 |
+
msgstr ""
|
556 |
+
|
557 |
#: s2member/includes/classes/paypal-return-in-subscr-modify-w-level.inc.php:188
|
558 |
#: s2member/includes/classes/paypal-return-in-subscr-or-wa-w-level.inc.php:235
|
559 |
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:145
|
593 |
msgid "Please Register Now (Click Here)"
|
594 |
msgstr ""
|
595 |
|
596 |
+
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:144
|
597 |
+
msgctxt "s2member-front"
|
598 |
+
msgid "Thank you! You now have access to:"
|
599 |
+
msgstr ""
|
600 |
+
|
601 |
#: s2member/includes/classes/paypal-return-in-wa-ccaps-wo-level.inc.php:155
|
602 |
msgctxt "s2member-front"
|
603 |
msgid "<strong>ERROR:</strong> Unable to add new Capabilities.<br />Please contact Support for assistance.<br /><br />The existing User ID is associated with an Administrator. Stopping here. Otherwise, an Administrator could lose access. Please make sure that you are NOT logged in as an Administrator while testing."
|
711 |
|
712 |
#: s2member/includes/classes/profile-in.inc.php:98
|
713 |
#: s2member/includes/classes/sc-profile-in.inc.php:114
|
714 |
+
#: s2member-pro/includes/separates/gateways/google/google-min.js:1
|
715 |
+
#: s2member-pro/includes/separates/gateways/google/google.js:39
|
716 |
#: s2member-pro/includes/templates/forms/authnet-checkout-form.php:78
|
717 |
#: s2member-pro/includes/templates/forms/authnet-registration-form.php:46
|
718 |
#: s2member-pro/includes/templates/forms/authnet-sp-checkout-form.php:78
|
793 |
msgstr ""
|
794 |
|
795 |
#: s2member/includes/classes/sc-paypal-button-e.inc.php:77
|
796 |
+
#: s2member/includes/classes/sc-paypal-button-in.inc.php:73
|
797 |
+
#: s2member/includes/classes/sc-paypal-button-in.inc.php:96
|
798 |
+
#: s2member/includes/classes/sc-paypal-button-in.inc.php:150
|
799 |
+
#: s2member/includes/classes/sc-paypal-button-in.inc.php:205
|
800 |
#: s2member/includes/templates/buttons/paypal-cancellation-button.php:7
|
801 |
#: s2member/includes/templates/buttons/paypal-ccaps-checkout-button.php:34
|
802 |
#: s2member/includes/templates/buttons/paypal-checkout-button.php:46
|
1435 |
msgid "en"
|
1436 |
msgstr ""
|
1437 |
|
1438 |
+
#: s2member/includes/syscon.inc.php:152
|
1439 |
msgctxt "s2member-front"
|
1440 |
msgid "Yes, I want to receive updates via email."
|
1441 |
msgstr ""
|
1442 |
|
1443 |
+
#: s2member/includes/syscon.inc.php:206
|
1444 |
msgctxt "s2member-front"
|
1445 |
msgid "[%s] Username/Password"
|
1446 |
msgstr ""
|
1447 |
|
1448 |
+
#: s2member/includes/syscon.inc.php:207
|
1449 |
msgctxt "s2member-front"
|
1450 |
msgid ""
|
1451 |
"Your Username/Password for:\n"
|
1456 |
"%%%%wp_login_url%%%%"
|
1457 |
msgstr ""
|
1458 |
|
1459 |
+
#: s2member/includes/syscon.inc.php:210
|
1460 |
msgctxt "s2member-front"
|
1461 |
msgid "[%s] New User Registration"
|
1462 |
msgstr ""
|
1463 |
|
1464 |
+
#: s2member/includes/syscon.inc.php:211
|
1465 |
msgctxt "s2member-front"
|
1466 |
msgid ""
|
1467 |
"New User Registration on your site:\n"
|
1473 |
"IP Address: %%%%user_ip%%%%"
|
1474 |
msgstr ""
|
1475 |
|
1476 |
+
#: s2member/includes/syscon.inc.php:232 s2member-pro/includes/syscon.inc.php:94
|
1477 |
msgctxt "s2member-front"
|
1478 |
msgid "Congratulations! (your membership has been approved)"
|
1479 |
msgstr ""
|
1480 |
|
1481 |
+
#: s2member/includes/syscon.inc.php:233
|
1482 |
msgctxt "s2member-front"
|
1483 |
msgid ""
|
1484 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
1494 |
"%s"
|
1495 |
msgstr ""
|
1496 |
|
1497 |
+
#: s2member/includes/syscon.inc.php:236 s2member/includes/syscon.inc.php:240
|
1498 |
+
msgctxt "s2member-front"
|
1499 |
+
msgid "Thank you! Your account has been updated."
|
1500 |
+
msgstr ""
|
1501 |
+
|
1502 |
+
#: s2member/includes/syscon.inc.php:237 s2member/includes/syscon.inc.php:241
|
1503 |
+
msgctxt "s2member-front"
|
1504 |
+
msgid ""
|
1505 |
+
"Thanks %%%%first_name%%%%! Your account now has access to: %%%%item_name%%%%.\n"
|
1506 |
+
"\n"
|
1507 |
+
"If you have any trouble, please feel free to contact us.\n"
|
1508 |
+
"\n"
|
1509 |
+
"Best Regards,\n"
|
1510 |
+
"%s"
|
1511 |
+
msgstr ""
|
1512 |
+
|
1513 |
+
#: s2member/includes/syscon.inc.php:244 s2member-pro/includes/syscon.inc.php:98
|
1514 |
msgctxt "s2member-front"
|
1515 |
msgid "Thank You! (instructions for access)"
|
1516 |
msgstr ""
|
1517 |
|
1518 |
+
#: s2member/includes/syscon.inc.php:245
|
1519 |
msgctxt "s2member-front"
|
1520 |
msgid ""
|
1521 |
"Thanks %%%%first_name%%%%!\n"
|
1524 |
"\n"
|
1525 |
"Your order can be retrieved here:\n"
|
1526 |
"%%%%sp_access_url%%%%\n"
|
1527 |
+
"(link expires in %%%%sp_access_exp%%%%)\n"
|
1528 |
"\n"
|
1529 |
"If you have any trouble, please feel free to contact us.\n"
|
1530 |
"\n"
|
1532 |
"%s"
|
1533 |
msgstr ""
|
1534 |
|
1535 |
+
#: s2member/includes/syscon.inc.php:273
|
1536 |
msgctxt "s2member-front"
|
1537 |
msgid "Free Subscriber"
|
1538 |
msgstr ""
|
1539 |
|
1540 |
+
#: s2member/includes/syscon.inc.php:273
|
1541 |
msgctxt "s2member-front"
|
1542 |
msgid "Bronze Member"
|
1543 |
msgstr ""
|
1544 |
|
1545 |
+
#: s2member/includes/syscon.inc.php:273
|
1546 |
msgctxt "s2member-front"
|
1547 |
msgid "Silver Member"
|
1548 |
msgstr ""
|
1549 |
|
1550 |
+
#: s2member/includes/syscon.inc.php:273
|
1551 |
msgctxt "s2member-front"
|
1552 |
msgid "Gold Member"
|
1553 |
msgstr ""
|
1554 |
|
1555 |
+
#: s2member/includes/syscon.inc.php:273
|
1556 |
msgctxt "s2member-front"
|
1557 |
msgid "Platinum Member"
|
1558 |
msgstr ""
|
1559 |
|
1560 |
+
#: s2member/includes/syscon.inc.php:273
|
1561 |
msgctxt "s2member-front"
|
1562 |
msgid "Level %s Member"
|
1563 |
msgstr ""
|
1690 |
msgstr ""
|
1691 |
|
1692 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:7
|
|
|
1693 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:7
|
1694 |
msgctxt "s2member-admin"
|
1695 |
msgid "Daily (recurring charge, for ongoing access)"
|
1697 |
|
1698 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:8
|
1699 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:7
|
|
|
1700 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:7
|
1701 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:8
|
1702 |
msgctxt "s2member-admin"
|
1705 |
|
1706 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:9
|
1707 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:8
|
|
|
1708 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:8
|
1709 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:9
|
1710 |
msgctxt "s2member-admin"
|
1714 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:10
|
1715 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:9
|
1716 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:7
|
1717 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:7
|
1718 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:9
|
1719 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:10
|
1720 |
msgctxt "s2member-admin"
|
1724 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:11
|
1725 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:10
|
1726 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:8
|
|
|
1727 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:11
|
1728 |
msgctxt "s2member-admin"
|
1729 |
msgid "Bi-Monthly (recurring charge, for ongoing access)"
|
1732 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:12
|
1733 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:11
|
1734 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:9
|
|
|
1735 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:10
|
1736 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:12
|
1737 |
msgctxt "s2member-admin"
|
1748 |
|
1749 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:14
|
1750 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:13
|
|
|
1751 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:12
|
1752 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:14
|
1753 |
msgctxt "s2member-admin"
|
1755 |
msgstr ""
|
1756 |
|
1757 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:20
|
|
|
1758 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:18
|
1759 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:20
|
1760 |
msgctxt "s2member-admin"
|
1762 |
msgstr ""
|
1763 |
|
1764 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:21
|
|
|
1765 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:19
|
1766 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:21
|
1767 |
msgctxt "s2member-admin"
|
1769 |
msgstr ""
|
1770 |
|
1771 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:22
|
|
|
1772 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:20
|
1773 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:22
|
1774 |
msgctxt "s2member-admin"
|
1776 |
msgstr ""
|
1777 |
|
1778 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:23
|
|
|
1779 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:21
|
1780 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:23
|
1781 |
msgctxt "s2member-admin"
|
1783 |
msgstr ""
|
1784 |
|
1785 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:24
|
|
|
1786 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:22
|
1787 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:24
|
1788 |
msgctxt "s2member-admin"
|
1790 |
msgstr ""
|
1791 |
|
1792 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:25
|
|
|
1793 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:23
|
1794 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:25
|
1795 |
msgctxt "s2member-admin"
|
1798 |
|
1799 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:27
|
1800 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:19
|
|
|
1801 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:25
|
1802 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:27
|
1803 |
msgctxt "s2member-admin"
|
1806 |
|
1807 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:28
|
1808 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:20
|
|
|
1809 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:26
|
1810 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:28
|
1811 |
msgctxt "s2member-admin"
|
1814 |
|
1815 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:29
|
1816 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:21
|
|
|
1817 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:27
|
1818 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:29
|
1819 |
msgctxt "s2member-admin"
|
1822 |
|
1823 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:31
|
1824 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:23
|
1825 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:13
|
1826 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:29
|
1827 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:31
|
1828 |
msgctxt "s2member-admin"
|
1831 |
|
1832 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:32
|
1833 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:24
|
|
|
1834 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:30
|
1835 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:32
|
1836 |
msgctxt "s2member-admin"
|
1839 |
|
1840 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:33
|
1841 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:25
|
|
|
1842 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:31
|
1843 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:33
|
1844 |
msgctxt "s2member-admin"
|
1847 |
|
1848 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:34
|
1849 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:26
|
|
|
1850 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:32
|
1851 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:34
|
1852 |
msgctxt "s2member-admin"
|
1855 |
|
1856 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:35
|
1857 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:27
|
|
|
1858 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:33
|
1859 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:35
|
1860 |
msgctxt "s2member-admin"
|
1863 |
|
1864 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:36
|
1865 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:28
|
|
|
1866 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:34
|
1867 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:36
|
1868 |
msgctxt "s2member-admin"
|
1871 |
|
1872 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:38
|
1873 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:30
|
|
|
1874 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:36
|
1875 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:38
|
1876 |
msgctxt "s2member-admin"
|
1879 |
|
1880 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:44
|
1881 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:36
|
1882 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:19
|
1883 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:42
|
1884 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:44
|
1885 |
msgctxt "s2member-admin"
|
1889 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:45
|
1890 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:37
|
1891 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:15
|
1892 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:20
|
1893 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:43
|
1894 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:45
|
1895 |
msgctxt "s2member-admin"
|
1899 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:46
|
1900 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:38
|
1901 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:16
|
1902 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:21
|
1903 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:44
|
1904 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:46
|
1905 |
msgctxt "s2member-admin"
|
1909 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:47
|
1910 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:39
|
1911 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:17
|
1912 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:22
|
1913 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:45
|
1914 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:47
|
1915 |
msgctxt "s2member-admin"
|
1919 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:48
|
1920 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:40
|
1921 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:18
|
1922 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:23
|
1923 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:46
|
1924 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:48
|
1925 |
msgctxt "s2member-admin"
|
1929 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:49
|
1930 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:41
|
1931 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:19
|
1932 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:24
|
1933 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:47
|
1934 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:49
|
1935 |
msgctxt "s2member-admin"
|
1939 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:51
|
1940 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:43
|
1941 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:21
|
1942 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:26
|
1943 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:49
|
1944 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:51
|
1945 |
msgctxt "s2member-admin"
|
1949 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:52
|
1950 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:44
|
1951 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:22
|
1952 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:27
|
1953 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:50
|
1954 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:52
|
1955 |
msgctxt "s2member-admin"
|
1959 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:53
|
1960 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:45
|
1961 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:23
|
1962 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:28
|
1963 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:51
|
1964 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:53
|
1965 |
msgctxt "s2member-admin"
|
1969 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:55
|
1970 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:47
|
1971 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:25
|
1972 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:30
|
1973 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:53
|
1974 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:55
|
1975 |
msgctxt "s2member-admin"
|
1979 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:56
|
1980 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:48
|
1981 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:26
|
1982 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:31
|
1983 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:54
|
1984 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:56
|
1985 |
msgctxt "s2member-admin"
|
1989 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:57
|
1990 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:49
|
1991 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:27
|
1992 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:32
|
1993 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:55
|
1994 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:57
|
1995 |
msgctxt "s2member-admin"
|
1999 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:58
|
2000 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:50
|
2001 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:28
|
2002 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:33
|
2003 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:56
|
2004 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:58
|
2005 |
msgctxt "s2member-admin"
|
2009 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:59
|
2010 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:51
|
2011 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:29
|
2012 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:34
|
2013 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:57
|
2014 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:59
|
2015 |
msgctxt "s2member-admin"
|
2019 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:60
|
2020 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:52
|
2021 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:30
|
2022 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:35
|
2023 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:58
|
2024 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:60
|
2025 |
msgctxt "s2member-admin"
|
2029 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:62
|
2030 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:54
|
2031 |
#: s2member-pro/includes/templates/options/ccbill-membership-regular-terms.php:32
|
2032 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:37
|
2033 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:60
|
2034 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:62
|
2035 |
msgctxt "s2member-admin"
|
2038 |
|
2039 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:63
|
2040 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:55
|
2041 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:38
|
2042 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:61
|
2043 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:63
|
2044 |
msgctxt "s2member-admin"
|
2047 |
|
2048 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:64
|
2049 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:56
|
2050 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:39
|
2051 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:62
|
2052 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:64
|
2053 |
msgctxt "s2member-admin"
|
2056 |
|
2057 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:65
|
2058 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:57
|
2059 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:40
|
2060 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:63
|
2061 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:65
|
2062 |
msgctxt "s2member-admin"
|
2065 |
|
2066 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:66
|
2067 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:58
|
2068 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:41
|
2069 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:64
|
2070 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:66
|
2071 |
msgctxt "s2member-admin"
|
2074 |
|
2075 |
#: s2member/includes/templates/options/paypal-membership-regular-terms.php:68
|
2076 |
#: s2member-pro/includes/templates/options/authnet-membership-regular-terms.php:60
|
2077 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:43
|
2078 |
#: s2member-pro/includes/templates/options/payflow-membership-regular-terms.php:66
|
2079 |
#: s2member-pro/includes/templates/options/paypal-membership-regular-terms.php:68
|
2080 |
msgctxt "s2member-admin"
|
2384 |
#: s2member/includes/templates/options/paypal-sp-hours.php:47
|
2385 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:47
|
2386 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:47
|
2387 |
+
#: s2member-pro/includes/templates/options/ccbill-sp-hours.php:35
|
2388 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:47
|
2389 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:47
|
2390 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:47
|
2395 |
#: s2member/includes/templates/options/paypal-sp-hours.php:48
|
2396 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:48
|
2397 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:48
|
2398 |
+
#: s2member-pro/includes/templates/options/ccbill-sp-hours.php:36
|
2399 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:48
|
2400 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:48
|
2401 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:48
|
2406 |
#: s2member/includes/templates/options/paypal-sp-hours.php:49
|
2407 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:49
|
2408 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:49
|
2409 |
+
#: s2member-pro/includes/templates/options/ccbill-sp-hours.php:37
|
2410 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:49
|
2411 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:49
|
2412 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:49
|
2417 |
#: s2member/includes/templates/options/paypal-sp-hours.php:50
|
2418 |
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:50
|
2419 |
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:50
|
2420 |
+
#: s2member-pro/includes/templates/options/ccbill-sp-hours.php:38
|
2421 |
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:50
|
2422 |
#: s2member-pro/includes/templates/options/google-sp-hours.php:50
|
2423 |
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:50
|
2425 |
msgid "Buy Now (Specific Post/Page, link valid for 5 years)"
|
2426 |
msgstr ""
|
2427 |
|
2428 |
+
#: s2member/includes/templates/options/paypal-sp-hours.php:51
|
2429 |
+
#: s2member-pro/includes/templates/options/alipay-sp-hours.php:51
|
2430 |
+
#: s2member-pro/includes/templates/options/authnet-sp-hours.php:51
|
2431 |
+
#: s2member-pro/includes/templates/options/ccbill-sp-hours.php:39
|
2432 |
+
#: s2member-pro/includes/templates/options/clickbank-sp-hours.php:51
|
2433 |
+
#: s2member-pro/includes/templates/options/google-sp-hours.php:51
|
2434 |
+
#: s2member-pro/includes/templates/options/paypal-sp-hours.php:51
|
2435 |
+
msgctxt "s2member-admin"
|
2436 |
+
msgid "Buy Now (Specific Post/Page, link valid for 50 years)"
|
2437 |
+
msgstr ""
|
2438 |
+
|
2439 |
#: s2member-pro/includes/classes/gateways/alipay/alipay-return-in.inc.php:117
|
2440 |
msgctxt "s2member-front"
|
2441 |
msgid ""
|
2551 |
msgid "<strong>Unknown error.</strong> Please contact Support for assistance."
|
2552 |
msgstr ""
|
2553 |
|
2554 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:162
|
2555 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:271
|
2556 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:417
|
2557 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:555
|
2558 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:764
|
2559 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:167
|
2560 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:276
|
2561 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:423
|
2562 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:561
|
2563 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:772
|
2564 |
msgctxt "s2member-front"
|
2565 |
msgid "Security Code"
|
2566 |
msgstr ""
|
2567 |
|
2568 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:238
|
2569 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:731
|
2570 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:244
|
2571 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:740
|
2572 |
msgctxt "s2member-front"
|
2573 |
msgid "Additional Info"
|
2574 |
msgstr ""
|
2575 |
|
2576 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:372
|
2577 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:510
|
2578 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:683
|
2579 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
2580 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
2581 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
2582 |
msgctxt "s2member-front"
|
2583 |
msgid "Visa"
|
2584 |
msgstr ""
|
2585 |
|
2586 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:372
|
2587 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:510
|
2588 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:683
|
2589 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
2590 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
2591 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
2592 |
msgctxt "s2member-front"
|
2593 |
msgid "MasterCard"
|
2594 |
msgstr ""
|
2595 |
|
2596 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:372
|
2597 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:510
|
2598 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:683
|
2599 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
2600 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
2601 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
2602 |
msgctxt "s2member-front"
|
2603 |
msgid "Discover"
|
2604 |
msgstr ""
|
2605 |
|
2606 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:372
|
2607 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:510
|
2608 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:683
|
2609 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
2610 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
2611 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
2612 |
msgctxt "s2member-front"
|
2613 |
msgid "American Express"
|
2614 |
msgstr ""
|
2615 |
|
2616 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2617 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2618 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2619 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2620 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2621 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2622 |
msgctxt "s2member-front"
|
2623 |
msgid "01 January"
|
2624 |
msgstr ""
|
2625 |
|
2626 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2627 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2628 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2629 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2630 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2631 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2632 |
msgctxt "s2member-front"
|
2633 |
msgid "02 February"
|
2634 |
msgstr ""
|
2635 |
|
2636 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2637 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2638 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2639 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2640 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2641 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2642 |
msgctxt "s2member-front"
|
2643 |
msgid "03 March"
|
2644 |
msgstr ""
|
2645 |
|
2646 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2647 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2648 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2649 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2650 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2651 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2652 |
msgctxt "s2member-front"
|
2653 |
msgid "04 April"
|
2654 |
msgstr ""
|
2655 |
|
2656 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2657 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2658 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2659 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2660 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2661 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2662 |
msgctxt "s2member-front"
|
2663 |
msgid "05 May"
|
2664 |
msgstr ""
|
2665 |
|
2666 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2667 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2668 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2669 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2670 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2671 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2672 |
msgctxt "s2member-front"
|
2673 |
msgid "06 June"
|
2674 |
msgstr ""
|
2675 |
|
2676 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2677 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2678 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2679 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2680 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2681 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2682 |
msgctxt "s2member-front"
|
2683 |
msgid "07 July"
|
2684 |
msgstr ""
|
2685 |
|
2686 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2687 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2688 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2689 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2690 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2691 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2692 |
msgctxt "s2member-front"
|
2693 |
msgid "08 August"
|
2694 |
msgstr ""
|
2695 |
|
2696 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2697 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2698 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2699 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2700 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2701 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2702 |
msgctxt "s2member-front"
|
2703 |
msgid "09 September"
|
2704 |
msgstr ""
|
2705 |
|
2706 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2707 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2708 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2709 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2710 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2711 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2712 |
msgctxt "s2member-front"
|
2713 |
msgid "10 October"
|
2714 |
msgstr ""
|
2715 |
|
2716 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2717 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2718 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2719 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2720 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2721 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2722 |
msgctxt "s2member-front"
|
2723 |
msgid "11 November"
|
2724 |
msgstr ""
|
2725 |
|
2726 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:382
|
2727 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:520
|
2728 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-form-in.inc.php:693
|
2729 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:388
|
2730 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:526
|
2731 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:702
|
2732 |
msgctxt "s2member-front"
|
2733 |
msgid "12 December"
|
2734 |
msgstr ""
|
3634 |
msgid "<strong>Reminder:</strong> Purchases at this site will appear on your credit card or bank statement as: <code>ClickBank</code> or <code>CLKBANK*COM</code>."
|
3635 |
msgstr ""
|
3636 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
3637 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-cancellation-in.inc.php:123
|
3638 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:247
|
3639 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:263
|
3656 |
msgid "<strong>Sorry.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3657 |
msgstr ""
|
3658 |
|
3659 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
3660 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
3661 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
3662 |
msgctxt "s2member-front"
|
3663 |
msgid "Maestro"
|
3664 |
msgstr ""
|
3665 |
|
3666 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:378
|
3667 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
3668 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
3669 |
msgctxt "s2member-front"
|
3670 |
msgid "Solo"
|
3671 |
msgstr ""
|
3672 |
|
3673 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:516
|
3674 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:692
|
3675 |
msgctxt "s2member-front"
|
3676 |
msgid "PayPal"
|
3677 |
msgstr ""
|
3678 |
|
3679 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:607
|
3680 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-form-in.inc.php:819
|
3681 |
msgctxt "s2member-front"
|
3682 |
msgid "We Accept PayPal"
|
3683 |
msgstr ""
|
3934 |
msgid "Your Profile"
|
3935 |
msgstr ""
|
3936 |
|
3937 |
+
#: s2member-pro/includes/separates/gateways/google/google-min.js:1
|
3938 |
+
#: s2member-pro/includes/separates/gateways/google/google.js:49
|
3939 |
+
msgctxt "s2member-front"
|
3940 |
+
msgid "Thank you! Please check your email for further details."
|
3941 |
+
msgstr ""
|
3942 |
+
|
3943 |
#: s2member-pro/includes/separates/gateways/paypal/paypal-min.js:1
|
3944 |
#: s2member-pro/includes/separates/gateways/paypal/paypal.js:269
|
3945 |
#: s2member-pro/includes/separates/gateways/paypal/paypal.js:270
|
4547 |
msgstr ""
|
4548 |
|
4549 |
#: s2member-pro/includes/templates/options/google-membership-ccap-terms.php:6
|
4550 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:18
|
4551 |
msgctxt "s2member-admin"
|
4552 |
msgid "Google (Buy Now)"
|
4553 |
msgstr ""
|
4554 |
|
4555 |
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:6
|
4556 |
+
#: s2member-pro/includes/templates/options/google-membership-regular-terms.php:12
|
4557 |
msgctxt "s2member-admin"
|
4558 |
msgid "Google (Subscriptions)"
|
4559 |
msgstr ""
|
index.php
DELETED
File without changes
|
licensing/index.php
DELETED
File without changes
|
licensing/license.txt
CHANGED
@@ -1,46 +1,36 @@
|
|
1 |
-
Copyright: ©
|
2 |
-
<mailto:support@websharks-inc.com> <http://www.websharks-inc.com/>
|
3 |
|
4 |
-
Released under the terms of the GNU General Public License.
|
5 |
-
<http://www.gnu.org/licenses/> - attached as [gpl.txt].
|
6 |
|
7 |
-
Credits / Additional Acknowledgments
|
8 |
|
9 |
* Software designed for WordPress®.
|
10 |
- GPL License <http://codex.wordpress.org/GPL>
|
11 |
- WordPress® <http://wordpress.org>
|
12 |
-
|
13 |
* JavaScript extensions require jQuery.
|
14 |
- GPL License <http://jquery.org/license>
|
15 |
- jQuery <http://jquery.com/>
|
16 |
-
|
17 |
* Readme parsing routines, powered (in part) by PHP Markdown.
|
18 |
- BSD / GPL Compatible License <http://michelf.com/projects/php-markdown/license/>
|
19 |
- PHP Markdown <http://michelf.com/projects/php-markdown/>
|
20 |
-
|
21 |
* Administration panel (tools icon) was provided by Everaldo.com.
|
22 |
- LGPL License <http://www.everaldo.com/crystal/?action=license>
|
23 |
- Everaldo <http://www.everaldo.com/crystal/?action=downloads>
|
24 |
-
|
25 |
* Administration panel (videos icon) was provided by David Vignoni.
|
26 |
- LGPL License <http://www.iconfinder.com/search/?q=iconset%3Anuvola2>
|
27 |
- David Vignoni <http://www.icon-king.com/>
|
28 |
-
|
29 |
* PayPal® and its associated API, buttons & services have been integrated into this software via external hyperlinks.
|
30 |
The files/services provided by PayPal® are not distributed with this software. They have their own terms & conditions.
|
31 |
- PayPal®, a 3rd party service, is powered by eBay, Inc. <http://www.paypal.com/>
|
32 |
- PayPal® is a trademark of eBay, Inc. <http://www.ebay.com/>
|
33 |
-
|
34 |
* The W3C® and its associated validator & services have been integrated into this software via external hyperlinks.
|
35 |
The files/services provided by the W3C® are not distributed with this software. They have their own terms & conditions.
|
36 |
- The W3C®, a 3rd party service, is powered by the World Wide Web Consortium <http://validator.w3.org/>
|
37 |
- W3C® is a trademark of the World Wide Web Consortium. <http://www.w3.org/>
|
38 |
-
|
39 |
* The MailChimp® services have been integrated into this software through a GPL compatible API & hyperlinks.
|
40 |
The services provided by MailChimp® are not distributed with this software. They have their own terms & conditions.
|
41 |
- MailChimp®, a 3rd party service, is powered by The Rocket Science Group, LLC <http://www.mailchimp.com/>
|
42 |
- MailChimp® is a trademark of The Rocket Science Group, LLC. <http://www.mailchimp.com/terms-policies/terms-of-use/>
|
43 |
-
|
44 |
* The AWeber® services have been integrated into this software through hyperlinks & email commands.
|
45 |
The services provided by AWeber® are not distributed with this software. They have their own terms & conditions.
|
46 |
- AWeber®, a 3rd party service, is powered by AWeber Communications <http://www.aweber.com/about.htm>
|
1 |
+
Copyright: © 2013 [WebSharks, Inc.](http://www.websharks-inc.com/bizdev/) (coded in the USA)
|
|
|
2 |
|
3 |
+
Released under the terms of the [GNU General Public License](http://www.gnu.org/licenses/gpl-2.0.html).
|
|
|
4 |
|
5 |
+
= Credits / Additional Acknowledgments =
|
6 |
|
7 |
* Software designed for WordPress®.
|
8 |
- GPL License <http://codex.wordpress.org/GPL>
|
9 |
- WordPress® <http://wordpress.org>
|
|
|
10 |
* JavaScript extensions require jQuery.
|
11 |
- GPL License <http://jquery.org/license>
|
12 |
- jQuery <http://jquery.com/>
|
|
|
13 |
* Readme parsing routines, powered (in part) by PHP Markdown.
|
14 |
- BSD / GPL Compatible License <http://michelf.com/projects/php-markdown/license/>
|
15 |
- PHP Markdown <http://michelf.com/projects/php-markdown/>
|
|
|
16 |
* Administration panel (tools icon) was provided by Everaldo.com.
|
17 |
- LGPL License <http://www.everaldo.com/crystal/?action=license>
|
18 |
- Everaldo <http://www.everaldo.com/crystal/?action=downloads>
|
|
|
19 |
* Administration panel (videos icon) was provided by David Vignoni.
|
20 |
- LGPL License <http://www.iconfinder.com/search/?q=iconset%3Anuvola2>
|
21 |
- David Vignoni <http://www.icon-king.com/>
|
|
|
22 |
* PayPal® and its associated API, buttons & services have been integrated into this software via external hyperlinks.
|
23 |
The files/services provided by PayPal® are not distributed with this software. They have their own terms & conditions.
|
24 |
- PayPal®, a 3rd party service, is powered by eBay, Inc. <http://www.paypal.com/>
|
25 |
- PayPal® is a trademark of eBay, Inc. <http://www.ebay.com/>
|
|
|
26 |
* The W3C® and its associated validator & services have been integrated into this software via external hyperlinks.
|
27 |
The files/services provided by the W3C® are not distributed with this software. They have their own terms & conditions.
|
28 |
- The W3C®, a 3rd party service, is powered by the World Wide Web Consortium <http://validator.w3.org/>
|
29 |
- W3C® is a trademark of the World Wide Web Consortium. <http://www.w3.org/>
|
|
|
30 |
* The MailChimp® services have been integrated into this software through a GPL compatible API & hyperlinks.
|
31 |
The services provided by MailChimp® are not distributed with this software. They have their own terms & conditions.
|
32 |
- MailChimp®, a 3rd party service, is powered by The Rocket Science Group, LLC <http://www.mailchimp.com/>
|
33 |
- MailChimp® is a trademark of The Rocket Science Group, LLC. <http://www.mailchimp.com/terms-policies/terms-of-use/>
|
|
|
34 |
* The AWeber® services have been integrated into this software through hyperlinks & email commands.
|
35 |
The services provided by AWeber® are not distributed with this software. They have their own terms & conditions.
|
36 |
- AWeber®, a 3rd party service, is powered by AWeber Communications <http://www.aweber.com/about.htm>
|
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
|
@@ -44,23 +44,10 @@ PayPal Pro Integration: http://www.s2member.com/videos/ED70D90C6749DA3D/
|
|
44 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
45 |
|
46 |
Description: s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
47 |
-
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
|
48 |
|
49 |
s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
50 |
|
51 |
-
== Installation ==
|
52 |
-
|
53 |
-
= s2Member® is very easy to install (instructions) =
|
54 |
-
1. Upload the `/s2member` folder to your `/wp-content/plugins/` directory.
|
55 |
-
2. Activate the plugin through the `Plugins` menu in WordPress®.
|
56 |
-
3. Navigate to the `s2Member® Options` panel for configuration details.
|
57 |
-
|
58 |
-
= See Also (s2Member.com) =
|
59 |
-
[Detailed installation/upgrade instructions](http://www.s2member.com/framework/#!s2_tab_jump=s2-framework-install-update).
|
60 |
-
|
61 |
-
= Is s2Member compatible with Multisite Networking? =
|
62 |
-
Yes. s2Member and s2Member Pro, are also both compatible with Multisite Networking. After you enable Multisite Networking, install the s2Member plugin. Then navigate to `s2Member -› Multisite (Config)` in the Dashboard on your Main Site.
|
63 |
-
|
64 |
== Description ==
|
65 |
|
66 |
[youtube http://www.youtube.com/watch?v=2C3Lan7vxw0 /]
|
@@ -73,6 +60,22 @@ s2Member allows you to protect Pages, Posts, Tags, Categories, URIs, URI word fr
|
|
73 |
|
74 |
You can learn more about s2Member® at [s2Member.com](http://www.s2member.com/).
|
75 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
76 |
== Screenshots ==
|
77 |
|
78 |
1. s2Member Screenshot #1
|
@@ -85,24 +88,88 @@ You can learn more about s2Member® at [s2Member.com](http://www.s2member.com/).
|
|
85 |
|
86 |
== Frequently Asked Questions ==
|
87 |
|
88 |
-
= Please
|
89 |
-
|
90 |
-
*
|
91 |
-
*
|
92 |
-
*
|
93 |
-
*
|
|
|
94 |
|
95 |
= Translating s2Member® =
|
|
|
96 |
Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
97 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
98 |
== Upgrade Notice ==
|
99 |
|
100 |
-
=
|
|
|
101 |
(Maintenance Release) Upgrade immediately.
|
102 |
|
103 |
== Changelog ==
|
104 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
= v131109 =
|
|
|
106 |
* (s2Member/s2Member Pro) **UI Makeover** This release of s2Member upgrades all administrative UI panels.
|
107 |
* (s2Member/s2Member Pro) **Compatibility** Updating s2Member for compatibility with the coming release of both Quick Cache LITE and Quick Cache Pro for WordPress. These are not available publicly yet, but they are expected for release very soon. This release of s2Member is compatible with both the current and future releases of Quick Cache for WordPress.
|
108 |
* (s2Member/s2Member Pro) **Improvement (Speed)** Lazy load s2Member's JS file at all times. Done, this release will speed your site up for first-time visitors.
|
@@ -114,10 +181,12 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
114 |
* (s2Member Pro) **Checkout Options** Improving support for multiple Checkout Options. When a customer changes to a new Checkout Option by selecting an option from the drop-down menu in a Pro Form; this action will now result in a hash jump back to the location of the Pro Form on any given page; instead of to the top of the page, which could potentially result in a confusing experience on some sites (depending on the implementation). Aside: for developers, it's helpful to know that all s2Member Pro Forms now have a hashable ID `#s2p-form` that is cleaner than the longer (product-specific) IDs associated with Pro Forms; e.g. `s2member-pro-paypal-form...`, etc. If you need to hash a Pro Form, please use the more general `#s2p-form` on the end of a URL. This will take a customer directly to that Pro Form in the context of any given page.
|
115 |
|
116 |
= v131026 =
|
|
|
117 |
* (s2Member) **WordPress v3.7 Compatibility** s2Member further updated to support subtle changes in the WordPress v3.7 `wp-login.php` file. This release corrects a minor issue w/ patches applied by s2Member when running in a Multisite Network environment. If you are running s2Member on a Multisite Network, please be sure to run the automatic patcher provided in your Dashboard against WordPress v3.7 after updating to this release of s2Member.
|
118 |
* (s2Member Pro) **PayPal Central IPN** Updating the example file: `s2m-pro-extras/paypal-central-ipn.php` to use one of the latest PayPal IP addresses listed [here](https://ppmts.custhelp.com/app/answers/detail/a_id/92).
|
119 |
|
120 |
= v131025 =
|
|
|
121 |
* (s2Member) **WordPress v3.7 Compatibility** s2Member updated to support WordPress v3.7. s2Member remains compatible with WP v3.3 (or higher).
|
122 |
* (s2Member Pro) **New Feature: Simultaneous Login Monitoring** Available only w/ s2Member Pro. s2Member Pro has been updated to support configurations that limit the number of simultaneous logins a single username can receive. For further details, please see: `Dashboard -› s2Member -› Restriction Options -› Simultaneous Login Restrictions` (when s2Member Pro is installed).
|
123 |
* (s2Member) **Post Restrictions (#3)** Adding support for `all-[post type]` in addition to the existing `all-[post type]s` (plural) currently supported by s2Member's Restriction Options for Posts. This makes it possible for a site owner to type only the Post Type after the keyword prefix `all-`; and excluding the plural `s` in cases when this is necessary.
|
@@ -136,6 +205,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
136 |
* (s2Member) **See also: s2Member Repo** https://github.com/WebSharks/s2Member/commits/000000-dev
|
137 |
|
138 |
= v130816 =
|
|
|
139 |
* (s2Member Pro) **Compatibility, ClickBank (#467)** Improving support for ClickBank PitchPlus Upsell Flows. Please see [this thread](http://www.s2member.com/forums/topic/clickbank-buttons-not-working/#post-55725) for further details.
|
140 |
* (s2Member/s2Member Pro) **User Search on Multisite Networks (#468)** User search functionality was partially broken for Child Blogs in a Multisite Network after some improvements were implemented in s2Member® v130731. The issue has now been corrected in this release for Multisite Networks. For further details, please see [this thread](http://www.s2member.com/forums/topic/user-search-no-longer-working/#post-55778).
|
141 |
* (s2Member/s2Member Pro) **Z-Index in Menu Pages (#461)** Stacking order against a WordPress® installation running a Dashboard with a collapsed sidebar menu (left side) was causing some UI problems. Fixed in this release.
|
@@ -144,13 +214,16 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
144 |
* (s2Member/s2Member Pro) **Videos (#467)** Updating internal documentation found in `Dashboard -› s2Member® -› Quick-Start`. Specifically, the video player here was integrated with an older version of the YouTube® API and was not working properly. Fixed in this release.
|
145 |
|
146 |
= v130802 =
|
|
|
147 |
* (s2Member Pro) **Compatibility, WordPress® v3.6** Updating s2Member® Pro Form templates and their underlying CSS. This update improves their appearance against the Twenty Thirteen theme that comes with WordPress® v3.6. Specifically, some of the Pro Form buttons were a little out of place in this new default theme. Fixed in this release.
|
148 |
* (s2Member Pro) **Compatibility, Checkout Options (#443)** Revision 3. Updating this feature to support a wider variety of WordPress® configurations and content filters. This update also resolves an empty `desc=""` attribute error reported by some site owners. Feature description... It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
149 |
|
150 |
= v130801 =
|
|
|
151 |
* (s2Member Pro) **New Feature; Checkout Options (#403)** Revision 2. Updating documentation on this new feature to prevent conufusion for site owners. s2Member® Pro now supports "Checkout Options". It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
152 |
|
153 |
= v130731 =
|
|
|
154 |
* (s2Member Pro) **New Feature; Checkout Options (#403)** s2Member® Pro now supports "Checkout Options". It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
155 |
* (s2Member Pro) **Free Checkout (#403)** It is now possible to offer a 100% free checkout experience using any of s2Member's Pro Form Shortcodes. In previous releases of s2Member® it was not possible to set the `ra=""` Attribute to a zero dollar amount. Now it is! This works for PayPal® Pro Forms, and also for Authorize.Net Pro Forms.
|
156 |
* (s2Member Pro) **100% Off Coupons (#403)** It is now possible to offer a 100% off coupon. This works for PayPal® Pro Forms, and also for Authorize.Net Pro Forms. See: `s2Member® -› Pro Coupon Codes` for details and examples.
|
@@ -164,6 +237,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
164 |
* (s2Member/s2Member Pro) **Bug Fix (#418)** Fixed incorrect result totals under some rare scenarios in user search results.
|
165 |
|
166 |
= v130617 =
|
|
|
167 |
* (s2Member/s2Member Pro) **IP Restrictions (#148)** It is now possible to introduce a custom template file that controls the error message displayed when/if a user breaches security by exceeding your maximum unique IP addresses; as configured under `s2Member -› Restriction Options -› Unique IP Restrictions`. If you would like to use a custom template for this message, please copy the default template file from `/s2member/includes/templates/errors/ip-restrictions.php` and place this file into your active WordPress® theme directory (or into the `/wp-content/` directory if you prefer). s2Member will automatically find your custom template in one of these locations; and s2Member will use your custom template instead of the built-in default.
|
168 |
* (s2Member Pro) **Bug Fix (#302)** Updating Authorize.Net Pro Form Generator to support max days of `365` instead of `7`.
|
169 |
* (s2Member Pro) **Amazon S3 Secret Access Keys (#321)** Updating UI configuration panel to better explain what a Secret Access Key is; and adding a note about Secret Access Keys for Amazon S3 integration. Amazon® is deprecating Secret Access Keys, but they ARE still required for digitally signed URLs. This update changes nothing in s2Member's functionality. It simply adds some additional detail to a configuration field that will assist site owners integrating s2Member w/ Amazon S3 for the first time.
|
@@ -173,6 +247,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
173 |
* (s2Member Pro) **PayPal Pro Forms (#312)** Preventing the use of multiple Pro Forms in the same Post/Page. This has never been possible, it is known to break the functionality of s2Member Pro Forms. Please limit Pro Form Shortcodes to ONE for each Post/Page; and do NOT attempt to use more than one Pro Form Shortcode on the same Post/Page (at the same time). In this release we have added a friendly JavaScript alert/warning for site owners that attempt this, so that problems and confusion can be avoided in this unlikely scenario.
|
174 |
|
175 |
= v130513 =
|
|
|
176 |
* (s2Member/s2Member Pro) **s2Stream Shortcode Bug Fix (#256)** Fixing a bug first introduced in the previous release where we added support for `player_aspectratio`. This quick update corrects the PHP parse error at line #154 of `sc-files-in.inc.php`. It also corrects the behavior of the `player_height=""` and `player_aspectratio=""` Shortcode Attributes for the `s2Stream` Shortcode. Many thanks to everyone that reported this bug.
|
177 |
* (s2Member Pro) **Codestyling Localization** Removing symlink creator for Codestyleing Localization compatibility. There have been some reports of problems during WordPress® automatic upgrades (when/if the symlink exists). Until we can find a way to avoid this, we're disabling the automatic symlink generator. If you're running the Codestyling Localization plugin together with s2Member Pro, you will need to create the symlink yourself if you want to make s2Member fully compatible. Please create a symlink here: `/wp-content/plugins/s2member/s2member-pro` that points to the s2Member Pro directory: `/wp-content/plugins/s2member-pro`. See notes in previous changelog for further details on this.
|
178 |
|
@@ -185,8 +260,8 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
185 |
|
186 |
2. Now, please follow the [instructions here](http://www.s2member.com/pro/#!s2_tab_jump=s2-pro-install-update) to upgrade s2Member® Pro manually.
|
187 |
|
188 |
-
|
189 |
= v130510 =
|
|
|
190 |
* (s2Member Pro) **Authorize.Net UK (and Other Currencies) (#104)** Adding support for Authorize.Net UK and other currencies too. s2Member Pro now officially supports Authorize.Net UK Edition. It is now possible to change your Authorize.Net Pro Form Shortcode Attribute `cc="USD"` to one of these values: `cc="USD"`, or `cc="CAD"` or `cc="EUR"` or `cc="GBP"`. For further details, please see: `Dashboard -› Authorize.Net Pro Forms -› Shortcode Attributes (Explained)`.
|
191 |
* (s2Member Pro) **ClickBank Skins (#227)** Adding support for the `cbskin=""` Shortcode Attribute. For further details, please see: `Dashboard -› ClickBank Buttons -› Shortcode Attributes (Explained)`.
|
192 |
* (s2Member Pro) **ClickBank PitchPlus Upsell Flows (#227)** Adding support for ClickBank PitchPlus Upsell Flows via new Shortcode Attributes: `cbfid=""`, `cbur=""`, `cbf="auto"`. s2Member Pro now officially supports ClickBank PitchPlus Upsell Flows. We support PitchPlus Basic and PitchPlus Advanced too. For further details, please see: `Dashboard -› ClickBank Buttons -› Shortcode Attributes (Explained)`.
|
@@ -216,12 +291,14 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
216 |
* (s2Member Pro) **Username Validation (#246)** Now forcing user input (during Pro Form registration) to lowercase on Multisite Networks to prevent unnecessary validation errors during checkout (saving a customer time). Also, s2Member now validates a customer's Username before it is passed through `sanitize_user()` (a core WordPress® function). This prevents confusion for a customer where certain characters were stripped out automatically, causing them problems when attempting to log in for the first time (e.g. the customer thinks their Username is `john~doe`; when it is actually `johndoe` because WordPress (when running a Multisite Network) removes anything that is NOT `a-z0-9 _.-@` (and s2Member removes whitespace as well).
|
217 |
|
218 |
= v130406 =
|
|
|
219 |
* (s2Member/s2Member Pro) **Multisite Networks (#145)** Bug fix on Multisite Networks related to User deletions and subsequent logins on child blogs. For further details, please see [this thread](http://www.s2member.com/forums/topic/deleted-users-can-log-in/#post-46738).
|
220 |
* (s2Member Pro) **New Feature (#59)** It is now possible to Edit a User in the Dashboard and check a box to have the User's password reset, and an email message sent automatically to the User/Member with a copy of the Username/Password. This requires s2Member® Pro.
|
221 |
* (s2Member Pro) **API Functions (#158)** New PayPal® Pro API Functions (`s2member_pro_paypal_rbp_for_user`, `s2member_pro_paypal_rbp_times_for_user`). These are for developers. For further details, please see [this article](http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/) in the s2Member® Codex.
|
222 |
* (s2Member Pro) **API Functions (#158)** New PayPal® Pro (PayFlow® Edition) API Functions (`s2member_pro_payflow_rbp_for_user`, `s2member_pro_payflow_rbp_times_for_user`). These are for developers. For further details, please see [this article](http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/) in the s2Member® Codex.
|
223 |
|
224 |
= v130404 =
|
|
|
225 |
* (s2Member Pro) **Compatibility (#108)** Updating s2Member® Pro's integration with Authorize.Net to allow charges up to `$99,999.00` (formerly `$10,000.00`).
|
226 |
* (s2Member/s2Member Pro) **User Searches (#91)** Updating `pre_user_query` filter to include `first_name/last_name` (instead of only the `display_name`).
|
227 |
* (s2Member/s2Member Pro) **bbPress Integration (#88)** Updating bbPress Role/Cap filter to exclude itself during bbPress deactivation. This was causing a loss of the `read` Capability inadvertently.
|
@@ -233,10 +310,12 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
233 |
* (s2Member/s2Member Pro) **JW Player (#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%"`.
|
234 |
|
235 |
= v130221 =
|
|
|
236 |
* (s2Member/s2Member Pro) **Bug Fix (#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.
|
237 |
* (s2Member/s2Member Pro) **Bug Fix (#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.
|
238 |
|
239 |
= v130220 =
|
|
|
240 |
* (s2Member Pro) **Feature Enhancement/User Exportation (#33)** Adding support for UTF-8 BOM in CSV User export files. Now a configurable option during User/Member Exportation.
|
241 |
* (s2Member/s2Member Pro) **Feature Enhancement/Emails (#21)** Adding additional Replacement Codes for New User Email Notifications (for both the User/Member Notification and also for the Administrator Notification). The following Replacement Codes are now possible: `%%role%%`, `%%label%%`, `%%level%%`, `%%ccaps%%`. Also adding four new Filters for developers. These include: `ws_plugin__s2member_welcome_email_sbj`, `ws_plugin__s2member_welcome_email_msg`, `ws_plugin__s2member_admin_new_user_email_sbj`, `ws_plugin__s2member_admin_new_user_email_msg`. See `Dashboard -› General Options -› Email Configuration` for further details.
|
242 |
* (s2Member/s2Member Pro) **Feature Enhancement/Emails (#30)** Adding support for PHP tags in the following emails: New User Notification, Administrative New User Notification, Signup Confirmation Email, Specific Post/Page Confirmation Email. See the relevant sections in your Dashboard for further details. Such as: `s2Member® -› General Options -› Email Configuration` and `s2Member® -› PayPal® Options -› Signup Confirmation Email`.
|
@@ -248,6 +327,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
248 |
* (s2Member/s2Member Pro) **Feature Enhancement/s2Stream Shortcode (#32)** Adding additional support for JW Player™ Captions, Titles, Descriptions, and Media IDs (i.e. `player_title=""`, `player_description=""`, `player_mediaid=""`, `player_captions=""`). Please check the Shortcode Attributes tab in [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/#using-s2stream-shortcodes) for further details.
|
249 |
|
250 |
= v130214 =
|
|
|
251 |
* **(Maintenance Release) Upgrade immediately.**
|
252 |
* (s2Member/s2Member Pro) **Log Viewer (#16)** Additional log file descriptions have been added to the Dashboard, along with some other UI enhancements in this section.
|
253 |
* (s2Member/s2Member Pro) **Bug Fix (#18)** Usernames consisting of all numeric values were not always being redirected to the Login Welcome Page upon logging in, even when s2Member® was configured to do so. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/subscribers-not-taken-to-welcome-page/page/2/#post-41663).
|
@@ -258,6 +338,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
258 |
* (s2Member/s2Member Pro) **Compatibility** Bumping minimum WordPress® requirement from v3.2 up to v3.3. Starting with this release, s2Member® is no longer compatible with the much older WordPress® v3.2.
|
259 |
|
260 |
= v130213 =
|
|
|
261 |
* **(Maintenance Release) Upgrade immediately.**
|
262 |
* (s2Member Pro) **Compatibility (#13)** PayPal® Payments Pro, PayPal® Payments Pro (Payflow Edition), and Authorize.Net. s2Member® Pro now supports a recurring interval of Semi-Yearly (e.g. charges occur every six months). This has always been possible by manipulating Shortcode Attribues, but it's now officially supported by Pro Form Generators in your Dashboard — which come with s2Member® Pro.
|
263 |
* (s2Member Pro) **Compatibility (#13)** ClickBank® Recurring Products. ClickBank® has started allowing a Weekly recurring interval and stopped allowing Yearly. s2Member® has been updated in this release to support a Weekly recurring interval with ClickBank®; and to remove the Yearly option in the ClickBank® Button Generator.
|
@@ -294,6 +375,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
294 |
* (s2Member/s2Member Pro) **Compatibility** Updated all of s2Member's IPN handlers to accept `$_REQUEST` data for Proxy-related variables like `s2member_paypal_proxy_return_url`. This allows s2Member® itself to use `$_POST` variables for Proxy-related variables; and it further reduces the likelihood of 403 Forbidden errors caused by [paranoid Mod Security configurations](http://www.s2member.com/kb/mod-security-random-503-403-errors/). One issue this should help to correct, is a mysterious case where a `success=""` Shortcode Attribute is not working as you might expect. This can be caused by [paranoid Mod Security configurations](http://www.s2member.com/kb/mod-security-random-503-403-errors/) at places like HostGator®, because a URL is passing through a query string. This release will help to prevent this from becoming a problem, because `success=""` URLs will be passed through `$_POST` variables now in all Pro Form integrations.
|
295 |
|
296 |
= v130207 =
|
|
|
297 |
* **(Maintenance Release) Upgrade immediately.**
|
298 |
* (s2Member Pro) **Bug Fix (#2)** Modification Tracking Codes not working properly under s2Member's Authorize.Net integration. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/shareasale-integration-not-working/#post-40954).
|
299 |
* (s2Member) **Compatibility (#4)** PayPal® integrated into a site charging in the JPY currency was incorrectly limited to an amount of 10000.00. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/default-currency-can-i-change-it-to-yen/#post-40590).
|
@@ -302,6 +384,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
302 |
* (s2Member/s2Member Pro) **Compatibility (#6)** s2Member® File Downloads (audio/video files) with spaces in a file name were not always being handled properly. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/jwplayer-filename-bug/#post-40799).
|
303 |
|
304 |
= v130203 =
|
|
|
305 |
* **(New Release) Please read this changelog for important details.**
|
306 |
* (s2Member Pro) **Remote Ops API (`create_user`)** s2Member® Pro's Remote Operations API, for the `create_user` Operation has been updated to support a new specification: `modify_if_login_exists`. For further details, please check your s2Member® Pro Dashboard here: `s2Member® -› API / Scripting -› Remote Operations API`.
|
307 |
* (s2Member Pro) **Remote Ops API (`modify_user`,`delete_user`)** s2Member® Pro's Remote Operations API has been updated to support two additional Operations: `update_user` and `delete_user`. For further details on these new Operations, please check your s2Member® Pro Dashboard here: `s2Member® -› API / Scripting -› Remote Operations API`.
|
@@ -312,6 +395,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
312 |
* (s2Member Pro) **User Importation (#89)** s2Member® Pro's User/Member Import format changed in this release (with respect to Custom Registration/Profile Fields only). If you are importing Custom Registration/Profile Fields, please review [this KB article](http://www.s2member.com/kb/importing-updating-users/#custom-registration-profile-fields) before you import new Users/Members or mass update any existing Users/Members. ALSO NOTE: User/Member CSV Export Files generated by previous versions of s2Member® Pro (if they contained any Custom Registration/Profile Fields) will NOT be compatible with this latest release (e.g. you should NOT attempt to re-import those old files in an effort to mass update existing Users/Members). Please generate a new User/Member CSV Export File in the latest release of s2Member® Pro before attempting to edit and/or mass update existing Users/Members with applications like MS Excel or OpenOffice.
|
313 |
|
314 |
= v130123 =
|
|
|
315 |
* **(Maintenance Release) Upgrade immediately.**
|
316 |
* (s2Member/s2Member Pro) **s2Stream Shortcode (#78)** s2Member® now supports JW Player® license keys using Shortcode Attribute `player_key=""`. See [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/) please. Also discussed in [this thread](http://www.s2member.com/forums/topic/new-jw-player-6-s2-video-audio-shortcodes/#post-38768).
|
317 |
* (s2Member/s2Member Pro) **s2Stream Shortcode (#79)** s2Member® now supports JW Player® [Advanced Option Blocks](http://www.longtailvideo.com/support/jw-player/28839/embedding-the-player) using Shortcode Attribute `player_option_blocks=""`. Example: `player_option_blocks="sharing:{}"`. See [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/) please. Also discussed in [this thread](http://www.s2member.com/forums/topic/new-jw-player-6-s2-video-audio-shortcodes/#post-38768).
|
@@ -320,6 +404,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
320 |
* (s2Member/s2Member Pro) **KB Articles** Inline documentation updated in some areas, with a few links pointing to helpful/related KB articles.
|
321 |
|
322 |
= v130121 =
|
|
|
323 |
* **(Maintenance Release) Upgrade immediately.**
|
324 |
* **New Feature** s2Member® now comes with a new Shortcode `[s2Stream file_download="video.mp4" player="jwplayer-v6" ... /]`, making it MUCH easier for site owners to implemement RTMP streams of audio/video content. For further details, please check your Dashboard under: `s2Member® -› Download Options -› JW Player® v6 and RTMP Protocol Examples`. See also: `s2Member® -› Download Options -› Shortcode Attributes (Explained)`.
|
325 |
* **Compatibility (#75)** Updated s2Member's local file storage engine (for File Downloads via s2Member®), to support special characters in file names. Discussed in [this thread](http://www.s2member.com/forums/topic/problem-with-quotes-in-filename-downloads/#post-38395).
|
@@ -327,6 +412,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
327 |
* **Compatibility** Updated s2Member's integration with Amazon® S3 to extend the default 30 second connection timeout (which was too conservative for many integrations) up to 24 hours by default, making it match the same as s2Member's Amazon® CloudFront connection timeout. For further details, please check your Dashboard under: `s2Member® -› Download Options -› Amazon® S3/CDN Storage -› Dev Note w/Technical Details`. It is possible to modify this connection timeout through a Filter discussed there.
|
328 |
|
329 |
= v130116 =
|
|
|
330 |
* **(Maintenance Release) Upgrade immediately.**
|
331 |
* **Compatibility (#39)** Updated codes samples for JW Player®, to include the `mp4:` prefix when implementing RTMP streams against MP4 video files. Discussed in [this thread](http://www.s2member.com/forums/topic/cloudfront-subfolder-streaming-error/#post-35750).
|
332 |
* **Compatibility (#51)** Updated Payflow® API to support recurring billing every six months. Discussed in [this thread](http://www.s2member.com/forums/topic/payflow-error-6-month-recurring-membership/#post-36053).
|
@@ -334,6 +420,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
334 |
* **Feature Improvement (#71)** s2Member® has been updated to support byte-range requests with it's default local file storage engine, served from the `/s2member-files/` directory. s2Member® has always supported byte-range requests when integrated with Amazon® CloudFront. Now it supports byte-range requests in it's default local storage engine too. This will improve compatibility with mobile devices, iTunes™ and other devices that use byte-range requests. Discussed in [this thread](http://www.s2member.com/forums/topic/any-way-to-set-accept-ranges-for-downloads/#post-15871).
|
335 |
|
336 |
= v121213 =
|
|
|
337 |
* **(Maintenance Release) Upgrade immediately.**
|
338 |
* **Updated for compatibility with WordPress® v3.5. Backward compatibility remains for previous versions of WordPress®, as far back as WordPress® v3.2.**
|
339 |
* (s2Member Pro) **Bug Fix**. An issue first introduced in s2Member® Pro v120517 where we fixed problems with the `maxlength` attribute in Authorize.Net Pro Forms, left a remaining problem. The State/Province field in the Billing Address section of a Pro Form, since s2Member® Pro v120517, has only accepted 2 characters when it should have been capable of accepting up to 40 characters. Fixed in this release.
|
@@ -343,11 +430,13 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
343 |
* (s2Member Pro) **Bug Fix**. Free Registration Pro Forms submitted without having payment gateway API credentials configured within s2Member® resulted in an on-site error message when there should NOT be one (because a site owner is dealing with Free Registration only in this scenario). Fixed in this release.
|
344 |
|
345 |
= v121204 =
|
|
|
346 |
* **(Maintenance Release) Upgrade immediately.**
|
347 |
* (s2Member / s2Member Pro) **Bug Fix**. An issue with long billing agreement descriptions under PayPal® Pro (Payflow® Edition) accounts, when coupon codes were being used by customers, was addressed in this release. Symptoms of this bug were errors in s2Member® log files from the Payflow® API, with error code: `11581-Profile description is invalid`. Caused by undocumented length requirements for the billing agreement description under the Payflow® API. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/error-generic-processor-error-11581/page/2/#post-33477).
|
348 |
* (s2Member / s2Member Pro) **Compatibility**. Updated JW Player code samples for compatibility with JW Player v6. Discussed in [this thread](http://www.s2member.com/forums/topic/jw-player-rtmp-streaming-mp4-amazon-s3/page/2/#post-32074).
|
349 |
|
350 |
= v121201 =
|
|
|
351 |
* **(Maintenance Release) Upgrade immediately.**
|
352 |
* (s2Member / s2Member Pro) **Bug Fix**. Support Rep Cristián Lávaque found a bug in the behavior of s2Member’s Alternative View Restrictions, associated with Category listings in custom menu widgets. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/welcome-page-title-shows-but-no-content/page/2/#post-29802).
|
353 |
* (s2Member Pro) **Feature Enhancement**. s2Member Pro Forms integrated ONLY with PayPal Express Checkout (`accept="paypal" accept_via_paypal="paypal"`), will no longer display a Billing Method section on the Pro Form, as it's not necessary (there's only one possible option in this case, and it's already depicted by the PayPal button at the bottom of the Pro Form). Many site owners had implemented CSS hacks to hide this section of a Pro Form configured this way, based on [this FAQ article](http://www.s2member.com/faqs/#s2-faqs-paypal-pro-not-required). This hack is no longer necessary - starting with this release.
|
@@ -357,6 +446,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
357 |
* (s2Member Pro) **Authorize.Net**. True montly billing instead of every 30 days. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/1-month-recurring-billing-instead-of-30-days/#post-30420).
|
358 |
|
359 |
= v121023 =
|
|
|
360 |
* **(Maintenance Release) Upgrade immediately.**
|
361 |
* (s2Member / s2Member Pro) **Bug Fix**. A bug related to s2Member's `is_site_root()` method, when fancy permalinks are NOT in use; has been corrected for compatibility with the latest version of WordPress. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
362 |
* (s2Member Pro) **Import/Export Bug Fix**. An issue related to RFC guidelines for escape sequences in CSV files has been addressed in this release. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
@@ -368,11 +458,13 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
368 |
* (s2Member Pro) **ccBill® DataLink Integration**. DataLink integration with ccBill® was modified to prevent dates in the future from being requested from the DataLink API. ccBill® was responding to some DataLink requests with a failed authentication, which were caused by dates/times in the future; according to MST on the ccBill® side of things.
|
369 |
|
370 |
= v120703 =
|
|
|
371 |
* **(Maintenance Release) Upgrade immediately.**
|
372 |
* (s2Member/s2Member Pro) **Payflow® Express Checkout**. An issue related to Express Checkout (when using the Payflow® API), has been corrected in this release. A bug in previous releases, was causing error messages under certain circumstances that read `Field format error: Invalid PayerID`.
|
373 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Standards compliance. Routine maintenance. Re-confirmed compatibility with WordPress® v3.4.
|
374 |
|
375 |
= v120622 =
|
|
|
376 |
* **(Maintenance Release) Upgrade immediately.**
|
377 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Confirmed compatibility with WordPress® v3.4.
|
378 |
* (s2Member/s2Member Pro) **Currency Conversion**. This release updates s2Member's currency conversion API, which is powered by Google®. Please see [this thread](http://www.s2member.com/forums/topic/paypal-agreecontinue-sends-to-memb-options/#post-16972) for further details.
|
@@ -380,6 +472,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
380 |
* (s2Member/s2Member Pro) **Character Encoding**. This release fixes a big in s2Member's character encoding conversion, for IPN responses received from PayPal®. This releases also fixes an issue specifically with the pound sterling symbol `£`, which was causing some transient IPN data to become corrupted, under the right scenario.
|
381 |
|
382 |
= v120608 =
|
|
|
383 |
* **(Maintenance Release) Upgrade immediately.**
|
384 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Updated for compatibility with the coming release of [WordPress® v3.4](http://wordpress.org/news/2012/06/wordpress-3-4-release-candidate-2/). Additional details available [here](http://wordpress.org/news/2012/06/wordpress-3-4-release-candidate-2/).
|
385 |
* (s2Member/s2Member Pro) **Payflow® Bug Fix**. This release addresses two bugs that existed in s2Member's Payflow® integration. Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/transactions-not-going-through/#post-15896) for further details.
|
@@ -387,6 +480,7 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
387 |
* (s2Member) **Documentation**. Code samples for Content Dripping have been updated in the Dashboard, in order to correct a date comparison snippet, which was WRONG. Please check your Dashboard under: `s2Member® -› API Scripting -› Content Dripping -› Example #2`, for the updated code sample.
|
388 |
|
389 |
= v120601 =
|
|
|
390 |
* **(Maintenance Release) Upgrade immediately.**
|
391 |
* (s2Member Pro) **ClickBank® Button Shortcodes**. This release works around a bug that has been discovered on the ClickBank® side of things, when a `+` character appears in the `desc=""` attribute of your ClickBank® Button Shortcode. Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/clickbank-output-url/#post-15166) for further details.
|
392 |
* (s2Member Pro) **Payflow® Daily Recurrence (Limitation)**. PayPal® Pro accounts with the Payflow® Edition API, are NOT capable of charging on a `daily` recurring basis. Previous releases of s2Member® Pro mistakenly documented this as being possible. Resolved in this release. PayPal® Pro accounts operating with the Payflow® Edition (and integrated with s2Member®), are only capable of charging recurring fees on the following schedules: `weekly, bi-weekly, monthly, quarterly, or yearly`. This is in large part, a limitation in the Payflow® API, which we hope will be resolved by PayPal® in a future version. Please feel free to contact PayPal® if you'd like to vote for this feature! This limitation does NOT affect existing PayPal® Pro accounts operating exclusively under the PayPal® Pro API (e.g. without Payflow®).
|
@@ -394,12 +488,14 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
394 |
* (s2Member/s2Member Pro) **Bug Fix**. A bug related to inaccurate role assignment, under certain scenarios (for administrative accounts). Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/inaccurate-role-assignment-in-s2member-pro/#post-14122) for further details.
|
395 |
|
396 |
= v120517 =
|
|
|
397 |
* **(Maintenance Release) Upgrade immediately.**
|
398 |
* (s2Member Pro) **PayPal® Pro Forms**. This release removes all limitations on the maximum length of an initial trial/period. It is now possible to offer any number of days/weeks/months/years for free, or at a different initial rate.
|
399 |
* (s2Member Pro) **Authorize.Net® Bug Fix**. Max length (i.e. `maxlength=""`) adjusted in Pro Forms integrating with Authorize.Net. Transactions were sometimes failing due to character length restrictions imposed by the Authorize.Net® API. Fixed in this release. Please see [this thread](http://www.s2member.com/forums/topic/customer-charged-but-not-given-access/#post-13454) for further details.
|
400 |
* (s2Member/s2Member Pro) **JW Player® Code Samples**. Updated code samples for JW Player®, to reduce the possibility of a namespace conflict in configuration variables. For further details, please check [this thread](http://www.s2member.com/forums/topic/jw-player-new-code-conflict/#post-13819).
|
401 |
|
402 |
= v120514 =
|
|
|
403 |
* **(Maintenance Release) Upgrade immediately.**
|
404 |
* (s2Member Pro) **Payflow® API Support**. s2Member® Pro now supports PayPal® Pro accounts operating with the Payflow® edition. It is now possible to process recurring payments through newer PayPal® Pro accounts (e.g. those which may use the new Payflow® API for recurring billing). Please note, this feature should ONLY be used by site owners with a brand new PayPal® Pro account, which has Recurring Billing service enabled under the Payflow® edition. Site owners with existing PayPal® Pro accounts are NOT impacted by this feature, nor should they attempt to use this feature. For further details, please check your Dashboard under: `s2Member® -› PayPal® Options -› Payflow® Account Details`.
|
405 |
* (s2Member Pro) **Authorize.Net® Shortcode Attribute**. A new Shortcode Attribute `rrt=""`, is available for Authorize.Net® Pro Forms. For further details, please check your Dashboard under: `s2Member® -› Authorize.Net® Forms -› Shortcode Attributes (Explained)`.
|
@@ -409,14 +505,17 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
409 |
* (s2Member/s2Member Pro) **JW Player® Code Samples**. Updated code samples for JW Player®. For further details, please check your Dashboard under: `s2Member® -› Download Options -› JW Player® Code Samples`.
|
410 |
|
411 |
= v120309 =
|
|
|
412 |
* (s2Member Pro) **ccBill® Cancellations**. It's now possible for s2Member to pull ccBill® "cancellation" events, from the ccBill® DataLink Service Suite. For further details and configuration options, please check this section of your Dashboard: `s2Member -› ccBill Options -› DataLink Integration`.
|
413 |
* (s2Member/s2Member Pro) **Bug fix**. Some PHP installations running in safe mode were experiencing `400 Bad Request` errors whenever s2Member's Amazon® CloudFront configuration routines for file downloads were processed. Fixed in this release.
|
414 |
|
415 |
= v120308 =
|
|
|
416 |
* (s2Member/s2Member Pro) **Custom Registration/Profile Fields**. Now possible to create a Custom Field that's always hidden, during both registration and any future Profile edits (e.g. for administrative purposes only).
|
417 |
* (s2Member/s2Member Pro) **Compatibility**. Minor updates for compatibility with the coming release of WordPress® v3.4.
|
418 |
* (s2Member Pro) **Bug fix**. Broken link in UI leading to: `s2m-pro-extras.zip`. Corrected in this release.
|
419 |
|
420 |
= v120301 - 1.0 =
|
|
|
421 |
* ... trimmed away at v111220.
|
422 |
* Initial release: v1.0.
|
1 |
=== s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 131126
|
4 |
+
Stable tag: 131126
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
44 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
45 |
|
46 |
Description: s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
47 |
+
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 wallet, clickbank, click bank, buddypress, buddy press, bbpress, bb press, shopping cart, cart, checkout, ecommerce
|
48 |
|
49 |
s2Member® — a powerful (free) membership plugin for WordPress®. Protect members only content with roles/capabilities.
|
50 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
51 |
== Description ==
|
52 |
|
53 |
[youtube http://www.youtube.com/watch?v=2C3Lan7vxw0 /]
|
60 |
|
61 |
You can learn more about s2Member® at [s2Member.com](http://www.s2member.com/).
|
62 |
|
63 |
+
== Installation ==
|
64 |
+
|
65 |
+
= s2Member® is Very Easy to Install =
|
66 |
+
|
67 |
+
1. Upload the `/s2member` folder to your `/wp-content/plugins/` directory.
|
68 |
+
2. Activate the plugin through the **Plugins** menu in WordPress®.
|
69 |
+
3. Navigate to the **s2Member® Options** panel for configuration details.
|
70 |
+
|
71 |
+
= See Also (s2Member.com) =
|
72 |
+
|
73 |
+
[Detailed installation/upgrade instructions](http://www.s2member.com/framework/#!s2_tab_jump=s2-framework-install-update).
|
74 |
+
|
75 |
+
= Is s2Member compatible with Multisite Networking? =
|
76 |
+
|
77 |
+
Yes. s2Member and s2Member Pro, are also both compatible with Multisite Networking. After you enable Multisite Networking, install the s2Member plugin. Then navigate to `s2Member -› Multisite (Config)` in the Dashboard on your Main Site.
|
78 |
+
|
79 |
== Screenshots ==
|
80 |
|
81 |
1. s2Member Screenshot #1
|
88 |
|
89 |
== Frequently Asked Questions ==
|
90 |
|
91 |
+
= Please Check the Following s2Member® Resources =
|
92 |
+
|
93 |
+
* s2Member® FAQs: <http://www.s2member.com/faqs/>
|
94 |
+
* Knowledge Base: <http://www.s2member.com/kb/>
|
95 |
+
* Video Tutorials: <http://www.s2member.com/videos/>
|
96 |
+
* Community: <http://www.s2member.com/forums/>
|
97 |
+
* Codex: <http://www.s2member.com/codex/>
|
98 |
|
99 |
= Translating s2Member® =
|
100 |
+
|
101 |
Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
102 |
|
103 |
+
== License ==
|
104 |
+
|
105 |
+
Copyright: © 2013 [WebSharks, Inc.](http://www.websharks-inc.com/bizdev/) (coded in the USA)
|
106 |
+
|
107 |
+
Released under the terms of the [GNU General Public License](http://www.gnu.org/licenses/gpl-2.0.html).
|
108 |
+
|
109 |
+
= Credits / Additional Acknowledgments =
|
110 |
+
|
111 |
+
* Software designed for WordPress®.
|
112 |
+
- GPL License <http://codex.wordpress.org/GPL>
|
113 |
+
- WordPress® <http://wordpress.org>
|
114 |
+
* JavaScript extensions require jQuery.
|
115 |
+
- GPL License <http://jquery.org/license>
|
116 |
+
- jQuery <http://jquery.com/>
|
117 |
+
* Readme parsing routines, powered (in part) by PHP Markdown.
|
118 |
+
- BSD / GPL Compatible License <http://michelf.com/projects/php-markdown/license/>
|
119 |
+
- PHP Markdown <http://michelf.com/projects/php-markdown/>
|
120 |
+
* Administration panel (tools icon) was provided by Everaldo.com.
|
121 |
+
- LGPL License <http://www.everaldo.com/crystal/?action=license>
|
122 |
+
- Everaldo <http://www.everaldo.com/crystal/?action=downloads>
|
123 |
+
* Administration panel (videos icon) was provided by David Vignoni.
|
124 |
+
- LGPL License <http://www.iconfinder.com/search/?q=iconset%3Anuvola2>
|
125 |
+
- David Vignoni <http://www.icon-king.com/>
|
126 |
+
* PayPal® and its associated API, buttons & services have been integrated into this software via external hyperlinks.
|
127 |
+
The files/services provided by PayPal® are not distributed with this software. They have their own terms & conditions.
|
128 |
+
- PayPal®, a 3rd party service, is powered by eBay, Inc. <http://www.paypal.com/>
|
129 |
+
- PayPal® is a trademark of eBay, Inc. <http://www.ebay.com/>
|
130 |
+
* The W3C® and its associated validator & services have been integrated into this software via external hyperlinks.
|
131 |
+
The files/services provided by the W3C® are not distributed with this software. They have their own terms & conditions.
|
132 |
+
- The W3C®, a 3rd party service, is powered by the World Wide Web Consortium <http://validator.w3.org/>
|
133 |
+
- W3C® is a trademark of the World Wide Web Consortium. <http://www.w3.org/>
|
134 |
+
* The MailChimp® services have been integrated into this software through a GPL compatible API & hyperlinks.
|
135 |
+
The services provided by MailChimp® are not distributed with this software. They have their own terms & conditions.
|
136 |
+
- MailChimp®, a 3rd party service, is powered by The Rocket Science Group, LLC <http://www.mailchimp.com/>
|
137 |
+
- MailChimp® is a trademark of The Rocket Science Group, LLC. <http://www.mailchimp.com/terms-policies/terms-of-use/>
|
138 |
+
* The AWeber® services have been integrated into this software through hyperlinks & email commands.
|
139 |
+
The services provided by AWeber® are not distributed with this software. They have their own terms & conditions.
|
140 |
+
- AWeber®, a 3rd party service, is powered by AWeber Communications <http://www.aweber.com/about.htm>
|
141 |
+
- AWeber® is a trademark of AWeber Communications. <http://www.aweber.com/service-agreement.htm>
|
142 |
+
|
143 |
== Upgrade Notice ==
|
144 |
|
145 |
+
= v131126 =
|
146 |
+
|
147 |
(Maintenance Release) Upgrade immediately.
|
148 |
|
149 |
== Changelog ==
|
150 |
|
151 |
+
= v131126 =
|
152 |
+
|
153 |
+
* (s2Member Pro) **Google Wallet.** s2Member Pro now supports [Google Wallet for Digital Goods](https://developers.google.com/commerce/wallet/digital/).
|
154 |
+
|
155 |
+
In the past we offered support for Google "Checkout" (Google "Checkout" is no longer available as of November 2013). s2Member's previous integration with Google Checkout has now been fully updated to support Google "Wallet" for Digital Goods. To enable Google Wallet in your installation of s2Member Pro, please see: `Dashboard -› s2Member Pro -› Other Gateways -› Google Wallet`. For setup instructions, please see: `Dashboard -› s2Member Pro -› Google Options`.
|
156 |
+
|
157 |
+
At the time of this writing, there are no KB articles related to Google Wallet at s2Member.com (yet); these will come soon. Until then, you might find it helpful to review dev notes by Jason Caldwell (Lead Developer). Please see: <https://github.com/WebSharks/s2Member/issues/19>.
|
158 |
+
|
159 |
+
We also suggest that you review the documentation in your Dashboard under: `s2Member Pro -› Google Options` and `s2Member Pro -› Google Buttons`. If you were previously using Google "Checkout", please review [this notice posted by Google](https://support.google.com/checkout/sell/answer/3080449?hl=en).
|
160 |
+
* (s2Member/s2Member Pro) **Bootstrap Compatibility.** s2Member has been updated throughout to support the [Twitter Bootstrap](http://getbootstrap.com/) CSS framework when running on a WordPress theme that's been built on Bootstrap. For instance; profile editing forms, custom registration/profile fields, s2Member Pro Forms for checkout/registration; these will now look good on sites powered by Bootstrap. This change has no impact on functionality, only on appearance; and only IF your site is powered by Bootstrap. Throughout s2Member's HTML code we've added CSS class names that follow a Bootstrap standard. These Bootstrap classes are blended together with default structural styles that makes s2Member compatible with all WordPress themes. This way s2Member (and s2Member Pro) can produce a clean/professional appearance on just about any WordPress theme; and now Bootstrap is supported too!
|
161 |
+
* (s2Member Pro) **Configurable Emails.** We've added new configuration panels into the s2Member UI for a Modification Confirmation Email and also for the Custom Capability Confirmation Email. These are now configurable for all payment gateways integrated with s2Member Pro; e.g. AliPay, ccBill, ClickBank, Google Wallet, Authorize.Net, PayPal Standard, and PayPal Pro. These emails have always existed, but up until now customization required a WordPress filter. Now it's easier, you can customize these from the Dashboard! Please note: this feature comes only with s2Member Pro. As one example, please check your Dashboard under: `s2Member Pro -› PayPal Options -› Modification Confirmation Email`.
|
162 |
+
* (s2Member/s2Member Pro) **Snippets/Redirects.** Snippets and Redirects no longer carry the s2Member Restriction Options meta box in the Post/Page editing station; there's no need for Restrictions against these two special Post Types. This change, together with the latest improvements in these two plugins: [WP Snippets](http://wordpress.org/plugins/wp-snippets/) and [WP Redirects](http://wordpress.org/plugins/wp-redirects/) (also produced by our team) offer a more powerful solution now that all of these plugins are more compatible with each other.
|
163 |
+
* (s2Member/s2Member Pro) **Backward Compatibility.** Updating calls to `get_post()`. We're adding a `NULL` argument to prevent warnings in older releases of WordPress where an argument was required; e.g. `get_post(NULL)`.
|
164 |
+
* (s2Member/s2Member Pro) **Forward Compatibility.** Adding support for the `relative` scheme in SSL filters that deal with `set_url_scheme()` in the latest versions of WordPress. This improves s2Member's "force SSL mode" where a site owner sets the Custom Field for a Post/Page; e.g. `s2member_force_ssl` is set to `yes`. This change will better support themes/plugins that use absolute relative paths together with WordPress core functions like `site_url()` and `home_url()`.
|
165 |
+
* (s2Member/s2Member Pro) **PHP Debug Notices.** Updating s2Member's source code to further prevent PHP debug notices when running in `WP_DEBUG` mode. This is part of an ongoing effort keep s2Member running smoothly in PHP strict mode; and to maintain conformity with WordPress standards.
|
166 |
+
* (s2Member Pro) **Unlimited Membership Levels.** Updating the built-in software documentation for s2Member Pro to cover an edge case where a site owner many choose to exceed the recommended maximum for Membership Levels when running s2Member Pro. If you intend to use more than `100` Membership Levels (this is not recommended); but if you do, please see: `Dashboard -› s2Member Pro -› General Options -› Membership Levels/Labels` for the latest details on this.
|
167 |
+
* (s2Member/s2Member Pro) **Dropping IE8 Support.** s2Member and s2Member Pro will no longer support IE8 in any official capacity. s2Member's HTML output and CSS files have been cleaned up; and all hacks related to IE8 have been removed. Out with the old, in with the new! We need to keep s2Member up-to-date with the latest improvements offered by IE9 and other modern browsers. While s2Member may continue to function relatively well in IE8, hacks used in the past to accomodate edge cases in this buggy browser have been removed in favor of standards compliance.
|
168 |
+
* (s2Member/s2Member Pro) **Bug Fix.** s2Member and s2Member Pro have both been updated to prevent spaces in a comma-delimited list of Custom Capabilities; e.g. `ccaps="music, videos"` should be `ccaps="music,videos"` please. Spaces in this list have never been allowed, but now there is better server-side validation to prevent this from happening; reducing the chance of error when a site owner configures a Button or Pro Form shortcode with s2Member.
|
169 |
+
* (s2Member/s2Member Pro) **Other Minor Bug Fixes.** Please see: <https://github.com/WebSharks/s2Member/commits/000000-dev>
|
170 |
+
|
171 |
= v131109 =
|
172 |
+
|
173 |
* (s2Member/s2Member Pro) **UI Makeover** This release of s2Member upgrades all administrative UI panels.
|
174 |
* (s2Member/s2Member Pro) **Compatibility** Updating s2Member for compatibility with the coming release of both Quick Cache LITE and Quick Cache Pro for WordPress. These are not available publicly yet, but they are expected for release very soon. This release of s2Member is compatible with both the current and future releases of Quick Cache for WordPress.
|
175 |
* (s2Member/s2Member Pro) **Improvement (Speed)** Lazy load s2Member's JS file at all times. Done, this release will speed your site up for first-time visitors.
|
181 |
* (s2Member Pro) **Checkout Options** Improving support for multiple Checkout Options. When a customer changes to a new Checkout Option by selecting an option from the drop-down menu in a Pro Form; this action will now result in a hash jump back to the location of the Pro Form on any given page; instead of to the top of the page, which could potentially result in a confusing experience on some sites (depending on the implementation). Aside: for developers, it's helpful to know that all s2Member Pro Forms now have a hashable ID `#s2p-form` that is cleaner than the longer (product-specific) IDs associated with Pro Forms; e.g. `s2member-pro-paypal-form...`, etc. If you need to hash a Pro Form, please use the more general `#s2p-form` on the end of a URL. This will take a customer directly to that Pro Form in the context of any given page.
|
182 |
|
183 |
= v131026 =
|
184 |
+
|
185 |
* (s2Member) **WordPress v3.7 Compatibility** s2Member further updated to support subtle changes in the WordPress v3.7 `wp-login.php` file. This release corrects a minor issue w/ patches applied by s2Member when running in a Multisite Network environment. If you are running s2Member on a Multisite Network, please be sure to run the automatic patcher provided in your Dashboard against WordPress v3.7 after updating to this release of s2Member.
|
186 |
* (s2Member Pro) **PayPal Central IPN** Updating the example file: `s2m-pro-extras/paypal-central-ipn.php` to use one of the latest PayPal IP addresses listed [here](https://ppmts.custhelp.com/app/answers/detail/a_id/92).
|
187 |
|
188 |
= v131025 =
|
189 |
+
|
190 |
* (s2Member) **WordPress v3.7 Compatibility** s2Member updated to support WordPress v3.7. s2Member remains compatible with WP v3.3 (or higher).
|
191 |
* (s2Member Pro) **New Feature: Simultaneous Login Monitoring** Available only w/ s2Member Pro. s2Member Pro has been updated to support configurations that limit the number of simultaneous logins a single username can receive. For further details, please see: `Dashboard -› s2Member -› Restriction Options -› Simultaneous Login Restrictions` (when s2Member Pro is installed).
|
192 |
* (s2Member) **Post Restrictions (#3)** Adding support for `all-[post type]` in addition to the existing `all-[post type]s` (plural) currently supported by s2Member's Restriction Options for Posts. This makes it possible for a site owner to type only the Post Type after the keyword prefix `all-`; and excluding the plural `s` in cases when this is necessary.
|
205 |
* (s2Member) **See also: s2Member Repo** https://github.com/WebSharks/s2Member/commits/000000-dev
|
206 |
|
207 |
= v130816 =
|
208 |
+
|
209 |
* (s2Member Pro) **Compatibility, ClickBank (#467)** Improving support for ClickBank PitchPlus Upsell Flows. Please see [this thread](http://www.s2member.com/forums/topic/clickbank-buttons-not-working/#post-55725) for further details.
|
210 |
* (s2Member/s2Member Pro) **User Search on Multisite Networks (#468)** User search functionality was partially broken for Child Blogs in a Multisite Network after some improvements were implemented in s2Member® v130731. The issue has now been corrected in this release for Multisite Networks. For further details, please see [this thread](http://www.s2member.com/forums/topic/user-search-no-longer-working/#post-55778).
|
211 |
* (s2Member/s2Member Pro) **Z-Index in Menu Pages (#461)** Stacking order against a WordPress® installation running a Dashboard with a collapsed sidebar menu (left side) was causing some UI problems. Fixed in this release.
|
214 |
* (s2Member/s2Member Pro) **Videos (#467)** Updating internal documentation found in `Dashboard -› s2Member® -› Quick-Start`. Specifically, the video player here was integrated with an older version of the YouTube® API and was not working properly. Fixed in this release.
|
215 |
|
216 |
= v130802 =
|
217 |
+
|
218 |
* (s2Member Pro) **Compatibility, WordPress® v3.6** Updating s2Member® Pro Form templates and their underlying CSS. This update improves their appearance against the Twenty Thirteen theme that comes with WordPress® v3.6. Specifically, some of the Pro Form buttons were a little out of place in this new default theme. Fixed in this release.
|
219 |
* (s2Member Pro) **Compatibility, Checkout Options (#443)** Revision 3. Updating this feature to support a wider variety of WordPress® configurations and content filters. This update also resolves an empty `desc=""` attribute error reported by some site owners. Feature description... It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
220 |
|
221 |
= v130801 =
|
222 |
+
|
223 |
* (s2Member Pro) **New Feature; Checkout Options (#403)** Revision 2. Updating documentation on this new feature to prevent conufusion for site owners. s2Member® Pro now supports "Checkout Options". It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
224 |
|
225 |
= v130731 =
|
226 |
+
|
227 |
* (s2Member Pro) **New Feature; Checkout Options (#403)** s2Member® Pro now supports "Checkout Options". It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
228 |
* (s2Member Pro) **Free Checkout (#403)** It is now possible to offer a 100% free checkout experience using any of s2Member's Pro Form Shortcodes. In previous releases of s2Member® it was not possible to set the `ra=""` Attribute to a zero dollar amount. Now it is! This works for PayPal® Pro Forms, and also for Authorize.Net Pro Forms.
|
229 |
* (s2Member Pro) **100% Off Coupons (#403)** It is now possible to offer a 100% off coupon. This works for PayPal® Pro Forms, and also for Authorize.Net Pro Forms. See: `s2Member® -› Pro Coupon Codes` for details and examples.
|
237 |
* (s2Member/s2Member Pro) **Bug Fix (#418)** Fixed incorrect result totals under some rare scenarios in user search results.
|
238 |
|
239 |
= v130617 =
|
240 |
+
|
241 |
* (s2Member/s2Member Pro) **IP Restrictions (#148)** It is now possible to introduce a custom template file that controls the error message displayed when/if a user breaches security by exceeding your maximum unique IP addresses; as configured under `s2Member -› Restriction Options -› Unique IP Restrictions`. If you would like to use a custom template for this message, please copy the default template file from `/s2member/includes/templates/errors/ip-restrictions.php` and place this file into your active WordPress® theme directory (or into the `/wp-content/` directory if you prefer). s2Member will automatically find your custom template in one of these locations; and s2Member will use your custom template instead of the built-in default.
|
242 |
* (s2Member Pro) **Bug Fix (#302)** Updating Authorize.Net Pro Form Generator to support max days of `365` instead of `7`.
|
243 |
* (s2Member Pro) **Amazon S3 Secret Access Keys (#321)** Updating UI configuration panel to better explain what a Secret Access Key is; and adding a note about Secret Access Keys for Amazon S3 integration. Amazon® is deprecating Secret Access Keys, but they ARE still required for digitally signed URLs. This update changes nothing in s2Member's functionality. It simply adds some additional detail to a configuration field that will assist site owners integrating s2Member w/ Amazon S3 for the first time.
|
247 |
* (s2Member Pro) **PayPal Pro Forms (#312)** Preventing the use of multiple Pro Forms in the same Post/Page. This has never been possible, it is known to break the functionality of s2Member Pro Forms. Please limit Pro Form Shortcodes to ONE for each Post/Page; and do NOT attempt to use more than one Pro Form Shortcode on the same Post/Page (at the same time). In this release we have added a friendly JavaScript alert/warning for site owners that attempt this, so that problems and confusion can be avoided in this unlikely scenario.
|
248 |
|
249 |
= v130513 =
|
250 |
+
|
251 |
* (s2Member/s2Member Pro) **s2Stream Shortcode Bug Fix (#256)** Fixing a bug first introduced in the previous release where we added support for `player_aspectratio`. This quick update corrects the PHP parse error at line #154 of `sc-files-in.inc.php`. It also corrects the behavior of the `player_height=""` and `player_aspectratio=""` Shortcode Attributes for the `s2Stream` Shortcode. Many thanks to everyone that reported this bug.
|
252 |
* (s2Member Pro) **Codestyling Localization** Removing symlink creator for Codestyleing Localization compatibility. There have been some reports of problems during WordPress® automatic upgrades (when/if the symlink exists). Until we can find a way to avoid this, we're disabling the automatic symlink generator. If you're running the Codestyling Localization plugin together with s2Member Pro, you will need to create the symlink yourself if you want to make s2Member fully compatible. Please create a symlink here: `/wp-content/plugins/s2member/s2member-pro` that points to the s2Member Pro directory: `/wp-content/plugins/s2member-pro`. See notes in previous changelog for further details on this.
|
253 |
|
260 |
|
261 |
2. Now, please follow the [instructions here](http://www.s2member.com/pro/#!s2_tab_jump=s2-pro-install-update) to upgrade s2Member® Pro manually.
|
262 |
|
|
|
263 |
= v130510 =
|
264 |
+
|
265 |
* (s2Member Pro) **Authorize.Net UK (and Other Currencies) (#104)** Adding support for Authorize.Net UK and other currencies too. s2Member Pro now officially supports Authorize.Net UK Edition. It is now possible to change your Authorize.Net Pro Form Shortcode Attribute `cc="USD"` to one of these values: `cc="USD"`, or `cc="CAD"` or `cc="EUR"` or `cc="GBP"`. For further details, please see: `Dashboard -› Authorize.Net Pro Forms -› Shortcode Attributes (Explained)`.
|
266 |
* (s2Member Pro) **ClickBank Skins (#227)** Adding support for the `cbskin=""` Shortcode Attribute. For further details, please see: `Dashboard -› ClickBank Buttons -› Shortcode Attributes (Explained)`.
|
267 |
* (s2Member Pro) **ClickBank PitchPlus Upsell Flows (#227)** Adding support for ClickBank PitchPlus Upsell Flows via new Shortcode Attributes: `cbfid=""`, `cbur=""`, `cbf="auto"`. s2Member Pro now officially supports ClickBank PitchPlus Upsell Flows. We support PitchPlus Basic and PitchPlus Advanced too. For further details, please see: `Dashboard -› ClickBank Buttons -› Shortcode Attributes (Explained)`.
|
291 |
* (s2Member Pro) **Username Validation (#246)** Now forcing user input (during Pro Form registration) to lowercase on Multisite Networks to prevent unnecessary validation errors during checkout (saving a customer time). Also, s2Member now validates a customer's Username before it is passed through `sanitize_user()` (a core WordPress® function). This prevents confusion for a customer where certain characters were stripped out automatically, causing them problems when attempting to log in for the first time (e.g. the customer thinks their Username is `john~doe`; when it is actually `johndoe` because WordPress (when running a Multisite Network) removes anything that is NOT `a-z0-9 _.-@` (and s2Member removes whitespace as well).
|
292 |
|
293 |
= v130406 =
|
294 |
+
|
295 |
* (s2Member/s2Member Pro) **Multisite Networks (#145)** Bug fix on Multisite Networks related to User deletions and subsequent logins on child blogs. For further details, please see [this thread](http://www.s2member.com/forums/topic/deleted-users-can-log-in/#post-46738).
|
296 |
* (s2Member Pro) **New Feature (#59)** It is now possible to Edit a User in the Dashboard and check a box to have the User's password reset, and an email message sent automatically to the User/Member with a copy of the Username/Password. This requires s2Member® Pro.
|
297 |
* (s2Member Pro) **API Functions (#158)** New PayPal® Pro API Functions (`s2member_pro_paypal_rbp_for_user`, `s2member_pro_paypal_rbp_times_for_user`). These are for developers. For further details, please see [this article](http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/) in the s2Member® Codex.
|
298 |
* (s2Member Pro) **API Functions (#158)** New PayPal® Pro (PayFlow® Edition) API Functions (`s2member_pro_payflow_rbp_for_user`, `s2member_pro_payflow_rbp_times_for_user`). These are for developers. For further details, please see [this article](http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/) in the s2Member® Codex.
|
299 |
|
300 |
= v130404 =
|
301 |
+
|
302 |
* (s2Member Pro) **Compatibility (#108)** Updating s2Member® Pro's integration with Authorize.Net to allow charges up to `$99,999.00` (formerly `$10,000.00`).
|
303 |
* (s2Member/s2Member Pro) **User Searches (#91)** Updating `pre_user_query` filter to include `first_name/last_name` (instead of only the `display_name`).
|
304 |
* (s2Member/s2Member Pro) **bbPress Integration (#88)** Updating bbPress Role/Cap filter to exclude itself during bbPress deactivation. This was causing a loss of the `read` Capability inadvertently.
|
310 |
* (s2Member/s2Member Pro) **JW Player (#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%"`.
|
311 |
|
312 |
= v130221 =
|
313 |
+
|
314 |
* (s2Member/s2Member Pro) **Bug Fix (#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.
|
315 |
* (s2Member/s2Member Pro) **Bug Fix (#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.
|
316 |
|
317 |
= v130220 =
|
318 |
+
|
319 |
* (s2Member Pro) **Feature Enhancement/User Exportation (#33)** Adding support for UTF-8 BOM in CSV User export files. Now a configurable option during User/Member Exportation.
|
320 |
* (s2Member/s2Member Pro) **Feature Enhancement/Emails (#21)** Adding additional Replacement Codes for New User Email Notifications (for both the User/Member Notification and also for the Administrator Notification). The following Replacement Codes are now possible: `%%role%%`, `%%label%%`, `%%level%%`, `%%ccaps%%`. Also adding four new Filters for developers. These include: `ws_plugin__s2member_welcome_email_sbj`, `ws_plugin__s2member_welcome_email_msg`, `ws_plugin__s2member_admin_new_user_email_sbj`, `ws_plugin__s2member_admin_new_user_email_msg`. See `Dashboard -› General Options -› Email Configuration` for further details.
|
321 |
* (s2Member/s2Member Pro) **Feature Enhancement/Emails (#30)** Adding support for PHP tags in the following emails: New User Notification, Administrative New User Notification, Signup Confirmation Email, Specific Post/Page Confirmation Email. See the relevant sections in your Dashboard for further details. Such as: `s2Member® -› General Options -› Email Configuration` and `s2Member® -› PayPal® Options -› Signup Confirmation Email`.
|
327 |
* (s2Member/s2Member Pro) **Feature Enhancement/s2Stream Shortcode (#32)** Adding additional support for JW Player™ Captions, Titles, Descriptions, and Media IDs (i.e. `player_title=""`, `player_description=""`, `player_mediaid=""`, `player_captions=""`). Please check the Shortcode Attributes tab in [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/#using-s2stream-shortcodes) for further details.
|
328 |
|
329 |
= v130214 =
|
330 |
+
|
331 |
* **(Maintenance Release) Upgrade immediately.**
|
332 |
* (s2Member/s2Member Pro) **Log Viewer (#16)** Additional log file descriptions have been added to the Dashboard, along with some other UI enhancements in this section.
|
333 |
* (s2Member/s2Member Pro) **Bug Fix (#18)** Usernames consisting of all numeric values were not always being redirected to the Login Welcome Page upon logging in, even when s2Member® was configured to do so. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/subscribers-not-taken-to-welcome-page/page/2/#post-41663).
|
338 |
* (s2Member/s2Member Pro) **Compatibility** Bumping minimum WordPress® requirement from v3.2 up to v3.3. Starting with this release, s2Member® is no longer compatible with the much older WordPress® v3.2.
|
339 |
|
340 |
= v130213 =
|
341 |
+
|
342 |
* **(Maintenance Release) Upgrade immediately.**
|
343 |
* (s2Member Pro) **Compatibility (#13)** PayPal® Payments Pro, PayPal® Payments Pro (Payflow Edition), and Authorize.Net. s2Member® Pro now supports a recurring interval of Semi-Yearly (e.g. charges occur every six months). This has always been possible by manipulating Shortcode Attribues, but it's now officially supported by Pro Form Generators in your Dashboard — which come with s2Member® Pro.
|
344 |
* (s2Member Pro) **Compatibility (#13)** ClickBank® Recurring Products. ClickBank® has started allowing a Weekly recurring interval and stopped allowing Yearly. s2Member® has been updated in this release to support a Weekly recurring interval with ClickBank®; and to remove the Yearly option in the ClickBank® Button Generator.
|
375 |
* (s2Member/s2Member Pro) **Compatibility** Updated all of s2Member's IPN handlers to accept `$_REQUEST` data for Proxy-related variables like `s2member_paypal_proxy_return_url`. This allows s2Member® itself to use `$_POST` variables for Proxy-related variables; and it further reduces the likelihood of 403 Forbidden errors caused by [paranoid Mod Security configurations](http://www.s2member.com/kb/mod-security-random-503-403-errors/). One issue this should help to correct, is a mysterious case where a `success=""` Shortcode Attribute is not working as you might expect. This can be caused by [paranoid Mod Security configurations](http://www.s2member.com/kb/mod-security-random-503-403-errors/) at places like HostGator®, because a URL is passing through a query string. This release will help to prevent this from becoming a problem, because `success=""` URLs will be passed through `$_POST` variables now in all Pro Form integrations.
|
376 |
|
377 |
= v130207 =
|
378 |
+
|
379 |
* **(Maintenance Release) Upgrade immediately.**
|
380 |
* (s2Member Pro) **Bug Fix (#2)** Modification Tracking Codes not working properly under s2Member's Authorize.Net integration. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/shareasale-integration-not-working/#post-40954).
|
381 |
* (s2Member) **Compatibility (#4)** PayPal® integrated into a site charging in the JPY currency was incorrectly limited to an amount of 10000.00. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/default-currency-can-i-change-it-to-yen/#post-40590).
|
384 |
* (s2Member/s2Member Pro) **Compatibility (#6)** s2Member® File Downloads (audio/video files) with spaces in a file name were not always being handled properly. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/jwplayer-filename-bug/#post-40799).
|
385 |
|
386 |
= v130203 =
|
387 |
+
|
388 |
* **(New Release) Please read this changelog for important details.**
|
389 |
* (s2Member Pro) **Remote Ops API (`create_user`)** s2Member® Pro's Remote Operations API, for the `create_user` Operation has been updated to support a new specification: `modify_if_login_exists`. For further details, please check your s2Member® Pro Dashboard here: `s2Member® -› API / Scripting -› Remote Operations API`.
|
390 |
* (s2Member Pro) **Remote Ops API (`modify_user`,`delete_user`)** s2Member® Pro's Remote Operations API has been updated to support two additional Operations: `update_user` and `delete_user`. For further details on these new Operations, please check your s2Member® Pro Dashboard here: `s2Member® -› API / Scripting -› Remote Operations API`.
|
395 |
* (s2Member Pro) **User Importation (#89)** s2Member® Pro's User/Member Import format changed in this release (with respect to Custom Registration/Profile Fields only). If you are importing Custom Registration/Profile Fields, please review [this KB article](http://www.s2member.com/kb/importing-updating-users/#custom-registration-profile-fields) before you import new Users/Members or mass update any existing Users/Members. ALSO NOTE: User/Member CSV Export Files generated by previous versions of s2Member® Pro (if they contained any Custom Registration/Profile Fields) will NOT be compatible with this latest release (e.g. you should NOT attempt to re-import those old files in an effort to mass update existing Users/Members). Please generate a new User/Member CSV Export File in the latest release of s2Member® Pro before attempting to edit and/or mass update existing Users/Members with applications like MS Excel or OpenOffice.
|
396 |
|
397 |
= v130123 =
|
398 |
+
|
399 |
* **(Maintenance Release) Upgrade immediately.**
|
400 |
* (s2Member/s2Member Pro) **s2Stream Shortcode (#78)** s2Member® now supports JW Player® license keys using Shortcode Attribute `player_key=""`. See [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/) please. Also discussed in [this thread](http://www.s2member.com/forums/topic/new-jw-player-6-s2-video-audio-shortcodes/#post-38768).
|
401 |
* (s2Member/s2Member Pro) **s2Stream Shortcode (#79)** s2Member® now supports JW Player® [Advanced Option Blocks](http://www.longtailvideo.com/support/jw-player/28839/embedding-the-player) using Shortcode Attribute `player_option_blocks=""`. Example: `player_option_blocks="sharing:{}"`. See [this KB article](http://www.s2member.com/kb/jwplayer-s2stream-shortcodes/) please. Also discussed in [this thread](http://www.s2member.com/forums/topic/new-jw-player-6-s2-video-audio-shortcodes/#post-38768).
|
404 |
* (s2Member/s2Member Pro) **KB Articles** Inline documentation updated in some areas, with a few links pointing to helpful/related KB articles.
|
405 |
|
406 |
= v130121 =
|
407 |
+
|
408 |
* **(Maintenance Release) Upgrade immediately.**
|
409 |
* **New Feature** s2Member® now comes with a new Shortcode `[s2Stream file_download="video.mp4" player="jwplayer-v6" ... /]`, making it MUCH easier for site owners to implemement RTMP streams of audio/video content. For further details, please check your Dashboard under: `s2Member® -› Download Options -› JW Player® v6 and RTMP Protocol Examples`. See also: `s2Member® -› Download Options -› Shortcode Attributes (Explained)`.
|
410 |
* **Compatibility (#75)** Updated s2Member's local file storage engine (for File Downloads via s2Member®), to support special characters in file names. Discussed in [this thread](http://www.s2member.com/forums/topic/problem-with-quotes-in-filename-downloads/#post-38395).
|
412 |
* **Compatibility** Updated s2Member's integration with Amazon® S3 to extend the default 30 second connection timeout (which was too conservative for many integrations) up to 24 hours by default, making it match the same as s2Member's Amazon® CloudFront connection timeout. For further details, please check your Dashboard under: `s2Member® -› Download Options -› Amazon® S3/CDN Storage -› Dev Note w/Technical Details`. It is possible to modify this connection timeout through a Filter discussed there.
|
413 |
|
414 |
= v130116 =
|
415 |
+
|
416 |
* **(Maintenance Release) Upgrade immediately.**
|
417 |
* **Compatibility (#39)** Updated codes samples for JW Player®, to include the `mp4:` prefix when implementing RTMP streams against MP4 video files. Discussed in [this thread](http://www.s2member.com/forums/topic/cloudfront-subfolder-streaming-error/#post-35750).
|
418 |
* **Compatibility (#51)** Updated Payflow® API to support recurring billing every six months. Discussed in [this thread](http://www.s2member.com/forums/topic/payflow-error-6-month-recurring-membership/#post-36053).
|
420 |
* **Feature Improvement (#71)** s2Member® has been updated to support byte-range requests with it's default local file storage engine, served from the `/s2member-files/` directory. s2Member® has always supported byte-range requests when integrated with Amazon® CloudFront. Now it supports byte-range requests in it's default local storage engine too. This will improve compatibility with mobile devices, iTunes™ and other devices that use byte-range requests. Discussed in [this thread](http://www.s2member.com/forums/topic/any-way-to-set-accept-ranges-for-downloads/#post-15871).
|
421 |
|
422 |
= v121213 =
|
423 |
+
|
424 |
* **(Maintenance Release) Upgrade immediately.**
|
425 |
* **Updated for compatibility with WordPress® v3.5. Backward compatibility remains for previous versions of WordPress®, as far back as WordPress® v3.2.**
|
426 |
* (s2Member Pro) **Bug Fix**. An issue first introduced in s2Member® Pro v120517 where we fixed problems with the `maxlength` attribute in Authorize.Net Pro Forms, left a remaining problem. The State/Province field in the Billing Address section of a Pro Form, since s2Member® Pro v120517, has only accepted 2 characters when it should have been capable of accepting up to 40 characters. Fixed in this release.
|
430 |
* (s2Member Pro) **Bug Fix**. Free Registration Pro Forms submitted without having payment gateway API credentials configured within s2Member® resulted in an on-site error message when there should NOT be one (because a site owner is dealing with Free Registration only in this scenario). Fixed in this release.
|
431 |
|
432 |
= v121204 =
|
433 |
+
|
434 |
* **(Maintenance Release) Upgrade immediately.**
|
435 |
* (s2Member / s2Member Pro) **Bug Fix**. An issue with long billing agreement descriptions under PayPal® Pro (Payflow® Edition) accounts, when coupon codes were being used by customers, was addressed in this release. Symptoms of this bug were errors in s2Member® log files from the Payflow® API, with error code: `11581-Profile description is invalid`. Caused by undocumented length requirements for the billing agreement description under the Payflow® API. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/error-generic-processor-error-11581/page/2/#post-33477).
|
436 |
* (s2Member / s2Member Pro) **Compatibility**. Updated JW Player code samples for compatibility with JW Player v6. Discussed in [this thread](http://www.s2member.com/forums/topic/jw-player-rtmp-streaming-mp4-amazon-s3/page/2/#post-32074).
|
437 |
|
438 |
= v121201 =
|
439 |
+
|
440 |
* **(Maintenance Release) Upgrade immediately.**
|
441 |
* (s2Member / s2Member Pro) **Bug Fix**. Support Rep Cristián Lávaque found a bug in the behavior of s2Member’s Alternative View Restrictions, associated with Category listings in custom menu widgets. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/welcome-page-title-shows-but-no-content/page/2/#post-29802).
|
442 |
* (s2Member Pro) **Feature Enhancement**. s2Member Pro Forms integrated ONLY with PayPal Express Checkout (`accept="paypal" accept_via_paypal="paypal"`), will no longer display a Billing Method section on the Pro Form, as it's not necessary (there's only one possible option in this case, and it's already depicted by the PayPal button at the bottom of the Pro Form). Many site owners had implemented CSS hacks to hide this section of a Pro Form configured this way, based on [this FAQ article](http://www.s2member.com/faqs/#s2-faqs-paypal-pro-not-required). This hack is no longer necessary - starting with this release.
|
446 |
* (s2Member Pro) **Authorize.Net**. True montly billing instead of every 30 days. Fixed in this release. Discussed in [this thread](http://www.s2member.com/forums/topic/1-month-recurring-billing-instead-of-30-days/#post-30420).
|
447 |
|
448 |
= v121023 =
|
449 |
+
|
450 |
* **(Maintenance Release) Upgrade immediately.**
|
451 |
* (s2Member / s2Member Pro) **Bug Fix**. A bug related to s2Member's `is_site_root()` method, when fancy permalinks are NOT in use; has been corrected for compatibility with the latest version of WordPress. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
452 |
* (s2Member Pro) **Import/Export Bug Fix**. An issue related to RFC guidelines for escape sequences in CSV files has been addressed in this release. Please see [this thread](http://www.s2member.com/forums/topic/new-custom-field-default-not-on-old-users/#post-28792) for futher details.
|
458 |
* (s2Member Pro) **ccBill® DataLink Integration**. DataLink integration with ccBill® was modified to prevent dates in the future from being requested from the DataLink API. ccBill® was responding to some DataLink requests with a failed authentication, which were caused by dates/times in the future; according to MST on the ccBill® side of things.
|
459 |
|
460 |
= v120703 =
|
461 |
+
|
462 |
* **(Maintenance Release) Upgrade immediately.**
|
463 |
* (s2Member/s2Member Pro) **Payflow® Express Checkout**. An issue related to Express Checkout (when using the Payflow® API), has been corrected in this release. A bug in previous releases, was causing error messages under certain circumstances that read `Field format error: Invalid PayerID`.
|
464 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Standards compliance. Routine maintenance. Re-confirmed compatibility with WordPress® v3.4.
|
465 |
|
466 |
= v120622 =
|
467 |
+
|
468 |
* **(Maintenance Release) Upgrade immediately.**
|
469 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Confirmed compatibility with WordPress® v3.4.
|
470 |
* (s2Member/s2Member Pro) **Currency Conversion**. This release updates s2Member's currency conversion API, which is powered by Google®. Please see [this thread](http://www.s2member.com/forums/topic/paypal-agreecontinue-sends-to-memb-options/#post-16972) for further details.
|
472 |
* (s2Member/s2Member Pro) **Character Encoding**. This release fixes a big in s2Member's character encoding conversion, for IPN responses received from PayPal®. This releases also fixes an issue specifically with the pound sterling symbol `£`, which was causing some transient IPN data to become corrupted, under the right scenario.
|
473 |
|
474 |
= v120608 =
|
475 |
+
|
476 |
* **(Maintenance Release) Upgrade immediately.**
|
477 |
* (s2Member/s2Member Pro) **WordPress® v3.4**. Updated for compatibility with the coming release of [WordPress® v3.4](http://wordpress.org/news/2012/06/wordpress-3-4-release-candidate-2/). Additional details available [here](http://wordpress.org/news/2012/06/wordpress-3-4-release-candidate-2/).
|
478 |
* (s2Member/s2Member Pro) **Payflow® Bug Fix**. This release addresses two bugs that existed in s2Member's Payflow® integration. Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/transactions-not-going-through/#post-15896) for further details.
|
480 |
* (s2Member) **Documentation**. Code samples for Content Dripping have been updated in the Dashboard, in order to correct a date comparison snippet, which was WRONG. Please check your Dashboard under: `s2Member® -› API Scripting -› Content Dripping -› Example #2`, for the updated code sample.
|
481 |
|
482 |
= v120601 =
|
483 |
+
|
484 |
* **(Maintenance Release) Upgrade immediately.**
|
485 |
* (s2Member Pro) **ClickBank® Button Shortcodes**. This release works around a bug that has been discovered on the ClickBank® side of things, when a `+` character appears in the `desc=""` attribute of your ClickBank® Button Shortcode. Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/clickbank-output-url/#post-15166) for further details.
|
486 |
* (s2Member Pro) **Payflow® Daily Recurrence (Limitation)**. PayPal® Pro accounts with the Payflow® Edition API, are NOT capable of charging on a `daily` recurring basis. Previous releases of s2Member® Pro mistakenly documented this as being possible. Resolved in this release. PayPal® Pro accounts operating with the Payflow® Edition (and integrated with s2Member®), are only capable of charging recurring fees on the following schedules: `weekly, bi-weekly, monthly, quarterly, or yearly`. This is in large part, a limitation in the Payflow® API, which we hope will be resolved by PayPal® in a future version. Please feel free to contact PayPal® if you'd like to vote for this feature! This limitation does NOT affect existing PayPal® Pro accounts operating exclusively under the PayPal® Pro API (e.g. without Payflow®).
|
488 |
* (s2Member/s2Member Pro) **Bug Fix**. A bug related to inaccurate role assignment, under certain scenarios (for administrative accounts). Resolved in this release. Please see [this thread](http://www.s2member.com/forums/topic/inaccurate-role-assignment-in-s2member-pro/#post-14122) for further details.
|
489 |
|
490 |
= v120517 =
|
491 |
+
|
492 |
* **(Maintenance Release) Upgrade immediately.**
|
493 |
* (s2Member Pro) **PayPal® Pro Forms**. This release removes all limitations on the maximum length of an initial trial/period. It is now possible to offer any number of days/weeks/months/years for free, or at a different initial rate.
|
494 |
* (s2Member Pro) **Authorize.Net® Bug Fix**. Max length (i.e. `maxlength=""`) adjusted in Pro Forms integrating with Authorize.Net. Transactions were sometimes failing due to character length restrictions imposed by the Authorize.Net® API. Fixed in this release. Please see [this thread](http://www.s2member.com/forums/topic/customer-charged-but-not-given-access/#post-13454) for further details.
|
495 |
* (s2Member/s2Member Pro) **JW Player® Code Samples**. Updated code samples for JW Player®, to reduce the possibility of a namespace conflict in configuration variables. For further details, please check [this thread](http://www.s2member.com/forums/topic/jw-player-new-code-conflict/#post-13819).
|
496 |
|
497 |
= v120514 =
|
498 |
+
|
499 |
* **(Maintenance Release) Upgrade immediately.**
|
500 |
* (s2Member Pro) **Payflow® API Support**. s2Member® Pro now supports PayPal® Pro accounts operating with the Payflow® edition. It is now possible to process recurring payments through newer PayPal® Pro accounts (e.g. those which may use the new Payflow® API for recurring billing). Please note, this feature should ONLY be used by site owners with a brand new PayPal® Pro account, which has Recurring Billing service enabled under the Payflow® edition. Site owners with existing PayPal® Pro accounts are NOT impacted by this feature, nor should they attempt to use this feature. For further details, please check your Dashboard under: `s2Member® -› PayPal® Options -› Payflow® Account Details`.
|
501 |
* (s2Member Pro) **Authorize.Net® Shortcode Attribute**. A new Shortcode Attribute `rrt=""`, is available for Authorize.Net® Pro Forms. For further details, please check your Dashboard under: `s2Member® -› Authorize.Net® Forms -› Shortcode Attributes (Explained)`.
|
505 |
* (s2Member/s2Member Pro) **JW Player® Code Samples**. Updated code samples for JW Player®. For further details, please check your Dashboard under: `s2Member® -› Download Options -› JW Player® Code Samples`.
|
506 |
|
507 |
= v120309 =
|
508 |
+
|
509 |
* (s2Member Pro) **ccBill® Cancellations**. It's now possible for s2Member to pull ccBill® "cancellation" events, from the ccBill® DataLink Service Suite. For further details and configuration options, please check this section of your Dashboard: `s2Member -› ccBill Options -› DataLink Integration`.
|
510 |
* (s2Member/s2Member Pro) **Bug fix**. Some PHP installations running in safe mode were experiencing `400 Bad Request` errors whenever s2Member's Amazon® CloudFront configuration routines for file downloads were processed. Fixed in this release.
|
511 |
|
512 |
= v120308 =
|
513 |
+
|
514 |
* (s2Member/s2Member Pro) **Custom Registration/Profile Fields**. Now possible to create a Custom Field that's always hidden, during both registration and any future Profile edits (e.g. for administrative purposes only).
|
515 |
* (s2Member/s2Member Pro) **Compatibility**. Minor updates for compatibility with the coming release of WordPress® v3.4.
|
516 |
* (s2Member Pro) **Bug fix**. Broken link in UI leading to: `s2m-pro-extras.zip`. Corrected in this release.
|
517 |
|
518 |
= v120301 - 1.0 =
|
519 |
+
|
520 |
* ... trimmed away at v111220.
|
521 |
* Initial release: v1.0.
|
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
|
@@ -32,7 +32,7 @@ Multisite Blog Farm Compatible: yes
|
|
32 |
PayPal Standard Compatible: yes
|
33 |
PayPal Pro Compatible: yes w/s2Member Pro
|
34 |
Authorize.Net Compatible: yes w/s2Member Pro
|
35 |
-
Google
|
36 |
ClickBank Compatible: yes w/s2Member Pro
|
37 |
|
38 |
Tested up to: 3.7.1
|
@@ -61,7 +61,7 @@ PayPal Pro Integration: http://www.s2member.com/videos/ED70D90C6749DA3D/
|
|
61 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
62 |
|
63 |
Description: s2Member, a powerful (free) membership plugin for WordPress. Protect/secure members only content with roles/capabilities.
|
64 |
-
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
|
65 |
|
66 |
-- end section for WordPress parsing. ------------------------------------------------------------------------------- */
|
67 |
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
@@ -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: 131126
|
23 |
+
Stable tag: 131126
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress Compatible: yes
|
32 |
PayPal Standard Compatible: yes
|
33 |
PayPal Pro Compatible: yes w/s2Member Pro
|
34 |
Authorize.Net Compatible: yes w/s2Member Pro
|
35 |
+
Google Wallet Compatible: yes w/s2Member Pro
|
36 |
ClickBank Compatible: yes w/s2Member Pro
|
37 |
|
38 |
Tested up to: 3.7.1
|
61 |
Professional Installation URI: http://www.s2member.com/professional-installation/
|
62 |
|
63 |
Description: s2Member, a powerful (free) membership plugin for WordPress. Protect/secure members only content with roles/capabilities.
|
64 |
+
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 wallet, clickbank, click bank, buddypress, buddy press, bbpress, bb press, shopping cart, cart, checkout, ecommerce
|
65 |
|
66 |
-- end section for WordPress parsing. ------------------------------------------------------------------------------- */
|
67 |
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
+
define("WS_PLUGIN__S2MEMBER_VERSION", "131126" /* !#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", "131126" /* !#distro-version#! */);
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|