Version Description
= v140423 =
(Maintenance Release) Upgrade immediately.
Download this release
Release Info
Developer | JasWSInc |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 140423 |
Comparing to | |
See all releases |
Code changes from version 140409 to 140423
- checksum.txt +1 -1
- includes/classes/mo-page-in.inc.php +7 -9
- includes/classes/mo-page.inc.php +3 -3
- includes/classes/registration-times.inc.php +236 -101
- includes/classes/registrations.inc.php +1 -1
- includes/classes/user-deletions.inc.php +1 -0
- includes/classes/users-list.inc.php +23 -22
- includes/classes/utils-arrays.inc.php +1 -1
- includes/functions/api-functions.inc.php +10 -1
- includes/hooks.inc.php +16 -15
- includes/menu-pages/code-samples/api-mop-vars-e.x-php +1 -1
- includes/menu-pages/code-samples/api-mop-vars.x-php +4 -4
- includes/menu-pages/menu-pages-s-min.js +1 -1
- includes/menu-pages/menu-pages-s.js +2 -2
- includes/s2member.js +1 -1
- includes/translations/s2member.pot +222 -222
- readme.txt +20 -4
- s2member.php +4 -4
checksum.txt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
2901368de4b8eaf96fc4f5d0dcd5451c
|
includes/classes/mo-page-in.inc.php
CHANGED
@@ -82,8 +82,6 @@ if(!class_exists("c_ws_plugin__s2member_mo_page_in"))
|
|
82 |
* Defaults to ``$seeking_type``.
|
83 |
*
|
84 |
* @return bool This function always returns true.
|
85 |
-
*
|
86 |
-
* @TODO Update documentation in the API Scripting section.
|
87 |
*/
|
88 |
public static function wp_redirect_w_mop_vars($seeking_type = FALSE, $seeking_type_value = FALSE, $req_type = FALSE, $req_type_value = FALSE, $seeking_uri = FALSE, $res_type = FALSE)
|
89 |
{
|
@@ -93,14 +91,14 @@ if(!class_exists("c_ws_plugin__s2member_mo_page_in"))
|
|
93 |
{
|
94 |
if($_param === "seeking_uri" || ($_param === "seeking_type_value" && $seeking_type === "ruri"))
|
95 |
${$_param} = base64_encode((string)${$_param});
|
96 |
-
else ${$_param} = str_replace("
|
97 |
}
|
98 |
unset($_param); // Housekeeping.
|
99 |
|
100 |
if(!$res_type) $res_type = $seeking_type;
|
101 |
|
102 |
-
$vars = $res_type."
|
103 |
-
$vars .= $seeking_type."
|
104 |
$vars = array("_s2member_vars" => $vars);
|
105 |
|
106 |
$status = apply_filters("ws_plugin__s2member_content_redirect_status", 301, get_defined_vars());
|
@@ -120,11 +118,11 @@ if(!class_exists("c_ws_plugin__s2member_mo_page_in"))
|
|
120 |
}
|
121 |
|
122 |
/*
|
123 |
-
* s2Member's MOP Vars are now a dot (
|
124 |
*
|
125 |
* e.g. .../membership-options-page/
|
126 |
-
* ?_s2member_vars=[restriction type]
|
127 |
-
* [seeking type]
|
128 |
*/
|
129 |
public static function back_compat_mop_vars()
|
130 |
{
|
@@ -132,7 +130,7 @@ if(!class_exists("c_ws_plugin__s2member_mo_page_in"))
|
|
132 |
|| !is_string($_REQUEST["_s2member_vars"])
|
133 |
) return;
|
134 |
|
135 |
-
$v = explode("
|
136 |
if(count($v) !== 6) return;
|
137 |
|
138 |
/*
|
82 |
* Defaults to ``$seeking_type``.
|
83 |
*
|
84 |
* @return bool This function always returns true.
|
|
|
|
|
85 |
*/
|
86 |
public static function wp_redirect_w_mop_vars($seeking_type = FALSE, $seeking_type_value = FALSE, $req_type = FALSE, $req_type_value = FALSE, $seeking_uri = FALSE, $res_type = FALSE)
|
87 |
{
|
91 |
{
|
92 |
if($_param === "seeking_uri" || ($_param === "seeking_type_value" && $seeking_type === "ruri"))
|
93 |
${$_param} = base64_encode((string)${$_param});
|
94 |
+
else ${$_param} = str_replace("..", "--", (string)${$_param});
|
95 |
}
|
96 |
unset($_param); // Housekeeping.
|
97 |
|
98 |
if(!$res_type) $res_type = $seeking_type;
|
99 |
|
100 |
+
$vars = $res_type."..".$req_type."..".$req_type_value."..";
|
101 |
+
$vars .= $seeking_type."..".$seeking_type_value."..".$seeking_uri;
|
102 |
$vars = array("_s2member_vars" => $vars);
|
103 |
|
104 |
$status = apply_filters("ws_plugin__s2member_content_redirect_status", 301, get_defined_vars());
|
118 |
}
|
119 |
|
120 |
/*
|
121 |
+
* s2Member's MOP Vars are now a double-dot (`..`) delimited list of six values.
|
122 |
*
|
123 |
* e.g. .../membership-options-page/
|
124 |
+
* ?_s2member_vars=[restriction type]..[requirement type]..[requirement type value]..
|
125 |
+
* [seeking type]..[seeking type value]..[seeking URI base 64 encoded]
|
126 |
*/
|
127 |
public static function back_compat_mop_vars()
|
128 |
{
|
130 |
|| !is_string($_REQUEST["_s2member_vars"])
|
131 |
) return;
|
132 |
|
133 |
+
$v = explode("..", $_REQUEST["_s2member_vars"]);
|
134 |
if(count($v) !== 6) return;
|
135 |
|
136 |
/*
|
includes/classes/mo-page.inc.php
CHANGED
@@ -71,11 +71,11 @@ if(!class_exists("c_ws_plugin__s2member_mo_page"))
|
|
71 |
}
|
72 |
|
73 |
/*
|
74 |
-
* s2Member's MOP Vars are now a dot (
|
75 |
*
|
76 |
* e.g. .../membership-options-page/
|
77 |
-
* ?_s2member_vars=[restriction type]
|
78 |
-
* [seeking type]
|
79 |
*/
|
80 |
public static function back_compat_mop_vars()
|
81 |
{
|
71 |
}
|
72 |
|
73 |
/*
|
74 |
+
* s2Member's MOP Vars are now a double-dot (`..`) delimited list of six values.
|
75 |
*
|
76 |
* e.g. .../membership-options-page/
|
77 |
+
* ?_s2member_vars=[restriction type]..[requirement type]..[requirement type value]..
|
78 |
+
* [seeking type]..[seeking type value]..[seeking URI base 64 encoded]
|
79 |
*/
|
80 |
public static function back_compat_mop_vars()
|
81 |
{
|
includes/classes/registration-times.inc.php
CHANGED
@@ -1,110 +1,245 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Registration Times.
|
4 |
-
*
|
5 |
-
* Copyright: © 2009-2011
|
6 |
-
* {@link http://www.websharks-inc.com/ WebSharks, Inc.}
|
7 |
-
* (coded in the USA)
|
8 |
-
*
|
9 |
-
* Released under the terms of the GNU General Public License.
|
10 |
-
* You should have received a copy of the GNU General Public License,
|
11 |
-
* along with this software. In the main directory, see: /licensing/
|
12 |
-
* If not, see: {@link http://www.gnu.org/licenses/}.
|
13 |
-
*
|
14 |
-
* @package s2Member\Registrations
|
15 |
-
* @since 3.5
|
16 |
-
*/
|
17 |
-
if
|
18 |
exit ("Do not access this file directly.");
|
19 |
|
20 |
-
if
|
21 |
{
|
22 |
/**
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
class c_ws_plugin__s2member_registration_times
|
29 |
-
|
30 |
-
|
31 |
-
|
32 |
-
|
33 |
-
|
34 |
-
|
35 |
-
|
36 |
-
|
37 |
-
|
38 |
-
|
39 |
-
|
40 |
-
|
41 |
-
|
42 |
-
|
43 |
-
|
44 |
-
|
45 |
-
|
46 |
-
|
47 |
-
|
48 |
-
|
49 |
-
|
50 |
-
|
51 |
-
|
52 |
-
|
53 |
-
|
54 |
-
|
55 |
-
|
56 |
-
|
57 |
-
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
|
62 |
-
|
63 |
-
|
64 |
-
|
65 |
-
|
66 |
-
|
67 |
-
|
68 |
-
|
69 |
-
|
70 |
-
|
71 |
-
|
72 |
-
|
73 |
-
|
74 |
-
|
75 |
-
|
76 |
-
|
77 |
-
|
78 |
-
|
79 |
-
|
80 |
-
|
81 |
-
|
82 |
-
|
83 |
-
|
84 |
-
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
return apply_filters
|
107 |
-
|
108 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
109 |
}
|
110 |
?>
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Registration Times.
|
4 |
+
*
|
5 |
+
* Copyright: © 2009-2011
|
6 |
+
* {@link http://www.websharks-inc.com/ WebSharks, Inc.}
|
7 |
+
* (coded in the USA)
|
8 |
+
*
|
9 |
+
* Released under the terms of the GNU General Public License.
|
10 |
+
* You should have received a copy of the GNU General Public License,
|
11 |
+
* along with this software. In the main directory, see: /licensing/
|
12 |
+
* If not, see: {@link http://www.gnu.org/licenses/}.
|
13 |
+
*
|
14 |
+
* @package s2Member\Registrations
|
15 |
+
* @since 3.5
|
16 |
+
*/
|
17 |
+
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
18 |
exit ("Do not access this file directly.");
|
19 |
|
20 |
+
if(!class_exists("c_ws_plugin__s2member_registration_times"))
|
21 |
{
|
22 |
/**
|
23 |
+
* Registration Times.
|
24 |
+
*
|
25 |
+
* @package s2Member\Registrations
|
26 |
+
* @since 3.5
|
27 |
+
*/
|
28 |
class c_ws_plugin__s2member_registration_times
|
29 |
+
{
|
30 |
+
/**
|
31 |
+
* Synchronizes Paid Registration Times with Role assignments.
|
32 |
+
*
|
33 |
+
* @package s2Member\Registrations
|
34 |
+
* @since 3.5
|
35 |
+
*
|
36 |
+
* @attaches-to ``add_action("set_user_role");``
|
37 |
+
*
|
38 |
+
* @param int|str $user_id A numeric WordPress User ID should be passed in by the Action Hook.
|
39 |
+
* @param str $role A WordPress Role ID/Name should be passed in by the Action Hook.
|
40 |
+
*
|
41 |
+
* @return null
|
42 |
+
*/
|
43 |
+
public static function synchronize_paid_reg_times($user_id = FALSE, $role = FALSE)
|
44 |
+
{
|
45 |
+
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
|
46 |
+
do_action("ws_plugin__s2member_before_synchronize_paid_reg_times", get_defined_vars());
|
47 |
+
unset($__refs, $__v);
|
48 |
+
|
49 |
+
if($user_id && is_object($user = new WP_User ($user_id)) && !empty ($user->ID) && ($level = c_ws_plugin__s2member_user_access::user_access_level($user)) > 0)
|
50 |
+
{
|
51 |
+
$pr_times = get_user_option("s2member_paid_registration_times", $user_id);
|
52 |
+
$pr_times["level"] = (empty ($pr_times["level"])) ? time() : $pr_times["level"];
|
53 |
+
$pr_times["level".$level] = (empty ($pr_times["level".$level])) ? time() : $pr_times["level".$level];
|
54 |
+
update_user_option($user_id, "s2member_paid_registration_times", $pr_times); // Update now.
|
55 |
+
}
|
56 |
+
}
|
57 |
+
|
58 |
+
/**
|
59 |
+
* Retrieves a Registration Time.
|
60 |
+
*
|
61 |
+
* @package s2Member\Registrations
|
62 |
+
* @since 3.5
|
63 |
+
*
|
64 |
+
* @param int|str $user_id Optional. A numeric WordPress User ID. Defaults to the current User, if logged-in.
|
65 |
+
*
|
66 |
+
* @return int A Unix timestamp, indicating Registration Time, else `0` on failure.
|
67 |
+
*/
|
68 |
+
public static function registration_time($user_id = FALSE)
|
69 |
+
{
|
70 |
+
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
|
71 |
+
do_action("ws_plugin__s2member_before_registration_time", get_defined_vars());
|
72 |
+
unset($__refs, $__v);
|
73 |
+
|
74 |
+
$user = ($user_id) ? new WP_User ($user_id) : ((is_user_logged_in()) ? wp_get_current_user() : FALSE);
|
75 |
+
|
76 |
+
if(is_object($user) && !empty ($user->ID) && ($user_id = $user->ID) && $user->user_registered)
|
77 |
+
{
|
78 |
+
return apply_filters("ws_plugin__s2member_registration_time", strtotime($user->user_registered), get_defined_vars());
|
79 |
+
}
|
80 |
+
else // Else we return a default value of 0, because there is insufficient data.
|
81 |
+
return apply_filters("ws_plugin__s2member_registration_time", 0, get_defined_vars());
|
82 |
+
}
|
83 |
+
|
84 |
+
/**
|
85 |
+
* Retrieves a Paid Registration Time.
|
86 |
+
*
|
87 |
+
* @package s2Member\Registrations
|
88 |
+
* @since 3.5
|
89 |
+
*
|
90 |
+
* @param int|str $level Optional. Defaults to the first/initial Paid Registration Time, regardless of Level#.
|
91 |
+
* @param int|str $user_id Optional. A numeric WordPress User ID. Defaults to the current User, if logged-in.
|
92 |
+
*
|
93 |
+
* @return int A Unix timestamp, indicating Paid Registration Time, else `0` on failure.
|
94 |
+
*/
|
95 |
+
public static function paid_registration_time($level = FALSE, $user_id = FALSE)
|
96 |
+
{
|
97 |
+
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
|
98 |
+
do_action("ws_plugin__s2member_before_paid_registration_time", get_defined_vars());
|
99 |
+
unset($__refs, $__v);
|
100 |
+
|
101 |
+
$level = (!is_numeric($level)) ? "level" : "level".preg_replace("/[^0-9]/", "", (string)$level);
|
102 |
+
$user = ($user_id) ? new WP_User ($user_id) : ((is_user_logged_in()) ? wp_get_current_user() : FALSE);
|
103 |
+
|
104 |
+
if($level && is_object($user) && !empty ($user->ID) && ($user_id = $user->ID) && is_array($pr_times = get_user_option("s2member_paid_registration_times", $user_id)))
|
105 |
+
{
|
106 |
+
return apply_filters("ws_plugin__s2member_paid_registration_time", ((isset ($pr_times[$level])) ? (int)$pr_times[$level] : 0), get_defined_vars());
|
107 |
+
}
|
108 |
+
else // Else we return a default value of `0`, because there is insufficient data.
|
109 |
+
return apply_filters("ws_plugin__s2member_paid_registration_time", 0, get_defined_vars());
|
110 |
+
}
|
111 |
+
|
112 |
+
/**
|
113 |
+
* Logs capability times.
|
114 |
+
*
|
115 |
+
* @package s2Member\Registrations
|
116 |
+
* @since 140418
|
117 |
+
*
|
118 |
+
* @attaches-to ``add_action("update_user_meta")``
|
119 |
+
*
|
120 |
+
* @param integer $meta_id Meta row ID in database.
|
121 |
+
* @param integer $object_id User ID.
|
122 |
+
* @param string $meta_key Meta key.
|
123 |
+
* @param mixed $meta_value Meta value.
|
124 |
+
*/
|
125 |
+
public static function log_capability_time($meta_id, $object_id, $meta_key, $meta_value)
|
126 |
+
{
|
127 |
+
$wpdb = $GLOBALS["wpdb"];
|
128 |
+
/** @var $wpdb \wpdb For IDEs. */
|
129 |
+
|
130 |
+
if(strpos($meta_key, "capabilities") === FALSE
|
131 |
+
|| $meta_key !== $wpdb->get_blog_prefix()."capabilities"
|
132 |
+
) return; // Not updating caps.
|
133 |
+
|
134 |
+
/*
|
135 |
+
* NOTE: $prev_caps (and $new_caps) both include individual non-role caps (e.g. `access_s2member_ccap_x`).
|
136 |
+
* These arrays ALSO include role names (minus role-specific caps); e.g. `administrator` or `s2member_level1`;
|
137 |
+
* but NOT `delete_users` or `access_s2member_leveln`.
|
138 |
+
*/
|
139 |
+
|
140 |
+
$user_id = $object_id;
|
141 |
+
if(!is_array($new_caps = $meta_value))
|
142 |
+
$new_caps = array(); // All caps removed.
|
143 |
+
|
144 |
+
$user = new WP_User($user_id);
|
145 |
+
if(!$user->ID || !$user->exists())
|
146 |
+
return; // Not a valid user.
|
147 |
+
$prev_caps = $user->caps;
|
148 |
+
|
149 |
+
/*
|
150 |
+
* NOTE: we iterate these arrays so that it's possible to properly analzye boolean flags.
|
151 |
+
* WordPress can enable/disable a cap by adding/removing it; or by flagging it as TRUE|FALSE.
|
152 |
+
*/
|
153 |
+
$caps_added = $caps_removed = array();
|
154 |
+
|
155 |
+
foreach($new_caps as $_new_cap => $_is_enabled)
|
156 |
+
if($_is_enabled && (!array_key_exists($_new_cap, $prev_caps) || !$prev_caps[$_new_cap]))
|
157 |
+
$caps_added[] = $_new_cap;
|
158 |
+
|
159 |
+
foreach($prev_caps as $_prev_cap => $_was_enabled)
|
160 |
+
if(!array_key_exists($_prev_cap, $new_caps) || (!$new_caps[$_prev_cap] && $_was_enabled))
|
161 |
+
$caps_removed[] = $_prev_cap;
|
162 |
+
|
163 |
+
unset($_new_cap, $_is_enabled, $_prev_cap, $_was_enabled);
|
164 |
+
|
165 |
+
/*
|
166 |
+
* Below, we log CAPS that begin with:
|
167 |
+
*
|
168 |
+
* `s2member_level`
|
169 |
+
* or `access_s2member_ccap_`
|
170 |
+
*
|
171 |
+
* This makes it possible for us to get access times for all s2Member Levels, and for CCAPS too.
|
172 |
+
*/
|
173 |
+
foreach(array_unique($caps_added) as $_cap)
|
174 |
+
if(strpos($_cap, "s2member_level") === 0 || strpos($_cap, "access_s2member_ccap_") === 0)
|
175 |
+
c_ws_plugin__s2member_registration_times::_log_capability_time($user_id, $_cap);
|
176 |
+
|
177 |
+
foreach(array_unique($caps_removed) as $_cap)
|
178 |
+
if(strpos($_cap, "s2member_level") === 0 || strpos($_cap, "access_s2member_ccap_") === 0)
|
179 |
+
c_ws_plugin__s2member_registration_times::_log_capability_time($user_id, $_cap, TRUE);
|
180 |
+
|
181 |
+
unset($_cap); // Housekeeping.
|
182 |
+
}
|
183 |
+
|
184 |
+
/**
|
185 |
+
* Records access times.
|
186 |
+
*
|
187 |
+
* @package s2Member\Registrations
|
188 |
+
* @since 140418
|
189 |
+
*
|
190 |
+
* @param integer $user_id WP user ID.
|
191 |
+
* @param integer $access_cap s2Member-related capability.
|
192 |
+
* @param boolean $removed Defaults to a FALSE value. Flag as TRUE if `$access_cap` is being removed instead of being added.
|
193 |
+
*/
|
194 |
+
public static function _log_capability_time($user_id, $access_cap, $removed = FALSE)
|
195 |
+
{
|
196 |
+
foreach(array_keys(get_defined_vars()) as $__v) $__refs[$__v] =& $$__v;
|
197 |
+
do_action("ws_plugin__s2member_before_log_capability_time", get_defined_vars());
|
198 |
+
unset($__refs, $__v);
|
199 |
+
|
200 |
+
if($user_id && $access_cap)
|
201 |
+
{
|
202 |
+
$user_id = (integer)$user_id;
|
203 |
+
$ac_times = get_user_option("s2member_capability_times", $user_id);
|
204 |
+
$ac_times[time()] = ($removed ? "-" : "").$access_cap;
|
205 |
+
update_user_option($user_id, "s2member_capability_times", $ac_times);
|
206 |
+
|
207 |
+
do_action("ws_plugin__s2member_during_log_capability_time", get_defined_vars());
|
208 |
+
}
|
209 |
+
do_action("ws_plugin__s2member_after_log_capability_time", get_defined_vars());
|
210 |
+
}
|
211 |
+
|
212 |
+
/**
|
213 |
+
* Gets access capability times.
|
214 |
+
*
|
215 |
+
* @package s2Member\Registrations
|
216 |
+
* @since 140418
|
217 |
+
*
|
218 |
+
* @param integer $user_id WP User ID.
|
219 |
+
* @param boolean $access_caps Optional. An array of access capabilities to get the times for.
|
220 |
+
* If removal times are desired, you should add a `-` prefix.
|
221 |
+
*
|
222 |
+
* @return array An array of all access capability times.
|
223 |
+
* Keys are UTC timestamps, values are the capabilities (including `-` prefixed removals).
|
224 |
+
*/
|
225 |
+
public static function get_capability_times($user_id, $access_caps = FALSE)
|
226 |
+
{
|
227 |
+
if(($user_id = (integer)$user_id))
|
228 |
+
{
|
229 |
+
$ac_times = get_user_option("s2member_capability_times", $user_id);
|
230 |
+
|
231 |
+
if(!is_array($ac_times))
|
232 |
+
$ac_times = array();
|
233 |
+
|
234 |
+
else if($access_caps)
|
235 |
+
$ac_times = array_intersect($ac_times, (array)$access_caps);
|
236 |
+
|
237 |
+
ksort($ac_times);
|
238 |
+
}
|
239 |
+
else $ac_times = array();
|
240 |
+
|
241 |
+
return apply_filters("ws_plugin__s2member_get_capability_times", $ac_times, get_defined_vars());
|
242 |
+
}
|
243 |
+
}
|
244 |
}
|
245 |
?>
|
includes/classes/registrations.inc.php
CHANGED
@@ -974,7 +974,7 @@ if (!class_exists ("c_ws_plugin__s2member_registrations"))
|
|
974 |
unset($sbj, $msg, $var, $val, $recipient, $email_configs_were_on); // Housekeeping.
|
975 |
}
|
976 |
|
977 |
-
if ($url = $GLOBALS["ws_plugin__s2member_registration_return_url"])
|
978 |
|
979 |
if (($url = preg_replace ("/%%cv([0-9]+)%%/ei", 'urlencode(trim($cv[$1]))', $url)))
|
980 |
if (($url = preg_replace ("/%%role%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (urlencode ($role)), $url)))
|
974 |
unset($sbj, $msg, $var, $val, $recipient, $email_configs_were_on); // Housekeeping.
|
975 |
}
|
976 |
|
977 |
+
if (!empty($GLOBALS["ws_plugin__s2member_registration_return_url"]) && ($url = $GLOBALS["ws_plugin__s2member_registration_return_url"]))
|
978 |
|
979 |
if (($url = preg_replace ("/%%cv([0-9]+)%%/ei", 'urlencode(trim($cv[$1]))', $url)))
|
980 |
if (($url = preg_replace ("/%%role%%/i", c_ws_plugin__s2member_utils_strings::esc_ds (urlencode ($role)), $url)))
|
includes/classes/user-deletions.inc.php
CHANGED
@@ -118,6 +118,7 @@ if (!class_exists ("c_ws_plugin__s2member_user_deletions"))
|
|
118 |
|
119 |
delete_user_option ($user_id, "s2member_ipn_signup_vars");
|
120 |
delete_user_option ($user_id, "s2member_paid_registration_times");
|
|
|
121 |
delete_user_option ($user_id, "s2member_sp_references");
|
122 |
|
123 |
delete_user_option ($user_id, "s2member_last_status_scan");
|
118 |
|
119 |
delete_user_option ($user_id, "s2member_ipn_signup_vars");
|
120 |
delete_user_option ($user_id, "s2member_paid_registration_times");
|
121 |
+
delete_user_option ($user_id, "s2member_capability_times");
|
122 |
delete_user_option ($user_id, "s2member_sp_references");
|
123 |
|
124 |
delete_user_option ($user_id, "s2member_last_status_scan");
|
includes/classes/users-list.inc.php
CHANGED
@@ -80,28 +80,29 @@ if (!class_exists ("c_ws_plugin__s2member_users_list"))
|
|
80 |
do_action ("ws_plugin__s2member_before_users_list_search", get_defined_vars ());
|
81 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
82 |
|
83 |
-
if (
|
84 |
-
if
|
85 |
-
|
86 |
-
|
87 |
-
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
|
|
105 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
106 |
do_action ("ws_plugin__s2member_after_users_list_search", get_defined_vars ());
|
107 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
80 |
do_action ("ws_plugin__s2member_before_users_list_search", get_defined_vars ());
|
81 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
82 |
|
83 |
+
if (is_admin() && !empty($GLOBALS['pagenow']) && $GLOBALS['pagenow'] === 'users.php')
|
84 |
+
if(isset ($query->query_vars) && !is_network_admin ()) // NOT in Network admin panels.
|
85 |
+
if (is_array ($qv = $query->query_vars) && ($s = trim ($qv["search"], "* \t\n\r\0\x0B")) && ($s = "%" . esc_sql (like_escape ($s)) . "%"))
|
86 |
+
{
|
87 |
+
$query->query_fields = "SQL_CALC_FOUND_ROWS DISTINCT(`" . $wpdb->users . "`.`ID`)";
|
88 |
+
$query->query_from = " FROM `" . $wpdb->users . "`, `" . $wpdb->usermeta . "`"; // Include meta table also.
|
89 |
+
$query->query_where = " WHERE `" . $wpdb->users . "`.`ID` = `" . $wpdb->usermeta . "`.`user_id`"; // Join w/ meta table.
|
90 |
+
$query->query_where .= " AND (" . apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_before", "", get_defined_vars ());
|
91 |
+
$query->query_where .= " (`" . $wpdb->users . "`.`user_login` LIKE '" . $s . "' OR `" . $wpdb->users . "`.`user_nicename` LIKE '" . $s . "' OR `" . $wpdb->users . "`.`display_name` LIKE '" . $s . "' OR `" . $wpdb->users . "`.`user_email` LIKE '" . $s . "' OR `" . $wpdb->users . "`.`user_url` LIKE '" . $s . "')";
|
92 |
+
$query->query_where .= " OR ((`" . $wpdb->usermeta . "`.`meta_key` = 'first_name' OR `" . $wpdb->usermeta . "`.`meta_key` = 'last_name') AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
93 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_subscr_id' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
94 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_custom' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
95 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_custom_fields' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
96 |
+
if(apply_filters("ws_plugin__s2member_users_list_search_admin_notes", false, get_defined_vars())) // Off by default; this can get very slow on large sites.
|
97 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_notes' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
98 |
+
$query->query_where .= apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_after", "", get_defined_vars ()) . ")"; // Leaving room for additional searches here.
|
99 |
+
|
100 |
+
if(is_multisite()) // On a Multisite Network we need to make sure we're searching only users w/ capabilities on this blog.
|
101 |
+
$query->query_where .= " AND `" . $wpdb->users . "`.`ID` IN(SELECT DISTINCT(`user_id`) FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = '" . $wpdb->prefix . "capabilities')";
|
102 |
+
|
103 |
+
$query->query_from = apply_filters ("ws_plugin__s2member_before_users_list_search_from", $query->query_from, get_defined_vars ());
|
104 |
+
$query->query_where = apply_filters ("ws_plugin__s2member_before_users_list_search_where", $query->query_where, get_defined_vars ());
|
105 |
+
}
|
106 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
107 |
do_action ("ws_plugin__s2member_after_users_list_search", get_defined_vars ());
|
108 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
includes/classes/utils-arrays.inc.php
CHANGED
@@ -216,7 +216,7 @@ if (!class_exists ("c_ws_plugin__s2member_utils_arrays"))
|
|
216 |
* See: {@link http://www.php.net/manual/en/function.ksort.php}
|
217 |
* @return Unlike PHP's ``ksort()``, this function returns the array, and does NOT work on a reference.
|
218 |
*/
|
219 |
-
function ksort_deep ($array = FALSE, $flags = SORT_REGULAR)
|
220 |
{
|
221 |
$array = (array)$array;
|
222 |
ksort /* Sort by key. */ ($array, $flags);
|
216 |
* See: {@link http://www.php.net/manual/en/function.ksort.php}
|
217 |
* @return Unlike PHP's ``ksort()``, this function returns the array, and does NOT work on a reference.
|
218 |
*/
|
219 |
+
public static function ksort_deep ($array = FALSE, $flags = SORT_REGULAR)
|
220 |
{
|
221 |
$array = (array)$array;
|
222 |
ksort /* Sort by key. */ ($array, $flags);
|
includes/functions/api-functions.inc.php
CHANGED
@@ -2240,11 +2240,20 @@ if(!function_exists("s2member_registration_time"))
|
|
2240 |
*/
|
2241 |
if(!function_exists("s2member_paid_registration_time"))
|
2242 |
{
|
2243 |
-
function s2member_paid_registration_time($level =
|
2244 |
{
|
2245 |
return c_ws_plugin__s2member_registration_times::paid_registration_time($level, $user_id);
|
2246 |
}
|
2247 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
2248 |
/**
|
2249 |
* A powerful function that can retrieve almost anything
|
2250 |
* you need to know about the current User, and/or a particular User.
|
2240 |
*/
|
2241 |
if(!function_exists("s2member_paid_registration_time"))
|
2242 |
{
|
2243 |
+
function s2member_paid_registration_time($level = false, $user_id = false)
|
2244 |
{
|
2245 |
return c_ws_plugin__s2member_registration_times::paid_registration_time($level, $user_id);
|
2246 |
}
|
2247 |
}
|
2248 |
+
if(!function_exists("s2member_capability_times"))
|
2249 |
+
{
|
2250 |
+
function s2member_capability_times($user_id = false, $levels_and_or_caps = false)
|
2251 |
+
{
|
2252 |
+
if(!$user_id) $user_id = get_current_user_id();
|
2253 |
+
|
2254 |
+
return c_ws_plugin__s2member_registration_times::get_capability_times($user_id, $levels_and_or_caps);
|
2255 |
+
}
|
2256 |
+
}
|
2257 |
/**
|
2258 |
* A powerful function that can retrieve almost anything
|
2259 |
* you need to know about the current User, and/or a particular User.
|
includes/hooks.inc.php
CHANGED
@@ -1,19 +1,19 @@
|
|
1 |
<?php
|
2 |
/**
|
3 |
-
* Primary Hooks/Filters used by the s2Member plugin.
|
4 |
-
*
|
5 |
-
* Copyright: © 2009-2011
|
6 |
-
* {@link http://www.websharks-inc.com/ WebSharks, Inc.}
|
7 |
-
* (coded in the USA)
|
8 |
-
*
|
9 |
-
* Released under the terms of the GNU General Public License.
|
10 |
-
* You should have received a copy of the GNU General Public License,
|
11 |
-
* along with this software. In the main directory, see: /licensing/
|
12 |
-
* If not, see: {@link http://www.gnu.org/licenses/}.
|
13 |
-
*
|
14 |
-
* @package s2Member
|
15 |
-
* @since 3.0
|
16 |
-
*/
|
17 |
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
18 |
exit("Do not access this file directly.");
|
19 |
/*
|
@@ -63,7 +63,7 @@ add_action("wp", "c_ws_plugin__s2member_security::security_gate", 1);
|
|
63 |
|
64 |
add_filter("wp_mail", "c_ws_plugin__s2member_email_configs::email_filter");
|
65 |
|
66 |
-
add_filter
|
67 |
|
68 |
add_action("wp_print_styles", "c_ws_plugin__s2member_css_js_themes::add_css");
|
69 |
add_action("wp_print_scripts", "c_ws_plugin__s2member_css_js_themes::add_js_w_globals");
|
@@ -159,6 +159,7 @@ add_action("show_user_profile", "c_ws_plugin__s2member_users_list::users_list_ed
|
|
159 |
add_action("edit_user_profile_update", "c_ws_plugin__s2member_users_list::users_list_update_cols");
|
160 |
add_action("personal_options_update", "c_ws_plugin__s2member_users_list::users_list_update_cols");
|
161 |
add_action("set_user_role", "c_ws_plugin__s2member_registration_times::synchronize_paid_reg_times", 10, 2);
|
|
|
162 |
add_filter("show_password_fields", "c_ws_plugin__s2member_user_securities::hide_password_fields", 10, 2);
|
163 |
|
164 |
add_filter("cron_schedules", "c_ws_plugin__s2member_cron_jobs::extend_cron_schedules");
|
1 |
<?php
|
2 |
/**
|
3 |
+
* Primary Hooks/Filters used by the s2Member plugin.
|
4 |
+
*
|
5 |
+
* Copyright: © 2009-2011
|
6 |
+
* {@link http://www.websharks-inc.com/ WebSharks, Inc.}
|
7 |
+
* (coded in the USA)
|
8 |
+
*
|
9 |
+
* Released under the terms of the GNU General Public License.
|
10 |
+
* You should have received a copy of the GNU General Public License,
|
11 |
+
* along with this software. In the main directory, see: /licensing/
|
12 |
+
* If not, see: {@link http://www.gnu.org/licenses/}.
|
13 |
+
*
|
14 |
+
* @package s2Member
|
15 |
+
* @since 3.0
|
16 |
+
*/
|
17 |
if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
18 |
exit("Do not access this file directly.");
|
19 |
/*
|
63 |
|
64 |
add_filter("wp_mail", "c_ws_plugin__s2member_email_configs::email_filter");
|
65 |
|
66 |
+
add_filter("widget_text", "do_shortcode"); // Shortcodes in widgets.
|
67 |
|
68 |
add_action("wp_print_styles", "c_ws_plugin__s2member_css_js_themes::add_css");
|
69 |
add_action("wp_print_scripts", "c_ws_plugin__s2member_css_js_themes::add_js_w_globals");
|
159 |
add_action("edit_user_profile_update", "c_ws_plugin__s2member_users_list::users_list_update_cols");
|
160 |
add_action("personal_options_update", "c_ws_plugin__s2member_users_list::users_list_update_cols");
|
161 |
add_action("set_user_role", "c_ws_plugin__s2member_registration_times::synchronize_paid_reg_times", 10, 2);
|
162 |
+
add_action("update_user_meta", "c_ws_plugin__s2member_registration_times::log_capability_time", 10, 4);
|
163 |
add_filter("show_password_fields", "c_ws_plugin__s2member_user_securities::hide_password_fields", 10, 2);
|
164 |
|
165 |
add_filter("cron_schedules", "c_ws_plugin__s2member_cron_jobs::extend_cron_schedules");
|
includes/menu-pages/code-samples/api-mop-vars-e.x-php
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?php
|
2 |
if(!empty($_REQUEST["_s2member_vars"]))
|
3 |
@list($restriction_type, $requirement_type, $requirement_type_value, $seeking_type, $seeking_type_value, $seeking_uri)
|
4 |
-
= explode("
|
5 |
|
6 |
if (!empty($seeking_type) /* One of: page|post|catg|ptag|file|ruri */ )
|
7 |
echo 'You were trying to access a protected: ' . esc_html($seeking_type) . '.';
|
1 |
<?php
|
2 |
if(!empty($_REQUEST["_s2member_vars"]))
|
3 |
@list($restriction_type, $requirement_type, $requirement_type_value, $seeking_type, $seeking_type_value, $seeking_uri)
|
4 |
+
= explode("..", stripslashes((string)$_REQUEST["_s2member_vars"]));
|
5 |
|
6 |
if (!empty($seeking_type) /* One of: page|post|catg|ptag|file|ruri */ )
|
7 |
echo 'You were trying to access a protected: ' . esc_html($seeking_type) . '.';
|
includes/menu-pages/code-samples/api-mop-vars.x-php
CHANGED
@@ -1,12 +1,12 @@
|
|
1 |
-----------------------------------------------------------------------------------------------------------
|
2 |
-
Example redirection link with MOP Vars, in
|
3 |
-----------------------------------------------------------------------------------------------------------
|
4 |
|
5 |
-
s2Member's MOP Vars are now a dot (
|
6 |
|
7 |
.../membership-options-page/
|
8 |
-
?_s2member_vars=[restriction type]
|
9 |
-
[seeking type]
|
10 |
|
11 |
-----------------------------------------------------------------------------------------------------------
|
12 |
|
1 |
-----------------------------------------------------------------------------------------------------------
|
2 |
+
Example redirection link with MOP Vars, in pseudo code:
|
3 |
-----------------------------------------------------------------------------------------------------------
|
4 |
|
5 |
+
s2Member's MOP Vars are now a double-dot (`..`) delimited list of six values.
|
6 |
|
7 |
.../membership-options-page/
|
8 |
+
?_s2member_vars=[restriction type]..[requirement type]..[requirement type value]..
|
9 |
+
[seeking type]..[seeking type value]..[seeking URI base 64 encoded]
|
10 |
|
11 |
-----------------------------------------------------------------------------------------------------------
|
12 |
|
includes/menu-pages/menu-pages-s-min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function($){var esc_attr=esc_html=function(str){return String(str).replace(/"/g,""").replace(/\</g,"<").replace(/\>/g,">")};if(location.href.match(/page\=ws-plugin--s2member/)){$("input.ws-plugin--s2member-update-roles-button, input.ws-plugin--s2member-reset-roles-button").click(function(){var $this=$(this);$this.val("one moment please ...");var levels='<?php echo (int)$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; ?>';var resetUpdate=($this.hasClass("ws-plugin--s2member-reset-roles-button"))?"Reset":"Update";$.post(ajaxurl,{action:"ws_plugin__s2member_update_roles_via_ajax",ws_plugin__s2member_update_roles_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-update-roles-via-ajax")); ?>'},function(response){if(response==="1"){alert("s2Member's Roles/Capabilities "+((resetUpdate.toLowerCase()==="reset")?"have been successfully reset":"updated successfully")+".\nYour installation of s2Member has Membership Levels 0-"+levels+"."),$this.val(resetUpdate+" Roles/Capabilities")}else{if(response==="l"){alert("Sorry, your request failed.\ns2Member's Roles/Capabilities are locked by Filter:\nws_plugin__s2member_lock_roles_caps"),$this.val(resetUpdate+" Roles/Capabilities")}else{alert("Sorry, your request failed.\nAccess denied. Do you have the ability to `create_users`?"),$this.val(resetUpdate+" Roles/Capabilities")}}});return false})}if(location.href.match(/page\=ws-plugin--s2member-logs/)){$("input#ws-plugin--s2member-gateway-debug-logs-extensive-1").click(function(){var $this=$(this),thisChecked=(this.checked)?true:false;if(thisChecked){$("input#ws-plugin--s2member-gateway-debug-logs-1").attr("checked","checked")}});var $toggles=$("a.ws-plugin--s2member-log-file-viewport-toggle");$toggles.click(function(){$("textarea#ws-plugin--s2member-log-file-viewer").each(function(){var $viewer=$(this);if($viewer.attr("data-state")!=="expanded"){$viewer.css({height:($viewer.prop("scrollHeight")+50)+"px","overflow-y":"auto"});$toggles.html("⇑ normalize viewport ❙");$viewer.attr("data-state","expanded")}else{$viewer.css({height:"auto","overflow-y":"scroll"});$toggles.html("⇓ expand viewport ⇓");$viewer.attr("data-state","scrolling")}});return false})}if(location.href.match(/page\=ws-plugin--s2member-mms-ops/)){$("select#ws-plugin--s2member-mms-registration-file").change(function(){if($(this).val()==="wp-signup"){var gv=$("select#ws-plugin--s2member-mms-registration-grants").val(),l0v=$("input#ws-plugin--s2member-mms-registration-blogs-level0").val();$("div#ws-plugin--s2member-mms-registration-support-package-details-wrapper").show(),$("div.ws-plugin--s2member-mms-registration-wp-login, table.ws-plugin--s2member-mms-registration-wp-login").hide(),$("div.ws-plugin--s2member-mms-registration-wp-signup, table.ws-plugin--s2member-mms-registration-wp-signup").show();$("div.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0, table.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0")[((gv==="all")?"show":"hide")]();$("input#ws-plugin--s2member-mms-registration-blogs-level0").val(((gv==="all")?((l0v>0)?l0v:"1"):"0"))}else{if($(this).val()==="wp-login"){var gv=$("select#ws-plugin--s2member-mms-registration-grants").val(),l0v=$("input#ws-plugin--s2member-mms-registration-blogs-level0").val();$("div#ws-plugin--s2member-mms-registration-support-package-details-wrapper").hide(),$("div.ws-plugin--s2member-mms-registration-wp-login, table.ws-plugin--s2member-mms-registration-wp-login").show(),$("div.ws-plugin--s2member-mms-registration-wp-signup, table.ws-plugin--s2member-mms-registration-wp-signup").hide();$("div.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0, table.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0").hide();$("input#ws-plugin--s2member-mms-registration-blogs-level0").val("0")}}}).trigger("change");$("select#ws-plugin--s2member-mms-registration-grants").change(function(){$("select#ws-plugin--s2member-mms-registration-file").trigger("change")})}if(location.href.match(/page\=ws-plugin--s2member-gen-ops/)){ws_plugin__s2member_generateSecurityKey=function(){var mt_rand=function(min,max){min=(arguments.length<1)?0:min;max=(arguments.length<2)?2147483647:max;return Math.floor(Math.random()*(max-min+1))+min};var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()";for(var i=0,key="";i<64;i++){key+=chars.substr(mt_rand(0,chars.length-1),1)}$("input#ws-plugin--s2member-sec-encryption-key").val(key);return false};ws_plugin__s2member_enableSecurityKey=function(){if(confirm("Edit Key? Are you sure?\nThis could break your installation!\n\n*Note* If you've been testing s2Member, feel free to change this Key before you go live. Just don't go live, and then change it. You'll have unhappy Customers. Data corruption WILL occur! For your safety, s2Member keeps a history of the last 10 Keys that you've used. If you get yourself into a real situation, s2Member will let you revert back to a previous Key.")){$("input#ws-plugin--s2member-sec-encryption-key").removeAttr("disabled")}return false};ws_plugin__s2member_securityKeyHistory=function(){$("div#ws-plugin--s2member-sec-encryption-key-history").toggle();return false};$("select#ws-plugin--s2member-new-user-emails-enabled").change(function(){var $pluggable=$("input#ws-plugin--s2member-pluggables-wp-new-user-notification"),$this=$(this),$newUserEmails=$("div#ws-plugin--s2member-new-user-emails");if($pluggable.val()==="0"||$this.val()==="0"){($pluggable.val()==="0")?$this.attr("disabled","disabled"):$this.removeAttr("disabled");$(":input",$newUserEmails).attr("disabled","disabled"),$newUserEmails.css("opacity","0.5")}else{$this.removeAttr("disabled"),$(":input",$newUserEmails).removeAttr("disabled"),$newUserEmails.css("opacity","")}}).trigger("change");$("select#ws-plugin--s2member-login-reg-design-enabled").change(function(){var $this=$(this),$loginRegDesign=$("div#ws-plugin--s2member-login-reg-design");if($this.val()==="0"){$(":input",$loginRegDesign).attr("disabled","disabled"),$loginRegDesign.css("opacity","0.5"),$loginRegDesign.hide()}else{$(":input",$loginRegDesign).removeAttr("disabled"),$loginRegDesign.css("opacity",""),$loginRegDesign.show()}}).trigger("change");if($("input#ws-plugin--s2member-custom-reg-fields").length&&$("div#ws-plugin--s2member-custom-reg-field-configuration").length){(function(){var i,fieldDefaults,tools,table,$tools,$table;var $fields=$("input#ws-plugin--s2member-custom-reg-fields");var $configuration=$("div#ws-plugin--s2member-custom-reg-field-configuration");var fields=($fields.val())?$.JSON.parse($fields.val()):[];fields=(fields instanceof Array)?fields:[];fieldDefaults={section:"no",sectitle:"",id:"",label:"",type:"text",deflt:"",options:"",expected:"",required:"yes",levels:"all",editable:"yes",classes:"",styles:"",attrs:""};for(i=0;i<fields.length;i++){fields[i]=$.extend(true,{},fieldDefaults,fields[i])}tools='<div id="ws-plugin--s2member-custom-reg-field-configuration-tools"></div>',table='<table id="ws-plugin--s2member-custom-reg-field-configuration-table"></table>';$configuration.html(tools+table);$tools=$("div#ws-plugin--s2member-custom-reg-field-configuration-tools"),$table=$("table#ws-plugin--s2member-custom-reg-field-configuration-table");ws_plugin__s2member_customRegFieldSectionChange=function(select){var section=$(select).val();var sectitle_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle";(section==="yes")?$(sectitle_trs).css("display",""):$(sectitle_trs).css("display","none")};ws_plugin__s2member_customRegFieldTypeChange=function(select){var type=$(select).val();var deflt_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt",options_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-options",expected_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected";(type.match(/^(text|textarea)$/))?$(deflt_trs).css("display",""):$(deflt_trs).css("display","none");(type.match(/^(select|selects|checkboxes|radios)$/))?$(options_trs).css("display",""):$(options_trs).css("display","none");(type.match(/^(text|textarea)$/))?$(expected_trs).css("display",""):$(expected_trs).css("display","none")};ws_plugin__s2member_customRegFieldDelete=function(index){var newFields=new Array();for(var i=0;i<fields.length;i++){if(i!==index){newFields.push(fields[i])}}fields=newFields,updateFields(),buildTable()};ws_plugin__s2member_customRegFieldMoveUp=function(index){if(typeof fields[index]==="object"&&typeof fields[index-1]==="object"){var prevFieldObj=fields[index-1],thisFieldObj=fields[index];fields[index-1]=thisFieldObj,fields[index]=prevFieldObj;updateFields(),buildTable()}};ws_plugin__s2member_customRegFieldMoveDown=function(index){if(typeof fields[index]==="object"&&typeof fields[index+1]==="object"){var nextFieldObj=fields[index+1],thisFieldObj=fields[index];fields[index+1]=thisFieldObj,fields[index]=nextFieldObj;updateFields(),buildTable()}};ws_plugin__s2member_customRegFieldCreate=function(){var $table=$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form"),field={};$(":input[property]",$table).each(function(){var $this=$(this),property=$this.attr("property"),val=$.trim($this.val());field[property]=val});if((field=validateField(field))){fields.push(field),updateFields(),buildTools(),buildTable(),scrollReset();setTimeout(function(){var row="tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-"+(fields.length-1);alert('Field created successfully.\n* Remember to "Save All Changes".');$(row).effect("highlight",1500)},500)}};ws_plugin__s2member_customRegFieldUpdate=function(index){var $table=$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form"),field={};$(":input[property]",$table).each(function(){var $this=$(this),property=$this.attr("property"),val=$.trim($this.val());field[property]=val});if((field=validateField(field,index))){fields[index]=field,updateFields(),buildTools(),buildTable(),scrollReset();setTimeout(function(){var row="tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-"+index;alert('Field updated successfully.\n* Remember to "Save All Changes".');$(row).effect("highlight",1500)},500)}};ws_plugin__s2member_customRegFieldAdd=function(){buildTools(true)};ws_plugin__s2member_customRegFieldEdit=function(index){buildTools(false,index),scrollReset()};ws_plugin__s2member_customRegFieldCancel=function(){buildTools(),scrollReset()};var validateField=function(field,index){var editing=(typeof index==="number"&&typeof fields[index]==="object")?true:false,errors=[],options,i;if(typeof field!=="object"||typeof(field=$.extend(true,{},fieldDefaults,field))!=="object"){alert("Invalid field object. Please try again.");return false}field.sectitle=(field.section==="yes")?field.sectitle:"";field.deflt=(field.type.match(/^(text|textarea)$/))?field.deflt:"";field.deflt=(field.type.match(/^(text)$/))?field.deflt.replace(/[\r\n\t ]+/g," "):field.deflt;field.options=(field.type.match(/^(select|selects|checkboxes|radios)$/))?field.options:"";field.expected=(field.type.match(/^(text|textarea)$/))?field.expected:"";if(!field.id){errors.push("Unique Field ID:\nThis is required. Please try again.")}else{if(fieldIdExists(field.id)&&(!editing||field.id!==fields[index].id)){errors.push("Unique Field ID:\nThat Field ID already exists. Please try again.")}}if(!field.label){errors.push("Field Label/Description:\nThis is required. Please try again.")}if(field.type.match(/^(select|selects|checkboxes|radios)$/)&&!field.options){errors.push("Option Configuration File:\nThis is required. Please try again.")}else{if(field.type.match(/^(select|selects|checkboxes|radios)$/)){for(i=0;i<(options=field.options.split(/[\r\n]+/)).length;i++){if(!(options[i]=$.trim(options[i])).match(/^([^\|]*)(\|)([^\|]*)(\|default)?$/)){errors.push("Option Configuration File:\nInvalid configuration at line #"+(i+1)+".");break}}field.options=$.trim(options.join("\n"))}}if(!(field.levels=field.levels.replace(/ /g,""))){errors.push("Applicable Levels:\nThis is required. Please try again.")}else{if(!field.levels.match(/^(all|[0-9,]+)$/)){errors.push("Applicable Levels:\nShould be comma-delimited Levels, or just type: all.\n(examples: 0,1,2,3,4 or type the word: all)")}}if(field.classes&&field.classes.match(/[^a-z 0-9 _ \-]/i)){errors.push("CSS Classes:\nContains invalid characters. Please try again.\n(only: alphanumerics, underscores, hyphens, spaces)")}if(field.styles&&field.styles.match(/["\=\>\<]/)){errors.push('CSS Styles:\nContains invalid characters. Please try again.\n(do NOT use these characters: = " < >)')}if(field.attrs&&field.attrs.match(/[\>\<]/)){errors.push("Other Attributes:\nContains invalid characters. Please try again.\n(do NOT use these characters: < >)")}if(errors.length>0){alert(errors.join("\n\n"));return false}else{return field}};var updateFields=function(){$fields.val(((fields.length>0)?$.JSON.stringify(fields):""))};var fieldId2Var=function(fieldId){return(typeof fieldId==="string")?$.trim(fieldId).toLowerCase().replace(/[^a-z0-9]/g,"_"):""};var fieldTypeDesc=function(type){var types={text:"Text (single line)",textarea:"Textarea (multi-line)",select:"Select Menu (drop-down)",selects:"Select Menu (multi-option)",checkbox:"Checkbox (single)",pre_checkbox:"Checkbox (pre-checked)",checkboxes:"Checkboxes (multi-option)",radios:"Radio Buttons (multi-option)"};if(typeof types[type]==="string"){return types[type]}return""};var fieldIdExists=function(fieldId){for(var i=0;i<fields.length;i++){if(fields[i].id===fieldId){return true}}};var scrollReset=function(){scrollTo(0,$("div.ws-plugin--s2member-custom-reg-fields-section").offset()["top"]-100)};var buildTools=function(adding,index){var i=0,html="",form="",w=0,h=0,editing=(typeof index==="number"&&typeof fields[index]==="object")?true:false,displayForm=(adding||editing)?true:false,field=(editing)?$.extend(true,{},fieldDefaults,fields[index]):fieldDefaults;html+='<a href="#" onclick="ws_plugin__s2member_customRegFieldAdd(); return false;">Add New Field</a>';tb_remove(),$("div#ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form").remove();if(displayForm){form+='<div id="ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form">';form+='<table id="ws-plugin--s2member-custom-reg-field-configuration-tools-form">';form+="<tbody>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">Starts A New Section?</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">';form+='<td colspan="2">';form+='<select property="section" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section" onchange="ws_plugin__s2member_customRegFieldSectionChange(this);">';form+='<option value="no"'+((field.section==="no")?' selected="selected"':"")+'">No (this Field flows normally)</option>';form+='<option value="yes"'+((field.section==="yes")?' selected="selected"':"")+'">Yes (this Field begins a new section)</option>';form+="</select><br />";form+="<small>Optional. Allows Fields to be grouped into sections.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle ws-plugin--s2member-custom-reg-field-configuration-tools-form-section"'+((field.section==="yes")?"":' style="display:none;"')+'><td colspan="2"><hr /></td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle ws-plugin--s2member-custom-reg-field-configuration-tools-form-section"'+((field.section==="yes")?"":' style="display:none;"')+">";form+='<td colspan="2">';form+="Title for this new section? (optional)<br />";form+='<input type="text" property="sectitle" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle" value="'+esc_attr(field.sectitle)+'" /><br />';form+="<small>If empty, a simple divider will be used by default.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-type"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">Form Field Type: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">';form+='<td colspan="2">';form+='<select property="type" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type" onchange="ws_plugin__s2member_customRegFieldTypeChange(this);">';form+='<option value="text"'+((field.type==="text")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("text"))+"</option>";form+='<option value="textarea"'+((field.type==="textarea")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("textarea"))+"</option>";form+='<option value="select"'+((field.type==="select")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("select"))+"</option>";form+='<option value="selects"'+((field.type==="selects")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("selects"))+"</option>";form+='<option value="checkbox"'+((field.type==="checkbox")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("checkbox"))+"</option>";form+='<option value="pre_checkbox"'+((field.type==="pre_checkbox")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("pre_checkbox"))+"</option>";form+='<option value="checkboxes"'+((field.type==="checkboxes")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("checkboxes"))+"</option>";form+='<option value="radios"'+((field.type==="radios")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("radios"))+"</option>";form+="</select><br />";form+="<small>The options below may change, based on the Field Type you choose here.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-label"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">Field Label/Desc: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">';form+='<td colspan="2">';form+='<input type="text" property="label" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label" value="'+esc_attr(field.label)+'" /><br />';form+="<small>Examples: <code>Choose Country</code>, <code>Street Address</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-id"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">Unique Field ID: *</label></label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">';form+='<td colspan="2">';form+='<input type="text" property="id" maxlength="25" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id" value="'+esc_attr(field.id)+'" /><br />';form+="<small>Examples: <code>country_code</code>, <code>street_address</code></small><br />";form+='<small>e.g. <code>[s2Get user_field="country_code" /]</code></small>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-required"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">Field Required: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<td colspan="2">';form+='<select property="required" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<option value="yes"'+((field.required==="yes")?' selected="selected"':"")+'">Yes (required)</option>';form+='<option value="no"'+((field.required==="no")?' selected="selected"':"")+'">No (optional)</option>';form+="</select><br />";form+='<small>If <code>yes</code>, only Users/Members will be "required" to enter this field.</small><br />';form+="<small>* Administrators are exempt from this requirement.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt">Default Text Value: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<textarea property="deflt" wrap="off" spellcheck="false" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt" rows="1">'+esc_html(field.deflt)+"</textarea><br />";form+="<small>Default value before user input is received.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options">Option Configuration File: * (one option per line)</label><br />';form+="<small>Use a pipe <code>|</code> delimited format: <code>option value|option label</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<textarea property="options" wrap="off" spellcheck="false" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options" rows="3">'+esc_html(field.options)+"</textarea><br />";form+="Here is a quick example:<br />";form+="<small>You can also specify a <em>default</em> option:</small><br />";form+="<code>US|United States|default</code><br />";form+="<code>CA|Canada</code><br />";form+="<code>VI|Virgin Islands (U.S.)</code>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected">Expected Format: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<select property="expected" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected">';form+='<option value=""'+((field.expected==="")?' selected="selected"':"")+'">Anything Goes</option>';form+='<option disabled="disabled"></option>';form+='<optgroup label="Specific Input Types">';form+='<option value="numeric-wp-commas"'+((field.expected==="numeric-wp-commas")?' selected="selected"':"")+'">Numeric (with or without decimals, commas allowed)</option>';form+='<option value="numeric"'+((field.expected==="numeric")?' selected="selected"':"")+'">Numeric (with or without decimals, no commas)</option>';form+='<option value="integer"'+((field.expected==="integer")?' selected="selected"':"")+'">Integer (whole number, without any decimals)</option>';form+='<option value="integer-gt-0"'+((field.expected==="integer-gt-0")?' selected="selected"':"")+'">Integer > 0 (whole number, no decimals, greater than 0)</option>';form+='<option value="float"'+((field.expected==="float")?' selected="selected"':"")+'">Float (floating point number, decimals required)</option>';form+='<option value="float-gt-0"'+((field.expected==="float-gt-0")?' selected="selected"':"")+'">Float > 0 (floating point number, decimals required, greater than 0)</option>';form+='<option value="date"'+((field.expected==="date")?' selected="selected"':"")+'">Date (required date format: dd/mm/yyyy)</option>';form+='<option value="email"'+((field.expected==="email")?' selected="selected"':"")+'">Email (require valid email)</option>';form+='<option value="url"'+((field.expected==="url")?' selected="selected"':"")+'">Full URL (starting with http or https)</option>';form+='<option value="domain"'+((field.expected==="domain")?' selected="selected"':"")+'">Domain Name (domain name only, without http)</option>';form+='<option value="phone"'+((field.expected==="phone")?' selected="selected"':"")+'">Phone # (10 digits w/possible hyphens,spaces,brackets)</option>';form+='<option value="uszip"'+((field.expected==="uszip")?' selected="selected"':"")+'">US Zipcode (5-9 digits w/possible hyphen)</option>';form+='<option value="cazip"'+((field.expected==="cazip")?' selected="selected"':"")+'">Canadian Zipcode (6 alpha-numerics w/possible space)</option>';form+='<option value="uczip"'+((field.expected==="uczip")?' selected="selected"':"")+'">US/Canadian Zipcode (either a US or Canadian zipcode)</option>';form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Any Character Combination">';for(i=1;i<=25;i++){form+='<option value="any-'+i+'"'+((field.expected==="any-"+i)?' selected="selected"':"")+'">Any Character Combination ( '+i+" character minimum )</option>";form+='<option value="any-'+i+'-e"'+((field.expected==="any-"+i+"-e")?' selected="selected"':"")+'">Any Character Combination ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics, Spaces & Punctuation Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-spaces-punctuation-'+i+'"'+((field.expected==="alphanumerics-spaces-punctuation-"+i)?' selected="selected"':"")+'">Alphanumerics, Spaces & Punctuation ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-spaces-punctuation-'+i+'-e"'+((field.expected==="alphanumerics-spaces-punctuation-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics, Spaces & Punctuation ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics & Spaces Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-spaces-'+i+'"'+((field.expected==="alphanumerics-spaces-"+i)?' selected="selected"':"")+'">Alphanumerics & Spaces ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-spaces-'+i+'-e"'+((field.expected==="alphanumerics-spaces-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics & Spaces ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics & Punctuation Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-punctuation-'+i+'"'+((field.expected==="alphanumerics-punctuation-"+i)?' selected="selected"':"")+'">Alphanumerics & Punctuation ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-punctuation-'+i+'-e"'+((field.expected==="alphanumerics-punctuation-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics & Punctuation ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-'+i+'"'+((field.expected==="alphanumerics-"+i)?' selected="selected"':"")+'">Alphanumerics ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-'+i+'-e"'+((field.expected==="alphanumerics-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphabetics Only">';for(i=1;i<=25;i++){form+='<option value="alphabetics-'+i+'"'+((field.expected==="alphabetics-"+i)?' selected="selected"':"")+'">Alphabetics ( '+i+" character minimum )</option>";form+='<option value="alphabetics-'+i+'-e"'+((field.expected==="alphabetics-"+i+"-e")?' selected="selected"':"")+'">Alphabetics ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Numeric Digits Only">';for(i=1;i<=25;i++){form+='<option value="numerics-'+i+'"'+((field.expected==="numerics-"+i)?' selected="selected"':"")+'">Numeric Digits ( '+i+" digit minimum )</option>";form+='<option value="numerics-'+i+'-e"'+((field.expected==="numerics-"+i+"-e")?' selected="selected"':"")+'">Numeric Digits ( exactly '+i+" digit"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+="</select><br />";form+="<small>Only Users/Members will be required to meet this criteria.</small><br />";form+="<small>* Administrators are exempt from this.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">Applicable Membership Levels: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">';form+='<td colspan="2">';form+='<input type="text" property="levels" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels" value="'+esc_attr(field.levels)+'" /><br />';form+="<small>Please use comma-delimited Level #'s: <code>0,1,2,3,4</code> or type: <code>all</code>.</small><br />";form+="<small>This allows you to enable this field - only at specific Membership Levels.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">Allow Profile Edits: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<td colspan="2">';form+='<select property="editable" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<option value="yes"'+((field.editable==="yes")?' selected="selected"':"")+'">Yes (editable)</option>';form+='<option value="no"'+((field.editable==="no")?' selected="selected"':"")+'">No (uneditable after registration)</option>';form+='<option value="no-invisible"'+((field.editable==="no-invisible")?' selected="selected"':"")+'">No (uneditable & totally invisible after registration)</option>';form+='<option value="no-always-invisible"'+((field.editable==="no-always-invisible")?' selected="selected"':"")+'">No (uneditable & totally invisible, both during & after registration)</option>';form+='<option value="yes-invisible"'+((field.editable==="yes-invisible")?' selected="selected"':"")+'">Yes (editable after registration / invisible during registration)</option>';form+="</select><br />";form+="<small>If <code>No</code>, this field will be un-editable after registration.</small><br />";form+="<small>* Administrators are exempt from this.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">CSS Classes: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">';form+='<td colspan="2">';form+='<input type="text" property="classes" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes" value="'+esc_attr(field.classes)+'" /><br />';form+="<small>Example: <code>my-style-1 my-style-2</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">CSS Styles: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">';form+='<td colspan="2">';form+='<input type="text" property="styles" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles" value="'+esc_attr(field.styles)+'" /><br />';form+="<small>Example: <code>color:#000000; background:#FFFFFF;</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">Other Attributes: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">';form+='<td colspan="2">';form+='<input type="text" property="attrs" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs" value="'+esc_attr(field.attrs)+'" /><br />';form+='<small>Example: <code>onkeyup="" onblur=""</code></small>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-buttons"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-buttons">';form+='<td align="left">';form+='<input type="button" value="Cancel" onclick="ws_plugin__s2member_customRegFieldCancel();" />';form+="</td>";form+='<td align="right">';form+='<input type="button" value="'+((editing)?"Update This Field":"Create Registration Field")+'" onclick="'+((editing)?"ws_plugin__s2member_customRegFieldUpdate("+index+");":"ws_plugin__s2member_customRegFieldCreate();")+'" />';form+="</td>";form+="</tr>";form+="</tbody>";form+="</table>";form+="<div>";$("body").append(form);tb_show(((editing)?"Editing Registration/Profile Field":"New Custom Registration/Profile Field"),"#TB_inline?inlineId=ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form");$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form").show()}$tools.html(html)};var buildTable=function(){var l=fields.length,i=0,html="",eo="o";html+="<tbody>";html+="<tr>";html+="<th>Order</th>";html+="<th>Field Type</th>";html+="<th>Unique ID</th>";html+="<th>Required</th>";html+="<th>Levels</th>";html+="<th>- Tools -</th>";html+="</tr>";if(fields.length>0){for(i=0;i<fields.length;i++){html+='<tr class="'+esc_attr((eo=(eo==="o")?"e":"o"))+((fields[i].section==="yes")?" s":"")+" ws-plugin--s2member-custom-reg-field-configuration-table-row-"+i+'">';html+='<td nowrap="nowrap"><a class="ws-plugin--s2member-custom-reg-field-configuration-move-up" href="#" onclick="ws_plugin__s2member_customRegFieldMoveUp('+i+'); return false;"></a><a class="ws-plugin--s2member-custom-reg-field-configuration-move-down" href="#" onclick="ws_plugin__s2member_customRegFieldMoveDown('+i+'); return false;"></a></td>';html+='<td nowrap="nowrap">'+esc_html(fieldTypeDesc(fields[i].type))+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].id)+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].required)+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].levels)+"</td>";html+='<td nowrap="nowrap"><a class="ws-plugin--s2member-custom-reg-field-configuration-edit" href="#" onclick="ws_plugin__s2member_customRegFieldEdit('+i+'); return false;"></a><a class="ws-plugin--s2member-custom-reg-field-configuration-delete" href="#" onclick="ws_plugin__s2member_customRegFieldDelete('+i+'); return false;"></a></td>';html+="</tr>"}}else{html+="<tr>";html+='<td colspan="6">No Custom Fields are configured.</td>';html+="</tr>"}html+="</tbody>";$table.html(html)};buildTools(),buildTable()})()}}if(location.href.match(/page\=ws-plugin--s2member-res-ops/)){$("input#ws-plugin--s2member-brute-force-restrictions-reset-button").click(function(){var $this=$(this);$this.val("one moment please ...");$.post(ajaxurl,{action:"ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax",ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-delete-reset-all-ip-restrictions-via-ajax")); ?>'},function(response){alert("s2Member's Brute Force Restriction Logs have all been reset."),$this.val("Reset Brute Force Logs")});return false});$("input#ws-plugin--s2member-ip-restrictions-reset-button").click(function(){var $this=$(this);$this.val("one moment please ...");$.post(ajaxurl,{action:"ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax",ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-delete-reset-all-ip-restrictions-via-ajax")); ?>'},function(response){alert("s2Member's IP Restriction Logs have all been reset."),$this.val("Reset IP Restriction Logs")});return false});$('div.ws-plugin--s2member-query-level-access-section input[type="checkbox"][name="ws_plugin__s2member_filter_wp_query[]"]').change(function(){var thisChange=$(this).val();$('div.ws-plugin--s2member-query-level-access-section input[type="checkbox"][name="ws_plugin__s2member_filter_wp_query[]"]').each(function(){var $this=$(this),val=$this.val(),checkboxes='input[type="checkbox"]';if(val==="all"&&this.checked){$this.nextAll(checkboxes).attr({checked:"checked",disabled:"disabled"})}else{if(val==="all"&&!this.checked){$this.nextAll(checkboxes).removeAttr("disabled");(thisChange==="all")?$this.nextAll(checkboxes).removeAttr("checked"):null}}})}).last().trigger("change")}if(location.href.match(/page\=ws-plugin--s2member-down-ops/)){var updateCloudFrontPrivateKey=function(){var $hiddenPrivateKey=$("input#ws-plugin--s2member-amazon-cf-files-private-key");var $visiblePrivateKeyEntry=$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry");var hiddenPrivateKeyValue=$.trim($hiddenPrivateKey.val()),visiblePrivateKeyEntryValue=$.trim($visiblePrivateKeyEntry.val());if((hiddenPrivateKeyValue&&!visiblePrivateKeyEntryValue)||visiblePrivateKeyEntryValue.match(/[^\r\n\u25CF]/)){$hiddenPrivateKey.val(visiblePrivateKeyEntryValue),$visiblePrivateKeyEntry.val(visiblePrivateKeyEntryValue.replace(/[^\r\n]/g,String.fromCharCode(9679)))}};$("form#ws-plugin--s2member-options-form").submit(updateCloudFrontPrivateKey);$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry").change(updateCloudFrontPrivateKey).trigger("change");var updateCloudFrontDistroCfgs=function(){var $hiddenPrivateKey=$("input#ws-plugin--s2member-amazon-cf-files-private-key");var $visiblePrivateKeyId=$("input#ws-plugin--s2member-amazon-cf-files-private-key-id");var $autoConfigDistros=$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros");var $autoConfigDistrosStatus=$("input#ws-plugin--s2member-amazon-cf-files-distros-auto-config-status");var autoConfigDistrosStatusValue=$.trim($autoConfigDistrosStatus.val());var hiddenPrivateKeyValue=$.trim($hiddenPrivateKey.val()),visiblePrivateKeyIdValue=$.trim($visiblePrivateKeyId.val());var hiddenPrivateKeyPrevConfigValue=$.trim($hiddenPrivateKey.attr("data-s-prev-config-value")),visiblePrivateKeyIdPrevConfigValue=$.trim($visiblePrivateKeyId.attr("data-s-prev-config-value"));if(autoConfigDistrosStatusValue==="configured"&&((visiblePrivateKeyIdPrevConfigValue&&visiblePrivateKeyIdValue!==visiblePrivateKeyIdPrevConfigValue)||(hiddenPrivateKeyPrevConfigValue&&hiddenPrivateKeyValue!==hiddenPrivateKeyPrevConfigValue))){alert("s2Member will need to delete and re-configure your Amazon CloudFront distributions if you change this. When you're done editing, click (Save All Changes) below.");$autoConfigDistros.attr("checked","checked")}else{if(autoConfigDistrosStatusValue!=="configured"&&visiblePrivateKeyIdValue&&hiddenPrivateKeyValue){alert("s2Member will need to auto-configure your Amazon CloudFront distributions for you. When you're done editing, click (Save All Changes) below.");$autoConfigDistros.attr("checked","checked")}}};$("input#ws-plugin--s2member-amazon-cf-files-private-key-id").change(updateCloudFrontDistroCfgs);$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry").change(updateCloudFrontDistroCfgs);$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros-w-cnames").change(function(){var $this=$(this),thisChecked=(this.checked)?true:false;var $autoConfigDistros=$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros");var $autoConfigDistroCnames=$("div#ws-plugin--s2member-amazon-cf-files-auto-configure-distro-cnames");(thisChecked)?$autoConfigDistroCnames.show():$autoConfigDistroCnames.hide();(thisChecked)?$autoConfigDistros.attr("checked","checked"):null}).trigger("change")}if(location.href.match(/page\=ws-plugin--s2member-paypal-ops/)){$("select#ws-plugin--s2member-auto-eot-system-enabled").change(function(){var $this=$(this),val=$this.val();var $viaCron=$("p#ws-plugin--s2member-auto-eot-system-enabled-via-cron");if(val==2){$viaCron.show()}else{$viaCron.hide()}})}if(location.href.match(/page\=ws-plugin--s2member-paypal-buttons/)){$("div.ws-menu-page select[id]").filter(function(){return this.id.match(/^ws-plugin--s2member-(level[1-9][0-9]*|modification)-term$/)}).change(function(){var button=this.id.replace(/^ws-plugin--s2member-(.+?)-term$/g,"$1");var trialDisabled=($(this).val().split("-")[2].replace(/[^0-1BN]/g,"")==="BN")?1:0;$("p#ws-plugin--s2member-"+button+"-trial-line").css("display",(trialDisabled?"none":""));$("span#ws-plugin--s2member-"+button+"-trial-then").css("display",(trialDisabled?"none":""));$("span#ws-plugin--s2member-"+button+"-20p-rule").css("display",(trialDisabled?"none":""));(trialDisabled)?$("input#ws-plugin--s2member-"+button+"-trial-period").val(0):null;(trialDisabled)?$("input#ws-plugin--s2member-"+button+"-trial-amount").val("0.00"):null});$("div.ws-menu-page input[id]").filter(function(){return this.id.match(/^ws-plugin--s2member-(level[1-9][0-9]*|modification|ccap)-ccaps$/)}).keyup(function(){var value=this.value.replace(/^(-all|-al|-a|-)[;,]*/gi,""),_all=(this.value.match(/^(-all|-al|-a|-)[;,]*/i))?"-all,":"";if(value.match(/[^a-z_0-9,]/)){this.value=_all+$.trim($.trim(value).replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase())}});ws_plugin__s2member_paypalButtonGenerate=function(button){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="",labels={};eval("<?php echo c_ws_plugin__s2member_utils_strings::esc_dq($labels); ?>");var shortCode=$("input#ws-plugin--s2member-"+button+"-shortcode");var code=$("textarea#ws-plugin--s2member-"+button+"-button");var modLevel=$("select#ws-plugin--s2member-modification-level");var level=(button==="modification")?modLevel.val().split(":",2)[1]:button.replace(/^level/,"");var label=labels["level"+level].replace(/"/g,"");var desc=$.trim($("input#ws-plugin--s2member-"+button+"-desc").val().replace(/"/g,""));var trialAmount=$("input#ws-plugin--s2member-"+button+"-trial-amount").val().replace(/[^0-9\.]/g,"");var trialPeriod=$("input#ws-plugin--s2member-"+button+"-trial-period").val().replace(/[^0-9]/g,"");var trialTerm=$("select#ws-plugin--s2member-"+button+"-trial-term").val().replace(/[^A-Z]/g,"");var regAmount=$("input#ws-plugin--s2member-"+button+"-amount").val().replace(/[^0-9\.]/g,"");var regPeriod=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[0].replace(/[^0-9]/g,"");var regTerm=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[1].replace(/[^A-Z]/g,"");var regRecur=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[2].replace(/[^0-1BN]/g,"");var regRecurTimes="",regRecurRetry="1";var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-"+button+"-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-"+button+"-currency").val().replace(/[^A-Z]/g,"");var cCaps=$.trim($.trim($("input#ws-plugin--s2member-"+button+"-ccaps").val()).replace(/^(-all|-al|-a|-)[;,]*/gi,"").replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());cCaps=($.trim($("input#ws-plugin--s2member-"+button+"-ccaps").val()).match(/^(-all|-al|-a|-)[;,]*/i))?((cCaps)?"-all,":"-all")+cCaps.toLowerCase():cCaps.toLowerCase();trialPeriod=(regRecur==="BN")?"0":trialPeriod;trialAmount=(!trialAmount||isNaN(trialAmount)||trialAmount<0.01||trialPeriod<=0)?"0":trialAmount;var levelCcapsPer=(regRecur==="BN"&®Term!=="L")?level+":"+cCaps+":"+regPeriod+" "+regTerm:level+":"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(trialAmount!=="0"&&(isNaN(trialAmount)||trialAmount<0)){alert("— Oops, a slight problem: —\n\nWhen provided, Trial Amount must be >= 0.00");return false}else{if(trialAmount!=="0"&&trialAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Trial Amount is: 10000.00");return false}else{if(trialTerm==="D"&&trialPeriod>90){alert("— Oops, a slight problem: —\n\nMaximum Trial Days is: 90.\nIf you want to offer more than 90 days, please choose Weeks or Months from the drop-down.");return false}else{if(trialTerm==="W"&&trialPeriod>52){alert("— Oops, a slight problem: —\n\nMaximum Trial Weeks is: 52.\nIf you want to offer more than 52 weeks, please choose Months from the drop-down.");return false}else{if(trialTerm==="M"&&trialPeriod>24){alert("— Oops, a slight problem: —\n\nMaximum Trial Months is: 24.\nIf you want to offer more than 24 months, please choose Years from the drop-down.");return false}else{if(trialTerm==="Y"&&trialPeriod>5){alert("— Oops, a slight problem: —\n\nMax Trial Period Years is: 5.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}}}}}}code.html(code.val().replace(/ \<\!--(\<input type\="hidden" name\="(amount|src|srt|sra|a1|p1|t1|a3|p3|t3)" value\="(.*?)" \/\>)--\>/g," $1"));(parseInt(trialPeriod)<=0)?code.html(code.val().replace(/ (\<input type\="hidden" name\="(a1|p1|t1)" value\="(.*?)" \/\>)/g," <!--$1-->")):null;(regRecur==="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="cmd" value\=")(.*?)(" \/\>)/g," $1_xclick$3")):null;(regRecur==="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="(src|srt|sra|a1|p1|t1|a3|p3|t3)" value\="(.*?)" \/\>)/g," <!--$1-->")):null;(regRecur!=="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="cmd" value\=")(.*?)(" \/\>)/g," $1_xclick-subscriptions$3")):null;(regRecur!=="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="amount" value\="(.*?)" \/\>)/g," <!--$1-->")):null;shortCodeTemplateAttrs+=(button==="modification")?'modify="1" ':"";shortCodeTemplateAttrs+='level="'+esc_attr(level)+'" ccaps="'+esc_attr(cCaps)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'" custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"';shortCodeTemplateAttrs+=' ta="'+esc_attr(trialAmount)+'" tp="'+esc_attr(trialPeriod)+'" tt="'+esc_attr(trialTerm)+'" ra="'+esc_attr(regAmount)+'" rp="'+esc_attr(regPeriod)+'" rt="'+esc_attr(regTerm)+'" rr="'+esc_attr(regRecur)+'" rrt="'+esc_attr(regRecurTimes)+'" rra="'+esc_attr(regRecurRetry)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(levelCcapsPer)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="modify" value\="(.*?)"/,' name="modify" value="'+((button==="modification")?"1":"0")+'"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));code.html(code.val().replace(/ name\="src" value\="(.*?)"/,' name="src" value="'+esc_attr(regRecur)+'"'));code.html(code.val().replace(/ name\="srt" value\="(.*?)"/,' name="srt" value="'+esc_attr(regRecurTimes)+'"'));code.html(code.val().replace(/ name\="sra" value\="(.*?)"/,' name="sra" value="'+esc_attr(regRecurRetry)+'"'));code.html(code.val().replace(/ name\="a1" value\="(.*?)"/,' name="a1" value="'+esc_attr(trialAmount)+'"'));code.html(code.val().replace(/ name\="p1" value\="(.*?)"/,' name="p1" value="'+esc_attr(trialPeriod)+'"'));code.html(code.val().replace(/ name\="t1" value\="(.*?)"/,' name="t1" value="'+esc_attr(trialTerm)+'"'));code.html(code.val().replace(/ name\="a3" value\="(.*?)"/,' name="a3" value="'+esc_attr(regAmount)+'"'));code.html(code.val().replace(/ name\="p3" value\="(.*?)"/,' name="p3" value="'+esc_attr(regPeriod)+'"'));code.html(code.val().replace(/ name\="t3" value\="(.*?)"/,' name="t3" value="'+esc_attr(regTerm)+'"'));$("div#ws-plugin--s2member-"+button+"-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));(button==="modification")?alert("Your Modification Button has been generated.\nPlease copy/paste the Shortcode into your Login Welcome Page, or wherever you feel it would be most appropriate.\n\n* Remember, Modification Buttons should be displayed to existing Users/Members, and they should be logged-in, BEFORE clicking this Button."):alert("Your Button has been generated.\nPlease copy/paste the Shortcode Format into your Membership Options Page.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalCcapButtonGenerate=function(){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="";var shortCode=$("input#ws-plugin--s2member-ccap-shortcode");var code=$("textarea#ws-plugin--s2member-ccap-button");var desc=$.trim($("input#ws-plugin--s2member-ccap-desc").val().replace(/"/g,""));var regAmount=$("input#ws-plugin--s2member-ccap-amount").val().replace(/[^0-9\.]/g,"");var regPeriod=$("select#ws-plugin--s2member-ccap-term").val().split("-")[0].replace(/[^0-9]/g,"");var regTerm=$("select#ws-plugin--s2member-ccap-term").val().split("-")[1].replace(/[^A-Z]/g,"");var regRecur=$("select#ws-plugin--s2member-ccap-term").val().split("-")[2].replace(/[^0-1BN]/g,"");var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-ccap-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-ccap-currency").val().replace(/[^A-Z]/g,"");var cCaps=$.trim($.trim($("input#ws-plugin--s2member-ccap-ccaps").val()).replace(/^(-all|-al|-a|-)[;,]*/gi,"").replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());cCaps=($.trim($("input#ws-plugin--s2member-ccap-ccaps").val()).match(/^(-all|-al|-a|-)[;,]*/i))?((cCaps)?"-all,":"-all")+cCaps.toLowerCase():cCaps.toLowerCase();var levelCcapsPer=(regRecur==="BN"&®Term!=="L")?"*:"+cCaps+":"+regPeriod+" "+regTerm:"*:"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(!cCaps||cCaps==="-all"){alert("— Oops, a slight problem: —\n\nPlease provide at least one Custom Capability.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}shortCodeTemplateAttrs+='level="*" ccaps="'+esc_attr(cCaps)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'"';shortCodeTemplateAttrs+=' custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>" ra="'+esc_attr(regAmount)+'" rp="'+esc_attr(regPeriod)+'" rt="'+esc_attr(regTerm)+'" rr="'+esc_attr(regRecur)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(levelCcapsPer)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));$("div#ws-plugin--s2member-ccap-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));alert("Your Button has been generated.\nPlease copy/paste the Shortcode into your Login Welcome Page, or wherever you feel it would be most appropriate.\n\n* Remember, Independent Custom Capability Buttons should ONLY be displayed to existing Users/Members, and they MUST be logged-in, BEFORE clicking this Button.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalSpButtonGenerate=function(){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="";var shortCode=$("input#ws-plugin--s2member-sp-shortcode");var code=$("textarea#ws-plugin--s2member-sp-button");var leading=$("select#ws-plugin--s2member-sp-leading-id").val().replace(/[^0-9]/g,"");var additionals=$("select#ws-plugin--s2member-sp-additional-ids").val()||[];var hours=$("select#ws-plugin--s2member-sp-hours").val().replace(/[^0-9]/g,"");var regAmount=$("input#ws-plugin--s2member-sp-amount").val().replace(/[^0-9\.]/g,"");var desc=$.trim($("input#ws-plugin--s2member-sp-desc").val().replace(/"/g,""));var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-sp-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-sp-currency").val().replace(/[^A-Z]/g,"");if(!leading){alert("— Oops, a slight problem: —\n\nPlease select a Leading Post/Page.\n\n*Tip* If there are no Posts/Pages in the menu, it's because you've not configured s2Member for Specific Post/Page Access yet. See: s2Member -› Restriction Options -› Specific Post/Page Access.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}for(var i=0,ids=leading;i<additionals.length;i++){if(additionals[i]&&additionals[i]!==leading){ids+=","+additionals[i]}}var spIdsHours="sp:"+ids+":"+hours;shortCodeTemplateAttrs+='sp="1" ids="'+esc_attr(ids)+'" exp="'+esc_attr(hours)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'"';shortCodeTemplateAttrs+=' custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>" ra="'+esc_attr(regAmount)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(spIdsHours)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));$("div#ws-plugin--s2member-sp-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));alert("Your Button has been generated.\nPlease copy/paste the Shortcode into your WordPress Editor.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalRegLinkGenerate=function(){var level=$("select#ws-plugin--s2member-reg-link-level").val().replace(/[^0-9]/g,"");var subscrID=$.trim($("input#ws-plugin--s2member-reg-link-subscr-id").val());var custom=$.trim($("input#ws-plugin--s2member-reg-link-custom").val());var cCaps=$.trim($.trim($("input#ws-plugin--s2member-reg-link-ccaps").val()).replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());var fixedTerm=$.trim($("input#ws-plugin--s2member-reg-link-fixed-term").val().replace(/[^A-Z 0-9]/gi,"").toUpperCase());var $link=$("p#ws-plugin--s2member-reg-link"),$loading=$("img#ws-plugin--s2member-reg-link-loading");var levelCcapsPer=(fixedTerm&&!fixedTerm.match(/L$/))?level+":"+cCaps+":"+fixedTerm:level+":"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(!subscrID){alert("— Oops, a slight problem: —\n\nPaid Subscr. ID is a required value.");return false}else{if(!custom||custom.indexOf('<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq ($_SERVER["HTTP_HOST"]); ?>')!==0){alert("— Oops, a slight problem: —\n\nThe Custom Value MUST start with your domain name.");return false}else{if(fixedTerm&&!fixedTerm.match(/^[1-9]+ (D|W|M|Y|L)$/)){alert("— Oops, a slight problem: —\n\nThe Fixed Term Length is not formatted properly.");return false}}}$link.hide(),$loading.show(),$.post(ajaxurl,{action:"ws_plugin__s2member_reg_access_link_via_ajax",ws_plugin__s2member_reg_access_link_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-reg-access-link-via-ajax")); ?>',s2member_reg_access_link_subscr_gateway:"paypal",s2member_reg_access_link_subscr_id:subscrID,s2member_reg_access_link_custom:custom,s2member_reg_access_link_item_number:levelCcapsPer},function(response){$link.show().html('<a href="'+esc_attr(response)+'" target="_blank" rel="external">'+esc_html(response)+"</a>"),$loading.hide()});return false};ws_plugin__s2member_paypalSpLinkGenerate=function(){var leading=$("select#ws-plugin--s2member-sp-link-leading-id").val().replace(/[^0-9]/g,"");var additionals=$("select#ws-plugin--s2member-sp-link-additional-ids").val()||[];var hours=$("select#ws-plugin--s2member-sp-link-hours").val().replace(/[^0-9]/g,"");var $link=$("p#ws-plugin--s2member-sp-link"),$loading=$("img#ws-plugin--s2member-sp-link-loading");if(!leading){alert("— Oops, a slight problem: —\n\nPlease select a Leading Post/Page.\n\n*Tip* If there are no Posts/Pages in the menu, it's because you've not configured s2Member for Specific Post/Page Access yet. See: s2Member -› Restriction Options -› Specific Post/Page Access.");return false}for(var i=0,ids=leading;i<additionals.length;i++){if(additionals[i]&&additionals[i]!==leading){ids+=","+additionals[i]}}$link.hide(),$loading.show(),$.post(ajaxurl,{action:"ws_plugin__s2member_sp_access_link_via_ajax",ws_plugin__s2member_sp_access_link_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-sp-access-link-via-ajax")); ?>',s2member_sp_access_link_ids:ids,s2member_sp_access_link_hours:hours},function(response){$link.show().html('<a href="'+esc_attr(response)+'" target="_blank" rel="external">'+esc_html(response)+"</a>"),$loading.hide()});return false}}if(location.href.match(/page\=ws-plugin--s2member-els-ops/)){$("select#ws-plugin--s2member-custom-reg-opt-in").change(function(){var $this=$(this),val=$this.val();var $rows=$("tr.ws-plugin--s2member-custom-reg-opt-in-label-row");var $prevImg=$("img.ws-plugin--s2member-custom-reg-opt-in-label-prev-img");if(val<=0){$rows.css("display","none"),$prevImg.attr("src",$prevImg.attr("src").replace(/\/checked\.png$/,"/unchecked.png"))}else{if(val==1){$rows.css("display",""),$prevImg.attr("src",$prevImg.attr("src").replace(/\/unchecked\.png$/,"/checked.png"))}else{if(val==2){$rows.css("display",""),$prevImg.attr("src",$prevImg.attr("src").replace(/\/checked\.png$/,"/unchecked.png"))}}}});$('div.ws-plugin--s2member-opt-out-section input[type="checkbox"][name="ws_plugin__s2member_custom_reg_auto_opt_outs[]"]').change(function(){var thisChange=$(this).val(),checkedIndexes=[];$('div.ws-plugin--s2member-opt-out-section input[type="checkbox"][name="ws_plugin__s2member_custom_reg_auto_opt_outs[]"]').each(function(){var $this=$(this),val=$this.val(),checkboxes='input[type="checkbox"]';if(val==="removal-deletion"&&this.checked){$this.nextAll(checkboxes).slice(0,2).attr({checked:"checked",disabled:"disabled"})}else{if(val==="removal-deletion"&&!this.checked){$this.nextAll(checkboxes).slice(0,2).removeAttr("disabled");(thisChange==="removal-deletion")?$this.nextAll(checkboxes).slice(0,2).removeAttr("checked"):null}else{if(val==="modification"&&this.checked){$this.nextAll(checkboxes).slice(0,3).attr({checked:"checked",disabled:"disabled"})}else{if(val==="modification"&&!this.checked){(thisChange==="modification")?$this.nextAll(checkboxes).slice(0,3).removeAttr("checked"):null;$this.nextAll(checkboxes).slice(0,3).removeAttr("disabled")}}}}}).each(function(index){(this.checked)?checkedIndexes.push(index):null});$("select#ws-plugin--s2member-custom-reg-auto-opt-out-transitions").removeAttr("disabled");if($.inArray(3,checkedIndexes)===-1&&$.inArray(4,checkedIndexes)===-1&&$.inArray(5,checkedIndexes)===-1&&$.inArray(6,checkedIndexes)===-1){$("select#ws-plugin--s2member-custom-reg-auto-opt-out-transitions").attr("disabled","disabled")}}).last().trigger("change")}});
|
1 |
+
jQuery(document).ready(function($){var esc_attr=esc_html=function(str){return String(str).replace(/"/g,""").replace(/\</g,"<").replace(/\>/g,">")};if(location.href.match(/page\=ws-plugin--s2member/)){$("input.ws-plugin--s2member-update-roles-button, input.ws-plugin--s2member-reset-roles-button").click(function(){var $this=$(this);$this.val("one moment please ...");var levels='<?php echo (int)$GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["levels"]; ?>';var resetUpdate=($this.hasClass("ws-plugin--s2member-reset-roles-button"))?"Reset":"Update";$.post(ajaxurl,{action:"ws_plugin__s2member_update_roles_via_ajax",ws_plugin__s2member_update_roles_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-update-roles-via-ajax")); ?>'},function(response){if(response==="1"){alert("s2Member's Roles/Capabilities "+((resetUpdate.toLowerCase()==="reset")?"have been successfully reset":"updated successfully")+".\nYour installation of s2Member has Membership Levels 0-"+levels+"."),$this.val(resetUpdate+" Roles/Capabilities")}else{if(response==="l"){alert("Sorry, your request failed.\ns2Member's Roles/Capabilities are locked by Filter:\nws_plugin__s2member_lock_roles_caps"),$this.val(resetUpdate+" Roles/Capabilities")}else{alert("Sorry, your request failed.\nAccess denied. Do you have the ability to `create_users`?"),$this.val(resetUpdate+" Roles/Capabilities")}}});return false})}if(location.href.match(/page\=ws-plugin--s2member-logs/)){$("input#ws-plugin--s2member-gateway-debug-logs-extensive-1").click(function(){var $this=$(this),thisChecked=(this.checked)?true:false;if(thisChecked){$("input#ws-plugin--s2member-gateway-debug-logs-1").attr("checked","checked")}});var $toggles=$("a.ws-plugin--s2member-log-file-viewport-toggle");$toggles.click(function(){$("textarea#ws-plugin--s2member-log-file-viewer").each(function(){var $viewer=$(this);if($viewer.attr("data-state")!=="expanded"){$viewer.css({height:($viewer.prop("scrollHeight")+50)+"px","overflow-y":"auto"});$toggles.html("⇑ normalize viewport ❙");$viewer.attr("data-state","expanded")}else{$viewer.css({height:"auto","overflow-y":"scroll"});$toggles.html("⇓ expand viewport ⇓");$viewer.attr("data-state","scrolling")}});return false})}if(location.href.match(/page\=ws-plugin--s2member-mms-ops/)){$("select#ws-plugin--s2member-mms-registration-file").change(function(){if($(this).val()==="wp-signup"){var gv=$("select#ws-plugin--s2member-mms-registration-grants").val(),l0v=$("input#ws-plugin--s2member-mms-registration-blogs-level0").val();$("div#ws-plugin--s2member-mms-registration-support-package-details-wrapper").show(),$("div.ws-plugin--s2member-mms-registration-wp-login, table.ws-plugin--s2member-mms-registration-wp-login").hide(),$("div.ws-plugin--s2member-mms-registration-wp-signup, table.ws-plugin--s2member-mms-registration-wp-signup").show();$("div.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0, table.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0")[((gv==="all")?"show":"hide")]();$("input#ws-plugin--s2member-mms-registration-blogs-level0").val(((gv==="all")?((l0v>0)?l0v:"1"):"0"))}else{if($(this).val()==="wp-login"){var gv=$("select#ws-plugin--s2member-mms-registration-grants").val(),l0v=$("input#ws-plugin--s2member-mms-registration-blogs-level0").val();$("div#ws-plugin--s2member-mms-registration-support-package-details-wrapper").hide(),$("div.ws-plugin--s2member-mms-registration-wp-login, table.ws-plugin--s2member-mms-registration-wp-login").show(),$("div.ws-plugin--s2member-mms-registration-wp-signup, table.ws-plugin--s2member-mms-registration-wp-signup").hide();$("div.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0, table.ws-plugin--s2member-mms-registration-wp-signup-blogs-level0").hide();$("input#ws-plugin--s2member-mms-registration-blogs-level0").val("0")}}}).trigger("change");$("select#ws-plugin--s2member-mms-registration-grants").change(function(){$("select#ws-plugin--s2member-mms-registration-file").trigger("change")})}if(location.href.match(/page\=ws-plugin--s2member-gen-ops/)){ws_plugin__s2member_generateSecurityKey=function(){var mt_rand=function(min,max){min=(arguments.length<1)?0:min;max=(arguments.length<2)?2147483647:max;return Math.floor(Math.random()*(max-min+1))+min};var chars="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789!@#$%^&*()";for(var i=0,key="";i<64;i++){key+=chars.substr(mt_rand(0,chars.length-1),1)}$("input#ws-plugin--s2member-sec-encryption-key").val(key);return false};ws_plugin__s2member_enableSecurityKey=function(){if(confirm("Edit Key? Are you sure?\nThis could break your installation!\n\n*Note* If you've been testing s2Member, feel free to change this Key before you go live. Just don't go live, and then change it. You'll have unhappy Customers. Data corruption WILL occur! For your safety, s2Member keeps a history of the last 10 Keys that you've used. If you get yourself into a real situation, s2Member will let you revert back to a previous Key.")){$("input#ws-plugin--s2member-sec-encryption-key").removeAttr("disabled")}return false};ws_plugin__s2member_securityKeyHistory=function(){$("div#ws-plugin--s2member-sec-encryption-key-history").toggle();return false};$("select#ws-plugin--s2member-new-user-emails-enabled").change(function(){var $pluggable=$("input#ws-plugin--s2member-pluggables-wp-new-user-notification"),$this=$(this),$newUserEmails=$("div#ws-plugin--s2member-new-user-emails");if($pluggable.val()==="0"||$this.val()==="0"){($pluggable.val()==="0")?$this.attr("disabled","disabled"):$this.removeAttr("disabled");$(":input",$newUserEmails).attr("disabled","disabled"),$newUserEmails.css("opacity","0.5")}else{$this.removeAttr("disabled"),$(":input",$newUserEmails).removeAttr("disabled"),$newUserEmails.css("opacity","")}}).trigger("change");$("select#ws-plugin--s2member-login-reg-design-enabled").change(function(){var $this=$(this),$loginRegDesign=$("div#ws-plugin--s2member-login-reg-design");if($this.val()==="0"){$(":input",$loginRegDesign).attr("disabled","disabled"),$loginRegDesign.css("opacity","0.5"),$loginRegDesign.hide()}else{$(":input",$loginRegDesign).removeAttr("disabled"),$loginRegDesign.css("opacity",""),$loginRegDesign.show()}}).trigger("change");if($("input#ws-plugin--s2member-custom-reg-fields").length&&$("div#ws-plugin--s2member-custom-reg-field-configuration").length){(function(){var i,fieldDefaults,tools,table,$tools,$table;var $fields=$("input#ws-plugin--s2member-custom-reg-fields");var $configuration=$("div#ws-plugin--s2member-custom-reg-field-configuration");var fields=($fields.val())?$.JSON.parse($fields.val()):[];fields=(fields instanceof Array)?fields:[];fieldDefaults={section:"no",sectitle:"",id:"",label:"",type:"text",deflt:"",options:"",expected:"",required:"yes",levels:"all",editable:"yes",classes:"",styles:"",attrs:""};for(i=0;i<fields.length;i++){fields[i]=$.extend(true,{},fieldDefaults,fields[i])}tools='<div id="ws-plugin--s2member-custom-reg-field-configuration-tools"></div>',table='<table id="ws-plugin--s2member-custom-reg-field-configuration-table"></table>';$configuration.html(tools+table);$tools=$("div#ws-plugin--s2member-custom-reg-field-configuration-tools"),$table=$("table#ws-plugin--s2member-custom-reg-field-configuration-table");ws_plugin__s2member_customRegFieldSectionChange=function(select){var section=$(select).val();var sectitle_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle";(section==="yes")?$(sectitle_trs).css("display",""):$(sectitle_trs).css("display","none")};ws_plugin__s2member_customRegFieldTypeChange=function(select){var type=$(select).val();var deflt_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt",options_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-options",expected_trs="tr.ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected";(type.match(/^(text|textarea)$/))?$(deflt_trs).css("display",""):$(deflt_trs).css("display","none");(type.match(/^(select|selects|checkboxes|radios)$/))?$(options_trs).css("display",""):$(options_trs).css("display","none");(type.match(/^(text|textarea)$/))?$(expected_trs).css("display",""):$(expected_trs).css("display","none")};ws_plugin__s2member_customRegFieldDelete=function(index){var newFields=new Array();for(var i=0;i<fields.length;i++){if(i!==index){newFields.push(fields[i])}}fields=newFields,updateFields(),buildTable()};ws_plugin__s2member_customRegFieldMoveUp=function(index){if(typeof fields[index]==="object"&&typeof fields[index-1]==="object"){var prevFieldObj=fields[index-1],thisFieldObj=fields[index];fields[index-1]=thisFieldObj,fields[index]=prevFieldObj;updateFields(),buildTable()}};ws_plugin__s2member_customRegFieldMoveDown=function(index){if(typeof fields[index]==="object"&&typeof fields[index+1]==="object"){var nextFieldObj=fields[index+1],thisFieldObj=fields[index];fields[index+1]=thisFieldObj,fields[index]=nextFieldObj;updateFields(),buildTable()}};ws_plugin__s2member_customRegFieldCreate=function(){var $table=$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form"),field={};$(":input[property]",$table).each(function(){var $this=$(this),property=$this.attr("property"),val=$.trim($this.val());field[property]=val});if((field=validateField(field))){fields.push(field),updateFields(),buildTools(),buildTable(),scrollReset();setTimeout(function(){var row="tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-"+(fields.length-1);alert('Field created successfully.\n* Remember to "Save All Changes".')},500)}};ws_plugin__s2member_customRegFieldUpdate=function(index){var $table=$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form"),field={};$(":input[property]",$table).each(function(){var $this=$(this),property=$this.attr("property"),val=$.trim($this.val());field[property]=val});if((field=validateField(field,index))){fields[index]=field,updateFields(),buildTools(),buildTable(),scrollReset();setTimeout(function(){var row="tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-"+index;alert('Field updated successfully.\n* Remember to "Save All Changes".')},500)}};ws_plugin__s2member_customRegFieldAdd=function(){buildTools(true)};ws_plugin__s2member_customRegFieldEdit=function(index){buildTools(false,index),scrollReset()};ws_plugin__s2member_customRegFieldCancel=function(){buildTools(),scrollReset()};var validateField=function(field,index){var editing=(typeof index==="number"&&typeof fields[index]==="object")?true:false,errors=[],options,i;if(typeof field!=="object"||typeof(field=$.extend(true,{},fieldDefaults,field))!=="object"){alert("Invalid field object. Please try again.");return false}field.sectitle=(field.section==="yes")?field.sectitle:"";field.deflt=(field.type.match(/^(text|textarea)$/))?field.deflt:"";field.deflt=(field.type.match(/^(text)$/))?field.deflt.replace(/[\r\n\t ]+/g," "):field.deflt;field.options=(field.type.match(/^(select|selects|checkboxes|radios)$/))?field.options:"";field.expected=(field.type.match(/^(text|textarea)$/))?field.expected:"";if(!field.id){errors.push("Unique Field ID:\nThis is required. Please try again.")}else{if(fieldIdExists(field.id)&&(!editing||field.id!==fields[index].id)){errors.push("Unique Field ID:\nThat Field ID already exists. Please try again.")}}if(!field.label){errors.push("Field Label/Description:\nThis is required. Please try again.")}if(field.type.match(/^(select|selects|checkboxes|radios)$/)&&!field.options){errors.push("Option Configuration File:\nThis is required. Please try again.")}else{if(field.type.match(/^(select|selects|checkboxes|radios)$/)){for(i=0;i<(options=field.options.split(/[\r\n]+/)).length;i++){if(!(options[i]=$.trim(options[i])).match(/^([^\|]*)(\|)([^\|]*)(\|default)?$/)){errors.push("Option Configuration File:\nInvalid configuration at line #"+(i+1)+".");break}}field.options=$.trim(options.join("\n"))}}if(!(field.levels=field.levels.replace(/ /g,""))){errors.push("Applicable Levels:\nThis is required. Please try again.")}else{if(!field.levels.match(/^(all|[0-9,]+)$/)){errors.push("Applicable Levels:\nShould be comma-delimited Levels, or just type: all.\n(examples: 0,1,2,3,4 or type the word: all)")}}if(field.classes&&field.classes.match(/[^a-z 0-9 _ \-]/i)){errors.push("CSS Classes:\nContains invalid characters. Please try again.\n(only: alphanumerics, underscores, hyphens, spaces)")}if(field.styles&&field.styles.match(/["\=\>\<]/)){errors.push('CSS Styles:\nContains invalid characters. Please try again.\n(do NOT use these characters: = " < >)')}if(field.attrs&&field.attrs.match(/[\>\<]/)){errors.push("Other Attributes:\nContains invalid characters. Please try again.\n(do NOT use these characters: < >)")}if(errors.length>0){alert(errors.join("\n\n"));return false}else{return field}};var updateFields=function(){$fields.val(((fields.length>0)?$.JSON.stringify(fields):""))};var fieldId2Var=function(fieldId){return(typeof fieldId==="string")?$.trim(fieldId).toLowerCase().replace(/[^a-z0-9]/g,"_"):""};var fieldTypeDesc=function(type){var types={text:"Text (single line)",textarea:"Textarea (multi-line)",select:"Select Menu (drop-down)",selects:"Select Menu (multi-option)",checkbox:"Checkbox (single)",pre_checkbox:"Checkbox (pre-checked)",checkboxes:"Checkboxes (multi-option)",radios:"Radio Buttons (multi-option)"};if(typeof types[type]==="string"){return types[type]}return""};var fieldIdExists=function(fieldId){for(var i=0;i<fields.length;i++){if(fields[i].id===fieldId){return true}}};var scrollReset=function(){scrollTo(0,$("div.ws-plugin--s2member-custom-reg-fields-section").offset()["top"]-100)};var buildTools=function(adding,index){var i=0,html="",form="",w=0,h=0,editing=(typeof index==="number"&&typeof fields[index]==="object")?true:false,displayForm=(adding||editing)?true:false,field=(editing)?$.extend(true,{},fieldDefaults,fields[index]):fieldDefaults;html+='<a href="#" onclick="ws_plugin__s2member_customRegFieldAdd(); return false;">Add New Field</a>';tb_remove(),$("div#ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form").remove();if(displayForm){form+='<div id="ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form">';form+='<table id="ws-plugin--s2member-custom-reg-field-configuration-tools-form">';form+="<tbody>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">Starts A New Section?</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section">';form+='<td colspan="2">';form+='<select property="section" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-section" onchange="ws_plugin__s2member_customRegFieldSectionChange(this);">';form+='<option value="no"'+((field.section==="no")?' selected="selected"':"")+'">No (this Field flows normally)</option>';form+='<option value="yes"'+((field.section==="yes")?' selected="selected"':"")+'">Yes (this Field begins a new section)</option>';form+="</select><br />";form+="<small>Optional. Allows Fields to be grouped into sections.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle ws-plugin--s2member-custom-reg-field-configuration-tools-form-section"'+((field.section==="yes")?"":' style="display:none;"')+'><td colspan="2"><hr /></td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle ws-plugin--s2member-custom-reg-field-configuration-tools-form-section"'+((field.section==="yes")?"":' style="display:none;"')+">";form+='<td colspan="2">';form+="Title for this new section? (optional)<br />";form+='<input type="text" property="sectitle" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-sectitle" value="'+esc_attr(field.sectitle)+'" /><br />';form+="<small>If empty, a simple divider will be used by default.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-type"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">Form Field Type: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type">';form+='<td colspan="2">';form+='<select property="type" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-type" onchange="ws_plugin__s2member_customRegFieldTypeChange(this);">';form+='<option value="text"'+((field.type==="text")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("text"))+"</option>";form+='<option value="textarea"'+((field.type==="textarea")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("textarea"))+"</option>";form+='<option value="select"'+((field.type==="select")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("select"))+"</option>";form+='<option value="selects"'+((field.type==="selects")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("selects"))+"</option>";form+='<option value="checkbox"'+((field.type==="checkbox")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("checkbox"))+"</option>";form+='<option value="pre_checkbox"'+((field.type==="pre_checkbox")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("pre_checkbox"))+"</option>";form+='<option value="checkboxes"'+((field.type==="checkboxes")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("checkboxes"))+"</option>";form+='<option value="radios"'+((field.type==="radios")?' selected="selected"':"")+'">'+esc_html(fieldTypeDesc("radios"))+"</option>";form+="</select><br />";form+="<small>The options below may change, based on the Field Type you choose here.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-label"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">Field Label/Desc: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label">';form+='<td colspan="2">';form+='<input type="text" property="label" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-label" value="'+esc_attr(field.label)+'" /><br />';form+="<small>Examples: <code>Choose Country</code>, <code>Street Address</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-id"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">Unique Field ID: *</label></label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id">';form+='<td colspan="2">';form+='<input type="text" property="id" maxlength="25" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-id" value="'+esc_attr(field.id)+'" /><br />';form+="<small>Examples: <code>country_code</code>, <code>street_address</code></small><br />";form+='<small>e.g. <code>[s2Get user_field="country_code" /]</code></small>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-required"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">Field Required: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<td colspan="2">';form+='<select property="required" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-required">';form+='<option value="yes"'+((field.required==="yes")?' selected="selected"':"")+'">Yes (required)</option>';form+='<option value="no"'+((field.required==="no")?' selected="selected"':"")+'">No (optional)</option>';form+="</select><br />";form+='<small>If <code>yes</code>, only Users/Members will be "required" to enter this field.</small><br />';form+="<small>* Administrators are exempt from this requirement.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt">Default Text Value: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<textarea property="deflt" wrap="off" spellcheck="false" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-deflt" rows="1">'+esc_html(field.deflt)+"</textarea><br />";form+="<small>Default value before user input is received.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options">Option Configuration File: * (one option per line)</label><br />';form+="<small>Use a pipe <code>|</code> delimited format: <code>option value|option label</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options"'+((field.type.match(/^(select|selects|checkboxes|radios)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<textarea property="options" wrap="off" spellcheck="false" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-options" rows="3">'+esc_html(field.options)+"</textarea><br />";form+="Here is a quick example:<br />";form+="<small>You can also specify a <em>default</em> option:</small><br />";form+="<code>US|United States|default</code><br />";form+="<code>CA|Canada</code><br />";form+="<code>VI|Virgin Islands (U.S.)</code>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+'><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected">Expected Format: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected"'+((field.type.match(/^(text|textarea)$/))?"":' style="display:none;"')+">";form+='<td colspan="2">';form+='<select property="expected" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-expected">';form+='<option value=""'+((field.expected==="")?' selected="selected"':"")+'">Anything Goes</option>';form+='<option disabled="disabled"></option>';form+='<optgroup label="Specific Input Types">';form+='<option value="numeric-wp-commas"'+((field.expected==="numeric-wp-commas")?' selected="selected"':"")+'">Numeric (with or without decimals, commas allowed)</option>';form+='<option value="numeric"'+((field.expected==="numeric")?' selected="selected"':"")+'">Numeric (with or without decimals, no commas)</option>';form+='<option value="integer"'+((field.expected==="integer")?' selected="selected"':"")+'">Integer (whole number, without any decimals)</option>';form+='<option value="integer-gt-0"'+((field.expected==="integer-gt-0")?' selected="selected"':"")+'">Integer > 0 (whole number, no decimals, greater than 0)</option>';form+='<option value="float"'+((field.expected==="float")?' selected="selected"':"")+'">Float (floating point number, decimals required)</option>';form+='<option value="float-gt-0"'+((field.expected==="float-gt-0")?' selected="selected"':"")+'">Float > 0 (floating point number, decimals required, greater than 0)</option>';form+='<option value="date"'+((field.expected==="date")?' selected="selected"':"")+'">Date (required date format: dd/mm/yyyy)</option>';form+='<option value="email"'+((field.expected==="email")?' selected="selected"':"")+'">Email (require valid email)</option>';form+='<option value="url"'+((field.expected==="url")?' selected="selected"':"")+'">Full URL (starting with http or https)</option>';form+='<option value="domain"'+((field.expected==="domain")?' selected="selected"':"")+'">Domain Name (domain name only, without http)</option>';form+='<option value="phone"'+((field.expected==="phone")?' selected="selected"':"")+'">Phone # (10 digits w/possible hyphens,spaces,brackets)</option>';form+='<option value="uszip"'+((field.expected==="uszip")?' selected="selected"':"")+'">US Zipcode (5-9 digits w/possible hyphen)</option>';form+='<option value="cazip"'+((field.expected==="cazip")?' selected="selected"':"")+'">Canadian Zipcode (6 alpha-numerics w/possible space)</option>';form+='<option value="uczip"'+((field.expected==="uczip")?' selected="selected"':"")+'">US/Canadian Zipcode (either a US or Canadian zipcode)</option>';form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Any Character Combination">';for(i=1;i<=25;i++){form+='<option value="any-'+i+'"'+((field.expected==="any-"+i)?' selected="selected"':"")+'">Any Character Combination ( '+i+" character minimum )</option>";form+='<option value="any-'+i+'-e"'+((field.expected==="any-"+i+"-e")?' selected="selected"':"")+'">Any Character Combination ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics, Spaces & Punctuation Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-spaces-punctuation-'+i+'"'+((field.expected==="alphanumerics-spaces-punctuation-"+i)?' selected="selected"':"")+'">Alphanumerics, Spaces & Punctuation ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-spaces-punctuation-'+i+'-e"'+((field.expected==="alphanumerics-spaces-punctuation-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics, Spaces & Punctuation ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics & Spaces Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-spaces-'+i+'"'+((field.expected==="alphanumerics-spaces-"+i)?' selected="selected"':"")+'">Alphanumerics & Spaces ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-spaces-'+i+'-e"'+((field.expected==="alphanumerics-spaces-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics & Spaces ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics & Punctuation Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-punctuation-'+i+'"'+((field.expected==="alphanumerics-punctuation-"+i)?' selected="selected"':"")+'">Alphanumerics & Punctuation ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-punctuation-'+i+'-e"'+((field.expected==="alphanumerics-punctuation-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics & Punctuation ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphanumerics Only">';for(i=1;i<=25;i++){form+='<option value="alphanumerics-'+i+'"'+((field.expected==="alphanumerics-"+i)?' selected="selected"':"")+'">Alphanumerics ( '+i+" character minimum )</option>";form+='<option value="alphanumerics-'+i+'-e"'+((field.expected==="alphanumerics-"+i+"-e")?' selected="selected"':"")+'">Alphanumerics ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Alphabetics Only">';for(i=1;i<=25;i++){form+='<option value="alphabetics-'+i+'"'+((field.expected==="alphabetics-"+i)?' selected="selected"':"")+'">Alphabetics ( '+i+" character minimum )</option>";form+='<option value="alphabetics-'+i+'-e"'+((field.expected==="alphabetics-"+i+"-e")?' selected="selected"':"")+'">Alphabetics ( exactly '+i+" character"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+='<option disabled="disabled"></option>';form+='<optgroup label="Numeric Digits Only">';for(i=1;i<=25;i++){form+='<option value="numerics-'+i+'"'+((field.expected==="numerics-"+i)?' selected="selected"':"")+'">Numeric Digits ( '+i+" digit minimum )</option>";form+='<option value="numerics-'+i+'-e"'+((field.expected==="numerics-"+i+"-e")?' selected="selected"':"")+'">Numeric Digits ( exactly '+i+" digit"+((i>1)?"s":"")+" )</option>"}form+="</optgroup>";form+="</select><br />";form+="<small>Only Users/Members will be required to meet this criteria.</small><br />";form+="<small>* Administrators are exempt from this.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">Applicable Membership Levels: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels">';form+='<td colspan="2">';form+='<input type="text" property="levels" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-levels" value="'+esc_attr(field.levels)+'" /><br />';form+="<small>Please use comma-delimited Level #'s: <code>0,1,2,3,4</code> or type: <code>all</code>.</small><br />";form+="<small>This allows you to enable this field - only at specific Membership Levels.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">Allow Profile Edits: *</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<td colspan="2">';form+='<select property="editable" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-editable">';form+='<option value="yes"'+((field.editable==="yes")?' selected="selected"':"")+'">Yes (editable)</option>';form+='<option value="no"'+((field.editable==="no")?' selected="selected"':"")+'">No (uneditable after registration)</option>';form+='<option value="no-invisible"'+((field.editable==="no-invisible")?' selected="selected"':"")+'">No (uneditable & totally invisible after registration)</option>';form+='<option value="no-always-invisible"'+((field.editable==="no-always-invisible")?' selected="selected"':"")+'">No (uneditable & totally invisible, both during & after registration)</option>';form+='<option value="yes-invisible"'+((field.editable==="yes-invisible")?' selected="selected"':"")+'">Yes (editable after registration / invisible during registration)</option>';form+="</select><br />";form+="<small>If <code>No</code>, this field will be un-editable after registration.</small><br />";form+="<small>* Administrators are exempt from this.</small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">CSS Classes: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes">';form+='<td colspan="2">';form+='<input type="text" property="classes" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-classes" value="'+esc_attr(field.classes)+'" /><br />';form+="<small>Example: <code>my-style-1 my-style-2</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">CSS Styles: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles">';form+='<td colspan="2">';form+='<input type="text" property="styles" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-styles" value="'+esc_attr(field.styles)+'" /><br />';form+="<small>Example: <code>color:#000000; background:#FFFFFF;</code></small>";form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">';form+='<td colspan="2">';form+='<label for="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">Other Attributes: (optional)</label>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs">';form+='<td colspan="2">';form+='<input type="text" property="attrs" autocomplete="off" id="ws-plugin--s2member-custom-reg-field-configuration-tools-form-attrs" value="'+esc_attr(field.attrs)+'" /><br />';form+='<small>Example: <code>onkeyup="" onblur=""</code></small>';form+="</td>";form+="</tr>";form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-spacer ws-plugin--s2member-custom-reg-field-configuration-tools-form-buttons"><td colspan="2"> </td></tr>';form+='<tr class="ws-plugin--s2member-custom-reg-field-configuration-tools-form-buttons">';form+='<td align="left">';form+='<input type="button" value="Cancel" onclick="ws_plugin__s2member_customRegFieldCancel();" />';form+="</td>";form+='<td align="right">';form+='<input type="button" value="'+((editing)?"Update This Field":"Create Registration Field")+'" onclick="'+((editing)?"ws_plugin__s2member_customRegFieldUpdate("+index+");":"ws_plugin__s2member_customRegFieldCreate();")+'" />';form+="</td>";form+="</tr>";form+="</tbody>";form+="</table>";form+="<div>";$("body").append(form);tb_show(((editing)?"Editing Registration/Profile Field":"New Custom Registration/Profile Field"),"#TB_inline?inlineId=ws-plugin--s2member-custom-reg-field-configuration-thickbox-tools-form");$("table#ws-plugin--s2member-custom-reg-field-configuration-tools-form").show()}$tools.html(html)};var buildTable=function(){var l=fields.length,i=0,html="",eo="o";html+="<tbody>";html+="<tr>";html+="<th>Order</th>";html+="<th>Field Type</th>";html+="<th>Unique ID</th>";html+="<th>Required</th>";html+="<th>Levels</th>";html+="<th>- Tools -</th>";html+="</tr>";if(fields.length>0){for(i=0;i<fields.length;i++){html+='<tr class="'+esc_attr((eo=(eo==="o")?"e":"o"))+((fields[i].section==="yes")?" s":"")+" ws-plugin--s2member-custom-reg-field-configuration-table-row-"+i+'">';html+='<td nowrap="nowrap"><a class="ws-plugin--s2member-custom-reg-field-configuration-move-up" href="#" onclick="ws_plugin__s2member_customRegFieldMoveUp('+i+'); return false;"></a><a class="ws-plugin--s2member-custom-reg-field-configuration-move-down" href="#" onclick="ws_plugin__s2member_customRegFieldMoveDown('+i+'); return false;"></a></td>';html+='<td nowrap="nowrap">'+esc_html(fieldTypeDesc(fields[i].type))+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].id)+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].required)+"</td>";html+='<td nowrap="nowrap">'+esc_html(fields[i].levels)+"</td>";html+='<td nowrap="nowrap"><a class="ws-plugin--s2member-custom-reg-field-configuration-edit" href="#" onclick="ws_plugin__s2member_customRegFieldEdit('+i+'); return false;"></a><a class="ws-plugin--s2member-custom-reg-field-configuration-delete" href="#" onclick="ws_plugin__s2member_customRegFieldDelete('+i+'); return false;"></a></td>';html+="</tr>"}}else{html+="<tr>";html+='<td colspan="6">No Custom Fields are configured.</td>';html+="</tr>"}html+="</tbody>";$table.html(html)};buildTools(),buildTable()})()}}if(location.href.match(/page\=ws-plugin--s2member-res-ops/)){$("input#ws-plugin--s2member-brute-force-restrictions-reset-button").click(function(){var $this=$(this);$this.val("one moment please ...");$.post(ajaxurl,{action:"ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax",ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-delete-reset-all-ip-restrictions-via-ajax")); ?>'},function(response){alert("s2Member's Brute Force Restriction Logs have all been reset."),$this.val("Reset Brute Force Logs")});return false});$("input#ws-plugin--s2member-ip-restrictions-reset-button").click(function(){var $this=$(this);$this.val("one moment please ...");$.post(ajaxurl,{action:"ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax",ws_plugin__s2member_delete_reset_all_ip_restrictions_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-delete-reset-all-ip-restrictions-via-ajax")); ?>'},function(response){alert("s2Member's IP Restriction Logs have all been reset."),$this.val("Reset IP Restriction Logs")});return false});$('div.ws-plugin--s2member-query-level-access-section input[type="checkbox"][name="ws_plugin__s2member_filter_wp_query[]"]').change(function(){var thisChange=$(this).val();$('div.ws-plugin--s2member-query-level-access-section input[type="checkbox"][name="ws_plugin__s2member_filter_wp_query[]"]').each(function(){var $this=$(this),val=$this.val(),checkboxes='input[type="checkbox"]';if(val==="all"&&this.checked){$this.nextAll(checkboxes).attr({checked:"checked",disabled:"disabled"})}else{if(val==="all"&&!this.checked){$this.nextAll(checkboxes).removeAttr("disabled");(thisChange==="all")?$this.nextAll(checkboxes).removeAttr("checked"):null}}})}).last().trigger("change")}if(location.href.match(/page\=ws-plugin--s2member-down-ops/)){var updateCloudFrontPrivateKey=function(){var $hiddenPrivateKey=$("input#ws-plugin--s2member-amazon-cf-files-private-key");var $visiblePrivateKeyEntry=$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry");var hiddenPrivateKeyValue=$.trim($hiddenPrivateKey.val()),visiblePrivateKeyEntryValue=$.trim($visiblePrivateKeyEntry.val());if((hiddenPrivateKeyValue&&!visiblePrivateKeyEntryValue)||visiblePrivateKeyEntryValue.match(/[^\r\n\u25CF]/)){$hiddenPrivateKey.val(visiblePrivateKeyEntryValue),$visiblePrivateKeyEntry.val(visiblePrivateKeyEntryValue.replace(/[^\r\n]/g,String.fromCharCode(9679)))}};$("form#ws-plugin--s2member-options-form").submit(updateCloudFrontPrivateKey);$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry").change(updateCloudFrontPrivateKey).trigger("change");var updateCloudFrontDistroCfgs=function(){var $hiddenPrivateKey=$("input#ws-plugin--s2member-amazon-cf-files-private-key");var $visiblePrivateKeyId=$("input#ws-plugin--s2member-amazon-cf-files-private-key-id");var $autoConfigDistros=$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros");var $autoConfigDistrosStatus=$("input#ws-plugin--s2member-amazon-cf-files-distros-auto-config-status");var autoConfigDistrosStatusValue=$.trim($autoConfigDistrosStatus.val());var hiddenPrivateKeyValue=$.trim($hiddenPrivateKey.val()),visiblePrivateKeyIdValue=$.trim($visiblePrivateKeyId.val());var hiddenPrivateKeyPrevConfigValue=$.trim($hiddenPrivateKey.attr("data-s-prev-config-value")),visiblePrivateKeyIdPrevConfigValue=$.trim($visiblePrivateKeyId.attr("data-s-prev-config-value"));if(autoConfigDistrosStatusValue==="configured"&&((visiblePrivateKeyIdPrevConfigValue&&visiblePrivateKeyIdValue!==visiblePrivateKeyIdPrevConfigValue)||(hiddenPrivateKeyPrevConfigValue&&hiddenPrivateKeyValue!==hiddenPrivateKeyPrevConfigValue))){alert("s2Member will need to delete and re-configure your Amazon CloudFront distributions if you change this. When you're done editing, click (Save All Changes) below.");$autoConfigDistros.attr("checked","checked")}else{if(autoConfigDistrosStatusValue!=="configured"&&visiblePrivateKeyIdValue&&hiddenPrivateKeyValue){alert("s2Member will need to auto-configure your Amazon CloudFront distributions for you. When you're done editing, click (Save All Changes) below.");$autoConfigDistros.attr("checked","checked")}}};$("input#ws-plugin--s2member-amazon-cf-files-private-key-id").change(updateCloudFrontDistroCfgs);$("textarea#ws-plugin--s2member-amazon-cf-files-private-key-entry").change(updateCloudFrontDistroCfgs);$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros-w-cnames").change(function(){var $this=$(this),thisChecked=(this.checked)?true:false;var $autoConfigDistros=$("input#ws-plugin--s2member-amazon-cf-files-auto-configure-distros");var $autoConfigDistroCnames=$("div#ws-plugin--s2member-amazon-cf-files-auto-configure-distro-cnames");(thisChecked)?$autoConfigDistroCnames.show():$autoConfigDistroCnames.hide();(thisChecked)?$autoConfigDistros.attr("checked","checked"):null}).trigger("change")}if(location.href.match(/page\=ws-plugin--s2member-paypal-ops/)){$("select#ws-plugin--s2member-auto-eot-system-enabled").change(function(){var $this=$(this),val=$this.val();var $viaCron=$("p#ws-plugin--s2member-auto-eot-system-enabled-via-cron");if(val==2){$viaCron.show()}else{$viaCron.hide()}})}if(location.href.match(/page\=ws-plugin--s2member-paypal-buttons/)){$("div.ws-menu-page select[id]").filter(function(){return this.id.match(/^ws-plugin--s2member-(level[1-9][0-9]*|modification)-term$/)}).change(function(){var button=this.id.replace(/^ws-plugin--s2member-(.+?)-term$/g,"$1");var trialDisabled=($(this).val().split("-")[2].replace(/[^0-1BN]/g,"")==="BN")?1:0;$("p#ws-plugin--s2member-"+button+"-trial-line").css("display",(trialDisabled?"none":""));$("span#ws-plugin--s2member-"+button+"-trial-then").css("display",(trialDisabled?"none":""));$("span#ws-plugin--s2member-"+button+"-20p-rule").css("display",(trialDisabled?"none":""));(trialDisabled)?$("input#ws-plugin--s2member-"+button+"-trial-period").val(0):null;(trialDisabled)?$("input#ws-plugin--s2member-"+button+"-trial-amount").val("0.00"):null});$("div.ws-menu-page input[id]").filter(function(){return this.id.match(/^ws-plugin--s2member-(level[1-9][0-9]*|modification|ccap)-ccaps$/)}).keyup(function(){var value=this.value.replace(/^(-all|-al|-a|-)[;,]*/gi,""),_all=(this.value.match(/^(-all|-al|-a|-)[;,]*/i))?"-all,":"";if(value.match(/[^a-z_0-9,]/)){this.value=_all+$.trim($.trim(value).replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase())}});ws_plugin__s2member_paypalButtonGenerate=function(button){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="",labels={};eval("<?php echo c_ws_plugin__s2member_utils_strings::esc_dq($labels); ?>");var shortCode=$("input#ws-plugin--s2member-"+button+"-shortcode");var code=$("textarea#ws-plugin--s2member-"+button+"-button");var modLevel=$("select#ws-plugin--s2member-modification-level");var level=(button==="modification")?modLevel.val().split(":",2)[1]:button.replace(/^level/,"");var label=labels["level"+level].replace(/"/g,"");var desc=$.trim($("input#ws-plugin--s2member-"+button+"-desc").val().replace(/"/g,""));var trialAmount=$("input#ws-plugin--s2member-"+button+"-trial-amount").val().replace(/[^0-9\.]/g,"");var trialPeriod=$("input#ws-plugin--s2member-"+button+"-trial-period").val().replace(/[^0-9]/g,"");var trialTerm=$("select#ws-plugin--s2member-"+button+"-trial-term").val().replace(/[^A-Z]/g,"");var regAmount=$("input#ws-plugin--s2member-"+button+"-amount").val().replace(/[^0-9\.]/g,"");var regPeriod=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[0].replace(/[^0-9]/g,"");var regTerm=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[1].replace(/[^A-Z]/g,"");var regRecur=$("select#ws-plugin--s2member-"+button+"-term").val().split("-")[2].replace(/[^0-1BN]/g,"");var regRecurTimes="",regRecurRetry="1";var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-"+button+"-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-"+button+"-currency").val().replace(/[^A-Z]/g,"");var cCaps=$.trim($.trim($("input#ws-plugin--s2member-"+button+"-ccaps").val()).replace(/^(-all|-al|-a|-)[;,]*/gi,"").replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());cCaps=($.trim($("input#ws-plugin--s2member-"+button+"-ccaps").val()).match(/^(-all|-al|-a|-)[;,]*/i))?((cCaps)?"-all,":"-all")+cCaps.toLowerCase():cCaps.toLowerCase();trialPeriod=(regRecur==="BN")?"0":trialPeriod;trialAmount=(!trialAmount||isNaN(trialAmount)||trialAmount<0.01||trialPeriod<=0)?"0":trialAmount;var levelCcapsPer=(regRecur==="BN"&®Term!=="L")?level+":"+cCaps+":"+regPeriod+" "+regTerm:level+":"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(trialAmount!=="0"&&(isNaN(trialAmount)||trialAmount<0)){alert("— Oops, a slight problem: —\n\nWhen provided, Trial Amount must be >= 0.00");return false}else{if(trialAmount!=="0"&&trialAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Trial Amount is: 10000.00");return false}else{if(trialTerm==="D"&&trialPeriod>90){alert("— Oops, a slight problem: —\n\nMaximum Trial Days is: 90.\nIf you want to offer more than 90 days, please choose Weeks or Months from the drop-down.");return false}else{if(trialTerm==="W"&&trialPeriod>52){alert("— Oops, a slight problem: —\n\nMaximum Trial Weeks is: 52.\nIf you want to offer more than 52 weeks, please choose Months from the drop-down.");return false}else{if(trialTerm==="M"&&trialPeriod>24){alert("— Oops, a slight problem: —\n\nMaximum Trial Months is: 24.\nIf you want to offer more than 24 months, please choose Years from the drop-down.");return false}else{if(trialTerm==="Y"&&trialPeriod>5){alert("— Oops, a slight problem: —\n\nMax Trial Period Years is: 5.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}}}}}}code.html(code.val().replace(/ \<\!--(\<input type\="hidden" name\="(amount|src|srt|sra|a1|p1|t1|a3|p3|t3)" value\="(.*?)" \/\>)--\>/g," $1"));(parseInt(trialPeriod)<=0)?code.html(code.val().replace(/ (\<input type\="hidden" name\="(a1|p1|t1)" value\="(.*?)" \/\>)/g," <!--$1-->")):null;(regRecur==="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="cmd" value\=")(.*?)(" \/\>)/g," $1_xclick$3")):null;(regRecur==="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="(src|srt|sra|a1|p1|t1|a3|p3|t3)" value\="(.*?)" \/\>)/g," <!--$1-->")):null;(regRecur!=="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="cmd" value\=")(.*?)(" \/\>)/g," $1_xclick-subscriptions$3")):null;(regRecur!=="BN")?code.html(code.val().replace(/ (\<input type\="hidden" name\="amount" value\="(.*?)" \/\>)/g," <!--$1-->")):null;shortCodeTemplateAttrs+=(button==="modification")?'modify="1" ':"";shortCodeTemplateAttrs+='level="'+esc_attr(level)+'" ccaps="'+esc_attr(cCaps)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'" custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"';shortCodeTemplateAttrs+=' ta="'+esc_attr(trialAmount)+'" tp="'+esc_attr(trialPeriod)+'" tt="'+esc_attr(trialTerm)+'" ra="'+esc_attr(regAmount)+'" rp="'+esc_attr(regPeriod)+'" rt="'+esc_attr(regTerm)+'" rr="'+esc_attr(regRecur)+'" rrt="'+esc_attr(regRecurTimes)+'" rra="'+esc_attr(regRecurRetry)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(levelCcapsPer)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="modify" value\="(.*?)"/,' name="modify" value="'+((button==="modification")?"1":"0")+'"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));code.html(code.val().replace(/ name\="src" value\="(.*?)"/,' name="src" value="'+esc_attr(regRecur)+'"'));code.html(code.val().replace(/ name\="srt" value\="(.*?)"/,' name="srt" value="'+esc_attr(regRecurTimes)+'"'));code.html(code.val().replace(/ name\="sra" value\="(.*?)"/,' name="sra" value="'+esc_attr(regRecurRetry)+'"'));code.html(code.val().replace(/ name\="a1" value\="(.*?)"/,' name="a1" value="'+esc_attr(trialAmount)+'"'));code.html(code.val().replace(/ name\="p1" value\="(.*?)"/,' name="p1" value="'+esc_attr(trialPeriod)+'"'));code.html(code.val().replace(/ name\="t1" value\="(.*?)"/,' name="t1" value="'+esc_attr(trialTerm)+'"'));code.html(code.val().replace(/ name\="a3" value\="(.*?)"/,' name="a3" value="'+esc_attr(regAmount)+'"'));code.html(code.val().replace(/ name\="p3" value\="(.*?)"/,' name="p3" value="'+esc_attr(regPeriod)+'"'));code.html(code.val().replace(/ name\="t3" value\="(.*?)"/,' name="t3" value="'+esc_attr(regTerm)+'"'));$("div#ws-plugin--s2member-"+button+"-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));(button==="modification")?alert("Your Modification Button has been generated.\nPlease copy/paste the Shortcode into your Login Welcome Page, or wherever you feel it would be most appropriate.\n\n* Remember, Modification Buttons should be displayed to existing Users/Members, and they should be logged-in, BEFORE clicking this Button."):alert("Your Button has been generated.\nPlease copy/paste the Shortcode Format into your Membership Options Page.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalCcapButtonGenerate=function(){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="";var shortCode=$("input#ws-plugin--s2member-ccap-shortcode");var code=$("textarea#ws-plugin--s2member-ccap-button");var desc=$.trim($("input#ws-plugin--s2member-ccap-desc").val().replace(/"/g,""));var regAmount=$("input#ws-plugin--s2member-ccap-amount").val().replace(/[^0-9\.]/g,"");var regPeriod=$("select#ws-plugin--s2member-ccap-term").val().split("-")[0].replace(/[^0-9]/g,"");var regTerm=$("select#ws-plugin--s2member-ccap-term").val().split("-")[1].replace(/[^A-Z]/g,"");var regRecur=$("select#ws-plugin--s2member-ccap-term").val().split("-")[2].replace(/[^0-1BN]/g,"");var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-ccap-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-ccap-currency").val().replace(/[^A-Z]/g,"");var cCaps=$.trim($.trim($("input#ws-plugin--s2member-ccap-ccaps").val()).replace(/^(-all|-al|-a|-)[;,]*/gi,"").replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());cCaps=($.trim($("input#ws-plugin--s2member-ccap-ccaps").val()).match(/^(-all|-al|-a|-)[;,]*/i))?((cCaps)?"-all,":"-all")+cCaps.toLowerCase():cCaps.toLowerCase();var levelCcapsPer=(regRecur==="BN"&®Term!=="L")?"*:"+cCaps+":"+regPeriod+" "+regTerm:"*:"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(!cCaps||cCaps==="-all"){alert("— Oops, a slight problem: —\n\nPlease provide at least one Custom Capability.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}shortCodeTemplateAttrs+='level="*" ccaps="'+esc_attr(cCaps)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'"';shortCodeTemplateAttrs+=' custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>" ra="'+esc_attr(regAmount)+'" rp="'+esc_attr(regPeriod)+'" rt="'+esc_attr(regTerm)+'" rr="'+esc_attr(regRecur)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(levelCcapsPer)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));$("div#ws-plugin--s2member-ccap-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));alert("Your Button has been generated.\nPlease copy/paste the Shortcode into your Login Welcome Page, or wherever you feel it would be most appropriate.\n\n* Remember, Independent Custom Capability Buttons should ONLY be displayed to existing Users/Members, and they MUST be logged-in, BEFORE clicking this Button.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalSpButtonGenerate=function(){var shortCodeTemplate='[s2Member-PayPal-Button %%attrs%% image="default" output="button" /]',shortCodeTemplateAttrs="";var shortCode=$("input#ws-plugin--s2member-sp-shortcode");var code=$("textarea#ws-plugin--s2member-sp-button");var leading=$("select#ws-plugin--s2member-sp-leading-id").val().replace(/[^0-9]/g,"");var additionals=$("select#ws-plugin--s2member-sp-additional-ids").val()||[];var hours=$("select#ws-plugin--s2member-sp-hours").val().replace(/[^0-9]/g,"");var regAmount=$("input#ws-plugin--s2member-sp-amount").val().replace(/[^0-9\.]/g,"");var desc=$.trim($("input#ws-plugin--s2member-sp-desc").val().replace(/"/g,""));var localeCode="",digital="0",noShipping="1";var pageStyle=$.trim($("input#ws-plugin--s2member-sp-page-style").val().replace(/"/g,""));var currencyCode=$("select#ws-plugin--s2member-sp-currency").val().replace(/[^A-Z]/g,"");if(!leading){alert("— Oops, a slight problem: —\n\nPlease select a Leading Post/Page.\n\n*Tip* If there are no Posts/Pages in the menu, it's because you've not configured s2Member for Specific Post/Page Access yet. See: s2Member -› Restriction Options -› Specific Post/Page Access.");return false}else{if(!regAmount||isNaN(regAmount)||regAmount<0.01){alert("— Oops, a slight problem: —\n\nAmount must be >= 0.01");return false}else{if(regAmount>10000&¤cyCode.toUpperCase()==="USD"){alert("— Oops, a slight problem: —\n\nMaximum Amount is: 10000.00");return false}else{if(!desc){alert("— Oops, a slight problem: —\n\nPlease type a Description for this Button.");return false}}}}for(var i=0,ids=leading;i<additionals.length;i++){if(additionals[i]&&additionals[i]!==leading){ids+=","+additionals[i]}}var spIdsHours="sp:"+ids+":"+hours;shortCodeTemplateAttrs+='sp="1" ids="'+esc_attr(ids)+'" exp="'+esc_attr(hours)+'" desc="'+esc_attr(desc)+'" ps="'+esc_attr(pageStyle)+'" lc="'+esc_attr(localeCode)+'" cc="'+esc_attr(currencyCode)+'" dg="'+esc_attr(digital)+'" ns="'+esc_attr(noShipping)+'"';shortCodeTemplateAttrs+=' custom="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>" ra="'+esc_attr(regAmount)+'"';shortCode.val(shortCodeTemplate.replace(/%%attrs%%/,shortCodeTemplateAttrs));code.html(code.val().replace(/ name\="lc" value\="(.*?)"/,' name="lc" value="'+esc_attr(localeCode)+'"'));code.html(code.val().replace(/ name\="no_shipping" value\="(.*?)"/,' name="no_shipping" value="'+esc_attr(noShipping)+'"'));code.html(code.val().replace(/ name\="item_name" value\="(.*?)"/,' name="item_name" value="'+esc_attr(desc)+'"'));code.html(code.val().replace(/ name\="item_number" value\="(.*?)"/,' name="item_number" value="'+esc_attr(spIdsHours)+'"'));code.html(code.val().replace(/ name\="page_style" value\="(.*?)"/,' name="page_style" value="'+esc_attr(pageStyle)+'"'));code.html(code.val().replace(/ name\="currency_code" value\="(.*?)"/,' name="currency_code" value="'+esc_attr(currencyCode)+'"'));code.html(code.val().replace(/ name\="custom" value\="(.*?)"/,' name="custom" value="<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["HTTP_HOST"])); ?>"'));code.html(code.val().replace(/ name\="amount" value\="(.*?)"/,' name="amount" value="'+esc_attr(regAmount)+'"'));$("div#ws-plugin--s2member-sp-button-prev").html(code.val().replace(/\<form/,'<form target="_blank"').replace(/\<\?php echo S2MEMBER_VALUE_FOR_PP_INV\(\); \?\>/g,Math.round(new Date().getTime())+'~<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (esc_attr ($_SERVER["REMOTE_ADDR"])); ?>').replace(/\<\?php echo S2MEMBER_CURRENT_USER_VALUE_FOR_PP_(ON0|OS0|ON1|OS1); \?\>/g,""));alert("Your Button has been generated.\nPlease copy/paste the Shortcode into your WordPress Editor.");shortCode.each(function(){this.focus(),this.select()});return false};ws_plugin__s2member_paypalRegLinkGenerate=function(){var level=$("select#ws-plugin--s2member-reg-link-level").val().replace(/[^0-9]/g,"");var subscrID=$.trim($("input#ws-plugin--s2member-reg-link-subscr-id").val());var custom=$.trim($("input#ws-plugin--s2member-reg-link-custom").val());var cCaps=$.trim($.trim($("input#ws-plugin--s2member-reg-link-ccaps").val()).replace(/[ \-]/g,"_").replace(/[^a-z_0-9,]/gi,"").toLowerCase());var fixedTerm=$.trim($("input#ws-plugin--s2member-reg-link-fixed-term").val().replace(/[^A-Z 0-9]/gi,"").toUpperCase());var $link=$("p#ws-plugin--s2member-reg-link"),$loading=$("img#ws-plugin--s2member-reg-link-loading");var levelCcapsPer=(fixedTerm&&!fixedTerm.match(/L$/))?level+":"+cCaps+":"+fixedTerm:level+":"+cCaps;levelCcapsPer=levelCcapsPer.replace(/\:+$/g,"");if(!subscrID){alert("— Oops, a slight problem: —\n\nPaid Subscr. ID is a required value.");return false}else{if(!custom||custom.indexOf('<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq ($_SERVER["HTTP_HOST"]); ?>')!==0){alert("— Oops, a slight problem: —\n\nThe Custom Value MUST start with your domain name.");return false}else{if(fixedTerm&&!fixedTerm.match(/^[1-9]+ (D|W|M|Y|L)$/)){alert("— Oops, a slight problem: —\n\nThe Fixed Term Length is not formatted properly.");return false}}}$link.hide(),$loading.show(),$.post(ajaxurl,{action:"ws_plugin__s2member_reg_access_link_via_ajax",ws_plugin__s2member_reg_access_link_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-reg-access-link-via-ajax")); ?>',s2member_reg_access_link_subscr_gateway:"paypal",s2member_reg_access_link_subscr_id:subscrID,s2member_reg_access_link_custom:custom,s2member_reg_access_link_item_number:levelCcapsPer},function(response){$link.show().html('<a href="'+esc_attr(response)+'" target="_blank" rel="external">'+esc_html(response)+"</a>"),$loading.hide()});return false};ws_plugin__s2member_paypalSpLinkGenerate=function(){var leading=$("select#ws-plugin--s2member-sp-link-leading-id").val().replace(/[^0-9]/g,"");var additionals=$("select#ws-plugin--s2member-sp-link-additional-ids").val()||[];var hours=$("select#ws-plugin--s2member-sp-link-hours").val().replace(/[^0-9]/g,"");var $link=$("p#ws-plugin--s2member-sp-link"),$loading=$("img#ws-plugin--s2member-sp-link-loading");if(!leading){alert("— Oops, a slight problem: —\n\nPlease select a Leading Post/Page.\n\n*Tip* If there are no Posts/Pages in the menu, it's because you've not configured s2Member for Specific Post/Page Access yet. See: s2Member -› Restriction Options -› Specific Post/Page Access.");return false}for(var i=0,ids=leading;i<additionals.length;i++){if(additionals[i]&&additionals[i]!==leading){ids+=","+additionals[i]}}$link.hide(),$loading.show(),$.post(ajaxurl,{action:"ws_plugin__s2member_sp_access_link_via_ajax",ws_plugin__s2member_sp_access_link_via_ajax:'<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (wp_create_nonce ("ws-plugin--s2member-sp-access-link-via-ajax")); ?>',s2member_sp_access_link_ids:ids,s2member_sp_access_link_hours:hours},function(response){$link.show().html('<a href="'+esc_attr(response)+'" target="_blank" rel="external">'+esc_html(response)+"</a>"),$loading.hide()});return false}}if(location.href.match(/page\=ws-plugin--s2member-els-ops/)){$("select#ws-plugin--s2member-custom-reg-opt-in").change(function(){var $this=$(this),val=$this.val();var $rows=$("tr.ws-plugin--s2member-custom-reg-opt-in-label-row");var $prevImg=$("img.ws-plugin--s2member-custom-reg-opt-in-label-prev-img");if(val<=0){$rows.css("display","none"),$prevImg.attr("src",$prevImg.attr("src").replace(/\/checked\.png$/,"/unchecked.png"))}else{if(val==1){$rows.css("display",""),$prevImg.attr("src",$prevImg.attr("src").replace(/\/unchecked\.png$/,"/checked.png"))}else{if(val==2){$rows.css("display",""),$prevImg.attr("src",$prevImg.attr("src").replace(/\/checked\.png$/,"/unchecked.png"))}}}});$('div.ws-plugin--s2member-opt-out-section input[type="checkbox"][name="ws_plugin__s2member_custom_reg_auto_opt_outs[]"]').change(function(){var thisChange=$(this).val(),checkedIndexes=[];$('div.ws-plugin--s2member-opt-out-section input[type="checkbox"][name="ws_plugin__s2member_custom_reg_auto_opt_outs[]"]').each(function(){var $this=$(this),val=$this.val(),checkboxes='input[type="checkbox"]';if(val==="removal-deletion"&&this.checked){$this.nextAll(checkboxes).slice(0,2).attr({checked:"checked",disabled:"disabled"})}else{if(val==="removal-deletion"&&!this.checked){$this.nextAll(checkboxes).slice(0,2).removeAttr("disabled");(thisChange==="removal-deletion")?$this.nextAll(checkboxes).slice(0,2).removeAttr("checked"):null}else{if(val==="modification"&&this.checked){$this.nextAll(checkboxes).slice(0,3).attr({checked:"checked",disabled:"disabled"})}else{if(val==="modification"&&!this.checked){(thisChange==="modification")?$this.nextAll(checkboxes).slice(0,3).removeAttr("checked"):null;$this.nextAll(checkboxes).slice(0,3).removeAttr("disabled")}}}}}).each(function(index){(this.checked)?checkedIndexes.push(index):null});$("select#ws-plugin--s2member-custom-reg-auto-opt-out-transitions").removeAttr("disabled");if($.inArray(3,checkedIndexes)===-1&&$.inArray(4,checkedIndexes)===-1&&$.inArray(5,checkedIndexes)===-1&&$.inArray(6,checkedIndexes)===-1){$("select#ws-plugin--s2member-custom-reg-auto-opt-out-transitions").attr("disabled","disabled")}}).last().trigger("change")}});
|
includes/menu-pages/menu-pages-s.js
CHANGED
@@ -248,7 +248,7 @@ jQuery(document).ready(function($)
|
|
248 |
{
|
249 |
var row = 'tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-'+(fields.length-1);
|
250 |
alert('Field created successfully.\n* Remember to "Save All Changes".');
|
251 |
-
|
252 |
}, 500);
|
253 |
}
|
254 |
};
|
@@ -270,7 +270,7 @@ jQuery(document).ready(function($)
|
|
270 |
{
|
271 |
var row = 'tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-'+index;
|
272 |
alert('Field updated successfully.\n* Remember to "Save All Changes".');
|
273 |
-
|
274 |
}, 500);
|
275 |
}
|
276 |
};
|
248 |
{
|
249 |
var row = 'tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-'+(fields.length-1);
|
250 |
alert('Field created successfully.\n* Remember to "Save All Changes".');
|
251 |
+
//$(row).effect('highlight');
|
252 |
}, 500);
|
253 |
}
|
254 |
};
|
270 |
{
|
271 |
var row = 'tr.ws-plugin--s2member-custom-reg-field-configuration-table-row-'+index;
|
272 |
alert('Field updated successfully.\n* Remember to "Save All Changes".');
|
273 |
+
//$(row).effect('highlight');
|
274 |
}, 500);
|
275 |
}
|
276 |
};
|
includes/s2member.js
CHANGED
@@ -425,7 +425,7 @@ jQuery(document).ready (function($)
|
|
425 |
{
|
426 |
return label + '\n' + '<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Must be a full URL (starting with http or https).", "s2member-front", "s2member")); ?>';
|
427 |
}
|
428 |
-
else if (expected === 'domain' && !value.match (/^([a-z0-9]+)(((-*)([a-z0-9]+))*)(((\.)([a-z0-9]+)(((-*)([a-z0-9]+))*))*)(\.)([a-z]{2,
|
429 |
{
|
430 |
return label + '\n' + '<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Must be a domain name (domain name only, without http).", "s2member-front", "s2member")); ?>';
|
431 |
}
|
425 |
{
|
426 |
return label + '\n' + '<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Must be a full URL (starting with http or https).", "s2member-front", "s2member")); ?>';
|
427 |
}
|
428 |
+
else if (expected === 'domain' && !value.match (/^([a-z0-9]+)(((-*)([a-z0-9]+))*)(((\.)([a-z0-9]+)(((-*)([a-z0-9]+))*))*)(\.)([a-z]{2,})$/i))
|
429 |
{
|
430 |
return label + '\n' + '<?php echo c_ws_plugin__s2member_utils_strings::esc_js_sq (_x ("Must be a domain name (domain name only, without http).", "s2member-front", "s2member")); ?>';
|
431 |
}
|
includes/translations/s2member.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version:
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
-
"POT-Creation-Date: 2014-04-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -635,7 +635,7 @@ msgstr ""
|
|
635 |
#: s2member/includes/classes/paypal-utilities.inc.php:316
|
636 |
#: s2member/includes/classes/paypal-utilities.inc.php:324
|
637 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:97
|
638 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
639 |
msgctxt "s2member-front"
|
640 |
msgid "Error. Please contact Support for assistance."
|
641 |
msgstr ""
|
@@ -668,7 +668,7 @@ msgstr ""
|
|
668 |
#: s2member/includes/classes/paypal-utilities.inc.php:314
|
669 |
#: s2member/includes/classes/paypal-utilities.inc.php:322
|
670 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:94
|
671 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
672 |
msgctxt "s2member-front"
|
673 |
msgid "Error #%1$s. %2$s."
|
674 |
msgstr ""
|
@@ -2744,7 +2744,7 @@ msgstr ""
|
|
2744 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:233
|
2745 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:517
|
2746 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:236
|
2747 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2748 |
msgctxt "s2member-front"
|
2749 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to cancel your account."
|
2750 |
msgstr ""
|
@@ -2759,208 +2759,208 @@ msgstr ""
|
|
2759 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:244
|
2760 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:244
|
2761 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:250
|
2762 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2763 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2764 |
msgctxt "s2member-front"
|
2765 |
msgid "Nothing to cancel. You have NO recurring fees."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:250
|
2769 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:528
|
2770 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2771 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2772 |
msgctxt "s2member-front"
|
2773 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to update your billing information."
|
2774 |
msgstr ""
|
2775 |
|
2776 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:253
|
2777 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2778 |
msgctxt "s2member-front"
|
2779 |
msgid "Nothing to update. You're NOT a paid Member."
|
2780 |
msgstr ""
|
2781 |
|
2782 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:258
|
2783 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:261
|
2784 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2785 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2786 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2787 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2788 |
msgctxt "s2member-front"
|
2789 |
msgid "Nothing to update. You have NO recurring fees. Or, your billing profile is no longer active. Please contact Support if you need assistance."
|
2790 |
msgstr ""
|
2791 |
|
2792 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:267
|
2793 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2794 |
msgctxt "s2member-admin"
|
2795 |
msgid "Invalid form configuration. Missing \"level\" attribute. Membership Level. Must be numeric [0-%s]."
|
2796 |
msgstr ""
|
2797 |
|
2798 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:270
|
2799 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2800 |
msgctxt "s2member-admin"
|
2801 |
msgid "Invalid form configuration. Invalid \"level\" attribute. Membership Level. Must be numeric [0-%s]."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:273
|
2805 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:361
|
2806 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2807 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2808 |
msgctxt "s2member-admin"
|
2809 |
msgid "Invalid form configuration. Invalid \"ccaps\" attribute. Custom Capabilities. When provided, must be all lowercase [a-z_0-9,]. A preceding `-all,` directive is also acceptable."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:276
|
2813 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:385
|
2814 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2815 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2816 |
msgctxt "s2member-admin"
|
2817 |
msgid "Invalid form configuration. Invalid \"tp\" attribute. The Trial Period. When provided, must be numeric."
|
2818 |
msgstr ""
|
2819 |
|
2820 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:279
|
2821 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:388
|
2822 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2823 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2824 |
msgctxt "s2member-admin"
|
2825 |
msgid "Invalid form configuration. Invalid \"tp\" attribute. The Trial Period. When provided, must be >= 1."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:282
|
2829 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:391
|
2830 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2831 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2832 |
msgctxt "s2member-admin"
|
2833 |
msgid "Invalid form configuration. Missing \"tt\" attribute. The Trial Term. When \"tp\" is provided, \"tt\" (Trial Term) must be one of D,W,M,Y."
|
2834 |
msgstr ""
|
2835 |
|
2836 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:285
|
2837 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:394
|
2838 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2839 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2840 |
msgctxt "s2member-admin"
|
2841 |
msgid "Invalid form configuration. Invalid \"tt\" attribute. The Trial Term. When \"tp\" is provided, \"tt\" (Trial Term) must be one of D,W,M,Y."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:288
|
2845 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2846 |
msgctxt "s2member-admin"
|
2847 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. When provided, must start with your domain name."
|
2848 |
msgstr ""
|
2849 |
|
2850 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:293
|
2851 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2852 |
msgctxt "s2member-admin"
|
2853 |
msgid "Invalid form configuration. Missing \"ids\" attribute. Must contain comma-delimited Post/Page IDs."
|
2854 |
msgstr ""
|
2855 |
|
2856 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:296
|
2857 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2858 |
msgctxt "s2member-admin"
|
2859 |
msgid "Invalid form configuration. Invalid \"ids\" attribute. Must contain comma-delimited Post/Page IDs. Must contain [0-9,] only."
|
2860 |
msgstr ""
|
2861 |
|
2862 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:299
|
2863 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2864 |
msgctxt "s2member-admin"
|
2865 |
msgid "Invalid form configuration. Missing \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be numeric."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:302
|
2869 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2870 |
msgctxt "s2member-admin"
|
2871 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be numeric."
|
2872 |
msgstr ""
|
2873 |
|
2874 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:305
|
2875 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2876 |
msgctxt "s2member-admin"
|
2877 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be >= 1."
|
2878 |
msgstr ""
|
2879 |
|
2880 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:308
|
2881 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2882 |
msgctxt "s2member-admin"
|
2883 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be <= 43800."
|
2884 |
msgstr ""
|
2885 |
|
2886 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:311
|
2887 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2888 |
msgctxt "s2member-admin"
|
2889 |
msgid "Invalid form configuration. Missing \"sp_ids_exp\" internal attribute. Please check Shortcode Attributes."
|
2890 |
msgstr ""
|
2891 |
|
2892 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:314
|
2893 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2894 |
msgctxt "s2member-admin"
|
2895 |
msgid "Invalid form configuration. Invalid \"sp_ids_exp\" internal attribute. Please check Shortcode Attributes."
|
2896 |
msgstr ""
|
2897 |
|
2898 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:317
|
2899 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:367
|
2900 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2901 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2902 |
msgctxt "s2member-admin"
|
2903 |
msgid "Invalid form configuration. Missing \"desc\" attribute. Please provide a Description for this form."
|
2904 |
msgstr ""
|
2905 |
|
2906 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:320
|
2907 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:370
|
2908 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2909 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2910 |
msgctxt "s2member-admin"
|
2911 |
msgid "Invalid form configuration. Your \"desc\" (Description) attribute must be <= 100 characters long."
|
2912 |
msgstr ""
|
2913 |
|
2914 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:323
|
2915 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:373
|
2916 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2917 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2918 |
msgctxt "s2member-admin"
|
2919 |
msgid "Invalid form configuration. Missing \"custom\" attribute. Must start with your domain name."
|
2920 |
msgstr ""
|
2921 |
|
2922 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:326
|
2923 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2924 |
msgctxt "s2member-admin"
|
2925 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. Must start with your domain name."
|
2926 |
msgstr ""
|
2927 |
|
2928 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:329
|
2929 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:379
|
2930 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2931 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2932 |
msgctxt "s2member-admin"
|
2933 |
msgid "Invalid form configuration. Missing \"cc\" attribute. Must be a 3 character Currency Code."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:332
|
2937 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:382
|
2938 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2939 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2940 |
msgctxt "s2member-admin"
|
2941 |
msgid "Invalid form configuration. Invalid \"cc\" attribute. Must be a 3 character Currency Code."
|
2942 |
msgstr ""
|
2943 |
|
2944 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:335
|
2945 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:463
|
2946 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2947 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2948 |
msgctxt "s2member-admin"
|
2949 |
msgid "Invalid form configuration. Missing \"ra\" attribute. The Regular Amount. Must be >= 0.00."
|
2950 |
msgstr ""
|
2951 |
|
2952 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:338
|
2953 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:466
|
2954 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2955 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2956 |
msgctxt "s2member-admin"
|
2957 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be numeric."
|
2958 |
msgstr ""
|
2959 |
|
2960 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:341
|
2961 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:469
|
2962 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2963 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2964 |
msgctxt "s2member-admin"
|
2965 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be >= 0.00."
|
2966 |
msgstr ""
|
@@ -2972,69 +2972,69 @@ msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount.
|
|
2972 |
msgstr ""
|
2973 |
|
2974 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:349
|
2975 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2976 |
msgctxt "s2member-front"
|
2977 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">login</a> to update your billing plan."
|
2978 |
msgstr ""
|
2979 |
|
2980 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:352
|
2981 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2982 |
msgctxt "s2member-front"
|
2983 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">login</a> before making this purchase."
|
2984 |
msgstr ""
|
2985 |
|
2986 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:355
|
2987 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2988 |
msgctxt "s2member-admin"
|
2989 |
msgid "Invalid form configuration. Missing \"level\" attribute. Membership Level. Must be numeric [1-%s], or an asterisk (*)."
|
2990 |
msgstr ""
|
2991 |
|
2992 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:358
|
2993 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
2994 |
msgctxt "s2member-admin"
|
2995 |
msgid "Invalid form configuration. Invalid \"level\" attribute. Membership Level. Must be numeric [1-%s], or an asterisk (*)."
|
2996 |
msgstr ""
|
2997 |
|
2998 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:364
|
2999 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3000 |
msgctxt "s2member-admin"
|
3001 |
msgid "Invalid form configuration. Missing or invalid \"ccaps\" attribute. When \"level\" is \"*\" for (Independent Custom Capabilities), \"ccaps\" is required. All lowercase [a-z_0-9,]. A preceding `-all,` directive is also acceptable."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:376
|
3005 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3006 |
msgctxt "s2member-admin"
|
3007 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. Must start with matching domain."
|
3008 |
msgstr ""
|
3009 |
|
3010 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:397
|
3011 |
msgctxt "s2member-admin"
|
3012 |
-
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes.
|
3013 |
msgstr ""
|
3014 |
|
3015 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:400
|
3016 |
msgctxt "s2member-admin"
|
3017 |
-
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes.
|
3018 |
msgstr ""
|
3019 |
|
3020 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:403
|
3021 |
msgctxt "s2member-admin"
|
3022 |
-
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes.
|
3023 |
msgstr ""
|
3024 |
|
3025 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:406
|
3026 |
msgctxt "s2member-admin"
|
3027 |
-
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes.
|
3028 |
msgstr ""
|
3029 |
|
3030 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:409
|
3031 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3032 |
msgctxt "s2member-admin"
|
3033 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be numeric."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:412
|
3037 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3038 |
msgctxt "s2member-admin"
|
3039 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be >= 0.00."
|
3040 |
msgstr ""
|
@@ -3045,31 +3045,31 @@ msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. W
|
|
3045 |
msgstr ""
|
3046 |
|
3047 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:418
|
3048 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3049 |
msgctxt "s2member-admin"
|
3050 |
msgid "Invalid form configuration. Missing \"rp\" attribute. The Regular Period. Must be >= 1."
|
3051 |
msgstr ""
|
3052 |
|
3053 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:421
|
3054 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3055 |
msgctxt "s2member-admin"
|
3056 |
msgid "Invalid form configuration. Invalid \"rp\" attribute. The Regular Period. Must be numeric."
|
3057 |
msgstr ""
|
3058 |
|
3059 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:424
|
3060 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3061 |
msgctxt "s2member-admin"
|
3062 |
msgid "Invalid form configuration. Invalid \"rp\" attribute. The Regular Period. Must be >= 1."
|
3063 |
msgstr ""
|
3064 |
|
3065 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:427
|
3066 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3067 |
msgctxt "s2member-admin"
|
3068 |
msgid "Invalid form configuration. Missing \"rt\" attribute. The Regular Term. Must be one of D,W,M,Y,L."
|
3069 |
msgstr ""
|
3070 |
|
3071 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:430
|
3072 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3073 |
msgctxt "s2member-admin"
|
3074 |
msgid "Invalid form configuration. Invalid \"rt\" attribute. The Regular Term. Must be one of D,W,M,Y,L."
|
3075 |
msgstr ""
|
@@ -3080,93 +3080,93 @@ msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\"
|
|
3080 |
msgstr ""
|
3081 |
|
3082 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:436
|
3083 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3084 |
msgctxt "s2member-admin"
|
3085 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"D\", \"rp\" (Regular Period) > 365, and \"rr\" is not \"BN\" (Buy Now)."
|
3086 |
msgstr ""
|
3087 |
|
3088 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:439
|
3089 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3090 |
msgctxt "s2member-admin"
|
3091 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"W\", \"rp\" (Regular Period) > 52, and \"rr\" is not \"BN\" (Buy Now)."
|
3092 |
msgstr ""
|
3093 |
|
3094 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:442
|
3095 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3096 |
msgctxt "s2member-admin"
|
3097 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"M\", \"rp\" (Regular Period) > 12, and \"rr\" is not \"BN\" (Buy Now)."
|
3098 |
msgstr ""
|
3099 |
|
3100 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:445
|
3101 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3102 |
msgctxt "s2member-admin"
|
3103 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"Y\", \"rp\" (Regular Period) > 1, and \"rr\" is not \"BN\" (Buy Now)."
|
3104 |
msgstr ""
|
3105 |
|
3106 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:448
|
3107 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3108 |
msgctxt "s2member-admin"
|
3109 |
msgid "Invalid form configuration. Invalid \"rp, rt\" attributes. The \"rt\" (Regular Term) attribute is \"L\" (Lifetime), and \"rp\" (Regular Period) > 1."
|
3110 |
msgstr ""
|
3111 |
|
3112 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:451
|
3113 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3114 |
msgctxt "s2member-admin"
|
3115 |
msgid "Invalid form configuration. Invalid \"rt, rr\" attributes. The \"rt\" (Regular Term) attribute is \"L\" (Lifetime), and \"rr\" is not \"BN\" (Buy Now)."
|
3116 |
msgstr ""
|
3117 |
|
3118 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:454
|
3119 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3120 |
msgctxt "s2member-admin"
|
3121 |
msgid "Invalid form configuration. Missing \"level_ccaps_eotper\" attribute. Please check Shortcode Attributes."
|
3122 |
msgstr ""
|
3123 |
|
3124 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:457
|
3125 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:460
|
3126 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3127 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3128 |
msgctxt "s2member-admin"
|
3129 |
msgid "Invalid form configuration. Invalid \"level_ccaps_eotper\" attribute. Please check Shortcode Attributes."
|
3130 |
msgstr ""
|
3131 |
|
3132 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:475
|
3133 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3134 |
msgctxt "s2member-admin"
|
3135 |
msgid "Invalid form configuration. Invalid \"rr\" attribute. Regular Recurring. When provided, must be 0, 1, or BN."
|
3136 |
msgstr ""
|
3137 |
|
3138 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:478
|
3139 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3140 |
msgctxt "s2member-admin"
|
3141 |
msgid "Invalid form configuration. Invalid \"rr, tp\" attributes. The \"rr\" (Regular Recurring) attribute is \"BN\" (Buy Now), and \"tp\" (Trial Period) is not \"0\"."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:481
|
3145 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3146 |
msgctxt "s2member-admin"
|
3147 |
msgid "Invalid form configuration. Invalid \"level, rr\" attributes. The \"level\" (Level) attribute is \"*\" for (Independent Custom Capabilities), and \"rr\" is not \"BN\" (Buy Now)."
|
3148 |
msgstr ""
|
3149 |
|
3150 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:484
|
3151 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3152 |
msgctxt "s2member-admin"
|
3153 |
msgid "Invalid form configuration. Invalid \"ta, tp, tt\" attributes. Trial Period. When provided, these cannot be exactly the same as your \"ra, rp, rt\" attributes."
|
3154 |
msgstr ""
|
3155 |
|
3156 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:487
|
3157 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3158 |
msgctxt "s2member-admin"
|
3159 |
msgid "Invalid form configuration. Invalid \"rrt\" attribute. Recurring Times (fixed). When provided, must be numeric."
|
3160 |
msgstr ""
|
3161 |
|
3162 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:490
|
3163 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3164 |
msgctxt "s2member-admin"
|
3165 |
msgid "Invalid form configuration. Invalid \"rrt\" attribute. Recurring Times (fixed). When provided, must be >= 1."
|
3166 |
msgstr ""
|
3167 |
|
3168 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:493
|
3169 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3170 |
msgctxt "s2member-admin"
|
3171 |
msgid "Invalid form configuration. Invalid \"rr, rrt\" attributes. When \"rrt\" (Recurring Times) is provided, \"rr\" (Regular Recurring) must be 1."
|
3172 |
msgstr ""
|
@@ -3176,11 +3176,11 @@ msgstr ""
|
|
3176 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:614
|
3177 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:670
|
3178 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:762
|
3179 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3180 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3181 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3182 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3183 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3184 |
msgctxt "s2member-front"
|
3185 |
msgid "Missing or invalid Security Code. Please try again."
|
3186 |
msgstr ""
|
@@ -3188,9 +3188,9 @@ msgstr ""
|
|
3188 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:523
|
3189 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:531
|
3190 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:681
|
3191 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3192 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3193 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3194 |
msgctxt "s2member-admin"
|
3195 |
msgid "Unable to process. You are an Administrator. Stopping here for security. Otherwise, an Administrator could lose access."
|
3196 |
msgstr ""
|
@@ -3198,9 +3198,9 @@ msgstr ""
|
|
3198 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:534
|
3199 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:631
|
3200 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:723
|
3201 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3202 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3203 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3204 |
msgctxt "s2member-front"
|
3205 |
msgid "Missing Card Type (Billing Method). Please try again."
|
3206 |
msgstr ""
|
@@ -3210,11 +3210,11 @@ msgstr ""
|
|
3210 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:637
|
3211 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:726
|
3212 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:729
|
3213 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3214 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3215 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3216 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3217 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3218 |
msgctxt "s2member-front"
|
3219 |
msgid "Invalid Card Type (Billing Method). Please try again."
|
3220 |
msgstr ""
|
@@ -3222,9 +3222,9 @@ msgstr ""
|
|
3222 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:540
|
3223 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:640
|
3224 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:732
|
3225 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3226 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3227 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3228 |
msgctxt "s2member-front"
|
3229 |
msgid "Missing Card Number. Please try again."
|
3230 |
msgstr ""
|
@@ -3232,9 +3232,9 @@ msgstr ""
|
|
3232 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:543
|
3233 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:643
|
3234 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:735
|
3235 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3236 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3237 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3238 |
msgctxt "s2member-front"
|
3239 |
msgid "Missing Card Expiration Date (mm/yyyy). Please try again."
|
3240 |
msgstr ""
|
@@ -3242,9 +3242,9 @@ msgstr ""
|
|
3242 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:546
|
3243 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:646
|
3244 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:738
|
3245 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3246 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3247 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3248 |
msgctxt "s2member-front"
|
3249 |
msgid "Invalid Card Expiration Date. Must be in this format (mm/yyyy). Please try again."
|
3250 |
msgstr ""
|
@@ -3252,9 +3252,9 @@ msgstr ""
|
|
3252 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:549
|
3253 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:649
|
3254 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:741
|
3255 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3256 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3257 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3258 |
msgctxt "s2member-front"
|
3259 |
msgid "Missing Card Verification Code. It's on the back of your Card. 3-4 digits. Please try again."
|
3260 |
msgstr ""
|
@@ -3262,9 +3262,9 @@ msgstr ""
|
|
3262 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:552
|
3263 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:652
|
3264 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:744
|
3265 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3266 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3267 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3268 |
msgctxt "s2member-front"
|
3269 |
msgid "Missing Card Start Date, or Issue #. Required for Maestro/Solo. Please try again."
|
3270 |
msgstr ""
|
@@ -3272,9 +3272,9 @@ msgstr ""
|
|
3272 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:555
|
3273 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:655
|
3274 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:747
|
3275 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3276 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3277 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3278 |
msgctxt "s2member-front"
|
3279 |
msgid "Missing Street Address. Please try again."
|
3280 |
msgstr ""
|
@@ -3282,9 +3282,9 @@ msgstr ""
|
|
3282 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:558
|
3283 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:658
|
3284 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:750
|
3285 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3286 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3287 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3288 |
msgctxt "s2member-front"
|
3289 |
msgid "Missing City/Town. Please try again."
|
3290 |
msgstr ""
|
@@ -3292,9 +3292,9 @@ msgstr ""
|
|
3292 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:561
|
3293 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:661
|
3294 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:753
|
3295 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3296 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3297 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3298 |
msgctxt "s2member-front"
|
3299 |
msgid "Missing State/Province. Please try again."
|
3300 |
msgstr ""
|
@@ -3302,9 +3302,9 @@ msgstr ""
|
|
3302 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:564
|
3303 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:664
|
3304 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:756
|
3305 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3306 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3307 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3308 |
msgctxt "s2member-front"
|
3309 |
msgid "Missing Country. Please try again."
|
3310 |
msgstr ""
|
@@ -3312,9 +3312,9 @@ msgstr ""
|
|
3312 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:567
|
3313 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:667
|
3314 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:759
|
3315 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3316 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3317 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3318 |
msgctxt "s2member-front"
|
3319 |
msgid "Missing Postal/Zip Code. Please try again."
|
3320 |
msgstr ""
|
@@ -3322,9 +3322,9 @@ msgstr ""
|
|
3322 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:575
|
3323 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:619
|
3324 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:684
|
3325 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3326 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3327 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3328 |
msgctxt "s2member-front"
|
3329 |
msgid "Missing First Name. Please try again."
|
3330 |
msgstr ""
|
@@ -3332,9 +3332,9 @@ msgstr ""
|
|
3332 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:578
|
3333 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:622
|
3334 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:687
|
3335 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3336 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3337 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3338 |
msgctxt "s2member-front"
|
3339 |
msgid "Missing Last Name. Please try again."
|
3340 |
msgstr ""
|
@@ -3342,9 +3342,9 @@ msgstr ""
|
|
3342 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:581
|
3343 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:625
|
3344 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:690
|
3345 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3346 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3347 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3348 |
msgctxt "s2member-front"
|
3349 |
msgid "Missing or invalid Email Address. Please try again."
|
3350 |
msgstr ""
|
@@ -3352,91 +3352,91 @@ msgstr ""
|
|
3352 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:584
|
3353 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:628
|
3354 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:693
|
3355 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3356 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3357 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3358 |
msgctxt "s2member-front"
|
3359 |
msgid "Invalid Email Address. Please try again."
|
3360 |
msgstr ""
|
3361 |
|
3362 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:587
|
3363 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:696
|
3364 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3365 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3366 |
msgctxt "s2member-front"
|
3367 |
msgid "That Email Address is already in use. Please try again."
|
3368 |
msgstr ""
|
3369 |
|
3370 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:590
|
3371 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:699
|
3372 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3373 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3374 |
msgctxt "s2member-front"
|
3375 |
msgid "Missing or invalid Username. Please try again."
|
3376 |
msgstr ""
|
3377 |
|
3378 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:593
|
3379 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:702
|
3380 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3381 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3382 |
msgctxt "s2member-front"
|
3383 |
msgid "Invalid Username. Please try again. Use ONLY lowercase alphanumerics."
|
3384 |
msgstr ""
|
3385 |
|
3386 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:596
|
3387 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:705
|
3388 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3389 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3390 |
msgctxt "s2member-front"
|
3391 |
msgid "That Username is already in use. Please try again."
|
3392 |
msgstr ""
|
3393 |
|
3394 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:602
|
3395 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:711
|
3396 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3397 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3398 |
msgctxt "s2member-front"
|
3399 |
msgid "Missing Password. Please try again."
|
3400 |
msgstr ""
|
3401 |
|
3402 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:605
|
3403 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:714
|
3404 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3405 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3406 |
msgctxt "s2member-front"
|
3407 |
msgid "Invalid Password. Must be at least 6 characters. Please try again."
|
3408 |
msgstr ""
|
3409 |
|
3410 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:608
|
3411 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:717
|
3412 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3413 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3414 |
msgctxt "s2member-front"
|
3415 |
msgid "Invalid Password. Max length is 20 characters. Please try again."
|
3416 |
msgstr ""
|
3417 |
|
3418 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:611
|
3419 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:720
|
3420 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3421 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3422 |
msgctxt "s2member-front"
|
3423 |
msgid "Password fields do NOT match. Please try again."
|
3424 |
msgstr ""
|
3425 |
|
3426 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:675
|
3427 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3428 |
msgctxt "s2member-front"
|
3429 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to modify your billing plan."
|
3430 |
msgstr ""
|
3431 |
|
3432 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:678
|
3433 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3434 |
msgctxt "s2member-front"
|
3435 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> before making this purchase."
|
3436 |
msgstr ""
|
3437 |
|
3438 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:765
|
3439 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3440 |
msgctxt "s2member-front"
|
3441 |
msgid "Unknown form submission type. Please contact Support."
|
3442 |
msgstr ""
|
@@ -3473,26 +3473,26 @@ msgctxt "s2member-front"
|
|
3473 |
msgid "<strong>Oops.</strong> No Subscr. ID. Please contact Support for assistance."
|
3474 |
msgstr ""
|
3475 |
|
3476 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3477 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3478 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:295
|
3479 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:438
|
3480 |
msgctxt "s2member-front percentage-symbol"
|
3481 |
msgid "%"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3485 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:437
|
3486 |
msgctxt "s2member-front"
|
3487 |
msgid " + tax"
|
3488 |
msgstr ""
|
3489 |
|
3490 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3491 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3492 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3493 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3494 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3495 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3496 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:482
|
3497 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:534
|
3498 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:547
|
@@ -3503,12 +3503,12 @@ msgctxt "s2member-front"
|
|
3503 |
msgid "COUPON %s off. (Now: %s)"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3507 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3508 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3509 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3510 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3511 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3512 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:483
|
3513 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:535
|
3514 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:548
|
@@ -3519,12 +3519,12 @@ msgctxt "s2member-front"
|
|
3519 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s</strong>)</div>"
|
3520 |
msgstr ""
|
3521 |
|
3522 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3523 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3524 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3525 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3526 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3527 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3528 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:495
|
3529 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:508
|
3530 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:521
|
@@ -3535,12 +3535,12 @@ msgctxt "s2member-front"
|
|
3535 |
msgid "COUPON %s off. (Now: %s, then %s)"
|
3536 |
msgstr ""
|
3537 |
|
3538 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3539 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3540 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3541 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3542 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3543 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3544 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:496
|
3545 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:509
|
3546 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:522
|
@@ -3551,27 +3551,27 @@ msgctxt "s2member-front"
|
|
3551 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s, then %s</strong>)</div>"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3555 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3556 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:552
|
3557 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:649
|
3558 |
msgctxt "s2member-front"
|
3559 |
msgid "<div>Sorry, your Coupon is not applicable.</div>"
|
3560 |
msgstr ""
|
3561 |
|
3562 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3563 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:653
|
3564 |
msgctxt "s2member-front"
|
3565 |
msgid "<div>Coupon: <strong>%s0.00 off</strong>.</div>"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3569 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:657
|
3570 |
msgctxt "s2member-front"
|
3571 |
msgid "<div>Sorry, your Coupon cannot be applied to this particular purchase.</div>"
|
3572 |
msgstr ""
|
3573 |
|
3574 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3575 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:661
|
3576 |
msgctxt "s2member-front"
|
3577 |
msgid "<div>Sorry, your Coupon <strong>expired</strong>: <em>%s</em>.</div>"
|
@@ -3579,14 +3579,14 @@ msgstr ""
|
|
3579 |
|
3580 |
#. translators: `%1$s` is new price/description, after coupon applied. `%2$s`
|
3581 |
#. is original description.
|
3582 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3583 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:667
|
3584 |
msgctxt "s2member-front"
|
3585 |
msgid "%1$s ~ ORIGINALLY: %2$s"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3589 |
-
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:
|
3590 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:696
|
3591 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:699
|
3592 |
msgctxt "s2member-front"
|
@@ -3616,7 +3616,7 @@ msgstr ""
|
|
3616 |
|
3617 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-cancellation-in.inc.php:123
|
3618 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:247
|
3619 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3620 |
msgctxt "s2member-front"
|
3621 |
msgid "<strong>Unable to cancel at this time.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3622 |
msgstr ""
|
@@ -3682,9 +3682,9 @@ msgctxt "s2member-admin"
|
|
3682 |
msgid "PayPal configuration error. Your PayPal API Signature is not yet configured."
|
3683 |
msgstr ""
|
3684 |
|
3685 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3686 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3687 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3688 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:79
|
3689 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:135
|
3690 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:139
|
@@ -3694,76 +3694,76 @@ msgctxt "s2member-front"
|
|
3694 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal</a> to update your billing information."
|
3695 |
msgstr ""
|
3696 |
|
3697 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3698 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3699 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:127
|
3700 |
msgctxt "s2member-front"
|
3701 |
msgid "<strong>Unable to update at this time.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3702 |
msgstr ""
|
3703 |
|
3704 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3705 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3706 |
msgctxt "s2member-admin"
|
3707 |
msgid "Invalid form configuration. Missing \"dg\" attribute. Digital indicator. Must be numeric [0-1]."
|
3708 |
msgstr ""
|
3709 |
|
3710 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3711 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3712 |
msgctxt "s2member-admin"
|
3713 |
msgid "Invalid form configuration. Invalid \"dg\" attribute. Digital indicator. Must be numeric [0-1]."
|
3714 |
msgstr ""
|
3715 |
|
3716 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3717 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3718 |
msgctxt "s2member-admin"
|
3719 |
msgid "Invalid form configuration. Missing \"ns\" attribute. Shipping configuration. Must be numeric [0-2]."
|
3720 |
msgstr ""
|
3721 |
|
3722 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3723 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3724 |
msgctxt "s2member-admin"
|
3725 |
msgid "Invalid form configuration. Invalid \"ns\" attribute. Shipping configuration. Must be numeric [0-2]."
|
3726 |
msgstr ""
|
3727 |
|
3728 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3729 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3730 |
msgctxt "s2member-admin"
|
3731 |
msgid "Invalid form configuration. Invalid \"ns\" attribute. Shipping configuration. Must be 1 with \"dg\" (digital) items."
|
3732 |
msgstr ""
|
3733 |
|
3734 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3735 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3736 |
msgctxt "s2member-admin"
|
3737 |
msgid "Invalid form configuration. Invalid \"lc\" attribute. Locale Code. When provided, must be a 2 character country code."
|
3738 |
msgstr ""
|
3739 |
|
3740 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3741 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3742 |
msgctxt "s2member-admin"
|
3743 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be <= 10000.00."
|
3744 |
msgstr ""
|
3745 |
|
3746 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3747 |
msgctxt "s2member-admin"
|
3748 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be <= 10000.00."
|
3749 |
msgstr ""
|
3750 |
|
3751 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3752 |
msgctxt "s2member-admin"
|
3753 |
msgid "Invalid Payflow form configuration. Invalid \"rt, rp, rr\" attributes. Payflow supports a specific set of recurring intervals. Pro Forms can be configured to charge: weekly, bi-weekly, monthly, quarterly, semi-yearly or yearly. Any other combination results in this error. This is a Payflow limitation."
|
3754 |
msgstr ""
|
3755 |
|
3756 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3757 |
msgctxt "s2member-admin"
|
3758 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"Y\", \"rp\" (Regular Period) > 5, and \"rr\" is not \"BN\" (Buy Now)."
|
3759 |
msgstr ""
|
3760 |
|
3761 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3762 |
msgctxt "s2member-admin"
|
3763 |
msgid "Invalid form configuration. Invalid \"rr, rra\" attributes. When \"rr\" (Regular Recurring) is 0 or 1, \"rra\" (Recurring Retry Attempts) must be numeric."
|
3764 |
msgstr ""
|
3765 |
|
3766 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:
|
3767 |
msgctxt "s2member-admin"
|
3768 |
msgid "Invalid form configuration. Invalid \"rr, rra\" attributes. When \"rr\" (Regular Recurring) is 0 or 1, \"rra\" (Recurring Retry Attempts) must be >= 0."
|
3769 |
msgstr ""
|
2 |
# This file is distributed under the same license as the package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: 140423\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
+
"POT-Creation-Date: 2014-04-24 01:15:56+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
635 |
#: s2member/includes/classes/paypal-utilities.inc.php:316
|
636 |
#: s2member/includes/classes/paypal-utilities.inc.php:324
|
637 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:97
|
638 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:325
|
639 |
msgctxt "s2member-front"
|
640 |
msgid "Error. Please contact Support for assistance."
|
641 |
msgstr ""
|
668 |
#: s2member/includes/classes/paypal-utilities.inc.php:314
|
669 |
#: s2member/includes/classes/paypal-utilities.inc.php:322
|
670 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:94
|
671 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:322
|
672 |
msgctxt "s2member-front"
|
673 |
msgid "Error #%1$s. %2$s."
|
674 |
msgstr ""
|
2744 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:233
|
2745 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:517
|
2746 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:236
|
2747 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:595
|
2748 |
msgctxt "s2member-front"
|
2749 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to cancel your account."
|
2750 |
msgstr ""
|
2759 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:244
|
2760 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:244
|
2761 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:250
|
2762 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:259
|
2763 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:265
|
2764 |
msgctxt "s2member-front"
|
2765 |
msgid "Nothing to cancel. You have NO recurring fees."
|
2766 |
msgstr ""
|
2767 |
|
2768 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:250
|
2769 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:528
|
2770 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:271
|
2771 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:606
|
2772 |
msgctxt "s2member-front"
|
2773 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to update your billing information."
|
2774 |
msgstr ""
|
2775 |
|
2776 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:253
|
2777 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:274
|
2778 |
msgctxt "s2member-front"
|
2779 |
msgid "Nothing to update. You're NOT a paid Member."
|
2780 |
msgstr ""
|
2781 |
|
2782 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:258
|
2783 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:261
|
2784 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:279
|
2785 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:288
|
2786 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:300
|
2787 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:306
|
2788 |
msgctxt "s2member-front"
|
2789 |
msgid "Nothing to update. You have NO recurring fees. Or, your billing profile is no longer active. Please contact Support if you need assistance."
|
2790 |
msgstr ""
|
2791 |
|
2792 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:267
|
2793 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:312
|
2794 |
msgctxt "s2member-admin"
|
2795 |
msgid "Invalid form configuration. Missing \"level\" attribute. Membership Level. Must be numeric [0-%s]."
|
2796 |
msgstr ""
|
2797 |
|
2798 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:270
|
2799 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:315
|
2800 |
msgctxt "s2member-admin"
|
2801 |
msgid "Invalid form configuration. Invalid \"level\" attribute. Membership Level. Must be numeric [0-%s]."
|
2802 |
msgstr ""
|
2803 |
|
2804 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:273
|
2805 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:361
|
2806 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:318
|
2807 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:424
|
2808 |
msgctxt "s2member-admin"
|
2809 |
msgid "Invalid form configuration. Invalid \"ccaps\" attribute. Custom Capabilities. When provided, must be all lowercase [a-z_0-9,]. A preceding `-all,` directive is also acceptable."
|
2810 |
msgstr ""
|
2811 |
|
2812 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:276
|
2813 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:385
|
2814 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:321
|
2815 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:466
|
2816 |
msgctxt "s2member-admin"
|
2817 |
msgid "Invalid form configuration. Invalid \"tp\" attribute. The Trial Period. When provided, must be numeric."
|
2818 |
msgstr ""
|
2819 |
|
2820 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:279
|
2821 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:388
|
2822 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:324
|
2823 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:469
|
2824 |
msgctxt "s2member-admin"
|
2825 |
msgid "Invalid form configuration. Invalid \"tp\" attribute. The Trial Period. When provided, must be >= 1."
|
2826 |
msgstr ""
|
2827 |
|
2828 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:282
|
2829 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:391
|
2830 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:327
|
2831 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:472
|
2832 |
msgctxt "s2member-admin"
|
2833 |
msgid "Invalid form configuration. Missing \"tt\" attribute. The Trial Term. When \"tp\" is provided, \"tt\" (Trial Term) must be one of D,W,M,Y."
|
2834 |
msgstr ""
|
2835 |
|
2836 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:285
|
2837 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:394
|
2838 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:330
|
2839 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:475
|
2840 |
msgctxt "s2member-admin"
|
2841 |
msgid "Invalid form configuration. Invalid \"tt\" attribute. The Trial Term. When \"tp\" is provided, \"tt\" (Trial Term) must be one of D,W,M,Y."
|
2842 |
msgstr ""
|
2843 |
|
2844 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:288
|
2845 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:333
|
2846 |
msgctxt "s2member-admin"
|
2847 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. When provided, must start with your domain name."
|
2848 |
msgstr ""
|
2849 |
|
2850 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:293
|
2851 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:338
|
2852 |
msgctxt "s2member-admin"
|
2853 |
msgid "Invalid form configuration. Missing \"ids\" attribute. Must contain comma-delimited Post/Page IDs."
|
2854 |
msgstr ""
|
2855 |
|
2856 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:296
|
2857 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:341
|
2858 |
msgctxt "s2member-admin"
|
2859 |
msgid "Invalid form configuration. Invalid \"ids\" attribute. Must contain comma-delimited Post/Page IDs. Must contain [0-9,] only."
|
2860 |
msgstr ""
|
2861 |
|
2862 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:299
|
2863 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:344
|
2864 |
msgctxt "s2member-admin"
|
2865 |
msgid "Invalid form configuration. Missing \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be numeric."
|
2866 |
msgstr ""
|
2867 |
|
2868 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:302
|
2869 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:347
|
2870 |
msgctxt "s2member-admin"
|
2871 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be numeric."
|
2872 |
msgstr ""
|
2873 |
|
2874 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:305
|
2875 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:350
|
2876 |
msgctxt "s2member-admin"
|
2877 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be >= 1."
|
2878 |
msgstr ""
|
2879 |
|
2880 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:308
|
2881 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:353
|
2882 |
msgctxt "s2member-admin"
|
2883 |
msgid "Invalid form configuration. Invalid \"exp\" attribute. Specific Post/Page Expiration (in hours). Must be <= 43800."
|
2884 |
msgstr ""
|
2885 |
|
2886 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:311
|
2887 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:356
|
2888 |
msgctxt "s2member-admin"
|
2889 |
msgid "Invalid form configuration. Missing \"sp_ids_exp\" internal attribute. Please check Shortcode Attributes."
|
2890 |
msgstr ""
|
2891 |
|
2892 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:314
|
2893 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:359
|
2894 |
msgctxt "s2member-admin"
|
2895 |
msgid "Invalid form configuration. Invalid \"sp_ids_exp\" internal attribute. Please check Shortcode Attributes."
|
2896 |
msgstr ""
|
2897 |
|
2898 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:317
|
2899 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:367
|
2900 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:362
|
2901 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:430
|
2902 |
msgctxt "s2member-admin"
|
2903 |
msgid "Invalid form configuration. Missing \"desc\" attribute. Please provide a Description for this form."
|
2904 |
msgstr ""
|
2905 |
|
2906 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:320
|
2907 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:370
|
2908 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:365
|
2909 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:433
|
2910 |
msgctxt "s2member-admin"
|
2911 |
msgid "Invalid form configuration. Your \"desc\" (Description) attribute must be <= 100 characters long."
|
2912 |
msgstr ""
|
2913 |
|
2914 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:323
|
2915 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:373
|
2916 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:368
|
2917 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:436
|
2918 |
msgctxt "s2member-admin"
|
2919 |
msgid "Invalid form configuration. Missing \"custom\" attribute. Must start with your domain name."
|
2920 |
msgstr ""
|
2921 |
|
2922 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:326
|
2923 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:371
|
2924 |
msgctxt "s2member-admin"
|
2925 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. Must start with your domain name."
|
2926 |
msgstr ""
|
2927 |
|
2928 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:329
|
2929 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:379
|
2930 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:374
|
2931 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:442
|
2932 |
msgctxt "s2member-admin"
|
2933 |
msgid "Invalid form configuration. Missing \"cc\" attribute. Must be a 3 character Currency Code."
|
2934 |
msgstr ""
|
2935 |
|
2936 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:332
|
2937 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:382
|
2938 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:377
|
2939 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:445
|
2940 |
msgctxt "s2member-admin"
|
2941 |
msgid "Invalid form configuration. Invalid \"cc\" attribute. Must be a 3 character Currency Code."
|
2942 |
msgstr ""
|
2943 |
|
2944 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:335
|
2945 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:463
|
2946 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:398
|
2947 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:535
|
2948 |
msgctxt "s2member-admin"
|
2949 |
msgid "Invalid form configuration. Missing \"ra\" attribute. The Regular Amount. Must be >= 0.00."
|
2950 |
msgstr ""
|
2951 |
|
2952 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:338
|
2953 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:466
|
2954 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:401
|
2955 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:538
|
2956 |
msgctxt "s2member-admin"
|
2957 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be numeric."
|
2958 |
msgstr ""
|
2959 |
|
2960 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:341
|
2961 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:469
|
2962 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:404
|
2963 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:541
|
2964 |
msgctxt "s2member-admin"
|
2965 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be >= 0.00."
|
2966 |
msgstr ""
|
2972 |
msgstr ""
|
2973 |
|
2974 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:349
|
2975 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:412
|
2976 |
msgctxt "s2member-front"
|
2977 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">login</a> to update your billing plan."
|
2978 |
msgstr ""
|
2979 |
|
2980 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:352
|
2981 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:415
|
2982 |
msgctxt "s2member-front"
|
2983 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">login</a> before making this purchase."
|
2984 |
msgstr ""
|
2985 |
|
2986 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:355
|
2987 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:418
|
2988 |
msgctxt "s2member-admin"
|
2989 |
msgid "Invalid form configuration. Missing \"level\" attribute. Membership Level. Must be numeric [1-%s], or an asterisk (*)."
|
2990 |
msgstr ""
|
2991 |
|
2992 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:358
|
2993 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:421
|
2994 |
msgctxt "s2member-admin"
|
2995 |
msgid "Invalid form configuration. Invalid \"level\" attribute. Membership Level. Must be numeric [1-%s], or an asterisk (*)."
|
2996 |
msgstr ""
|
2997 |
|
2998 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:364
|
2999 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:427
|
3000 |
msgctxt "s2member-admin"
|
3001 |
msgid "Invalid form configuration. Missing or invalid \"ccaps\" attribute. When \"level\" is \"*\" for (Independent Custom Capabilities), \"ccaps\" is required. All lowercase [a-z_0-9,]. A preceding `-all,` directive is also acceptable."
|
3002 |
msgstr ""
|
3003 |
|
3004 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:376
|
3005 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:439
|
3006 |
msgctxt "s2member-admin"
|
3007 |
msgid "Invalid form configuration. Invalid \"custom\" attribute. Must start with matching domain."
|
3008 |
msgstr ""
|
3009 |
|
3010 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:397
|
3011 |
msgctxt "s2member-admin"
|
3012 |
+
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes. There is an Intial/Trial amount, and \"tt\" (Trial Term) attribute is \"D\", and \"tp\" (Trial Period) > 365."
|
3013 |
msgstr ""
|
3014 |
|
3015 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:400
|
3016 |
msgctxt "s2member-admin"
|
3017 |
+
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes. There is an Intial/Trial amount, and \"tt\" (Trial Term) attribute is \"W\", and \"tp\" (Trial Period) > 52."
|
3018 |
msgstr ""
|
3019 |
|
3020 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:403
|
3021 |
msgctxt "s2member-admin"
|
3022 |
+
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes. There is an Intial/Trial amount, and \"tt\" (Trial Term) attribute is \"M\", and \"tp\" (Trial Period) > 12."
|
3023 |
msgstr ""
|
3024 |
|
3025 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:406
|
3026 |
msgctxt "s2member-admin"
|
3027 |
+
msgid "Invalid form configuration. Invalid \"tt, tp\" attributes. There is an Intial/Trial amount, and \"tt\" (Trial Term) attribute is \"Y\", and \"tp\" (Trial Period) > 1."
|
3028 |
msgstr ""
|
3029 |
|
3030 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:409
|
3031 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:478
|
3032 |
msgctxt "s2member-admin"
|
3033 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be numeric."
|
3034 |
msgstr ""
|
3035 |
|
3036 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:412
|
3037 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:481
|
3038 |
msgctxt "s2member-admin"
|
3039 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be >= 0.00."
|
3040 |
msgstr ""
|
3045 |
msgstr ""
|
3046 |
|
3047 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:418
|
3048 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:487
|
3049 |
msgctxt "s2member-admin"
|
3050 |
msgid "Invalid form configuration. Missing \"rp\" attribute. The Regular Period. Must be >= 1."
|
3051 |
msgstr ""
|
3052 |
|
3053 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:421
|
3054 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:490
|
3055 |
msgctxt "s2member-admin"
|
3056 |
msgid "Invalid form configuration. Invalid \"rp\" attribute. The Regular Period. Must be numeric."
|
3057 |
msgstr ""
|
3058 |
|
3059 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:424
|
3060 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:493
|
3061 |
msgctxt "s2member-admin"
|
3062 |
msgid "Invalid form configuration. Invalid \"rp\" attribute. The Regular Period. Must be >= 1."
|
3063 |
msgstr ""
|
3064 |
|
3065 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:427
|
3066 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:496
|
3067 |
msgctxt "s2member-admin"
|
3068 |
msgid "Invalid form configuration. Missing \"rt\" attribute. The Regular Term. Must be one of D,W,M,Y,L."
|
3069 |
msgstr ""
|
3070 |
|
3071 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:430
|
3072 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:499
|
3073 |
msgctxt "s2member-admin"
|
3074 |
msgid "Invalid form configuration. Invalid \"rt\" attribute. The Regular Term. Must be one of D,W,M,Y,L."
|
3075 |
msgstr ""
|
3080 |
msgstr ""
|
3081 |
|
3082 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:436
|
3083 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:502
|
3084 |
msgctxt "s2member-admin"
|
3085 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"D\", \"rp\" (Regular Period) > 365, and \"rr\" is not \"BN\" (Buy Now)."
|
3086 |
msgstr ""
|
3087 |
|
3088 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:439
|
3089 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:505
|
3090 |
msgctxt "s2member-admin"
|
3091 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"W\", \"rp\" (Regular Period) > 52, and \"rr\" is not \"BN\" (Buy Now)."
|
3092 |
msgstr ""
|
3093 |
|
3094 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:442
|
3095 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:508
|
3096 |
msgctxt "s2member-admin"
|
3097 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"M\", \"rp\" (Regular Period) > 12, and \"rr\" is not \"BN\" (Buy Now)."
|
3098 |
msgstr ""
|
3099 |
|
3100 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:445
|
3101 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:517
|
3102 |
msgctxt "s2member-admin"
|
3103 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"Y\", \"rp\" (Regular Period) > 1, and \"rr\" is not \"BN\" (Buy Now)."
|
3104 |
msgstr ""
|
3105 |
|
3106 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:448
|
3107 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:520
|
3108 |
msgctxt "s2member-admin"
|
3109 |
msgid "Invalid form configuration. Invalid \"rp, rt\" attributes. The \"rt\" (Regular Term) attribute is \"L\" (Lifetime), and \"rp\" (Regular Period) > 1."
|
3110 |
msgstr ""
|
3111 |
|
3112 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:451
|
3113 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:523
|
3114 |
msgctxt "s2member-admin"
|
3115 |
msgid "Invalid form configuration. Invalid \"rt, rr\" attributes. The \"rt\" (Regular Term) attribute is \"L\" (Lifetime), and \"rr\" is not \"BN\" (Buy Now)."
|
3116 |
msgstr ""
|
3117 |
|
3118 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:454
|
3119 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:526
|
3120 |
msgctxt "s2member-admin"
|
3121 |
msgid "Invalid form configuration. Missing \"level_ccaps_eotper\" attribute. Please check Shortcode Attributes."
|
3122 |
msgstr ""
|
3123 |
|
3124 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:457
|
3125 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:460
|
3126 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:529
|
3127 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:532
|
3128 |
msgctxt "s2member-admin"
|
3129 |
msgid "Invalid form configuration. Invalid \"level_ccaps_eotper\" attribute. Please check Shortcode Attributes."
|
3130 |
msgstr ""
|
3131 |
|
3132 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:475
|
3133 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:547
|
3134 |
msgctxt "s2member-admin"
|
3135 |
msgid "Invalid form configuration. Invalid \"rr\" attribute. Regular Recurring. When provided, must be 0, 1, or BN."
|
3136 |
msgstr ""
|
3137 |
|
3138 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:478
|
3139 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:550
|
3140 |
msgctxt "s2member-admin"
|
3141 |
msgid "Invalid form configuration. Invalid \"rr, tp\" attributes. The \"rr\" (Regular Recurring) attribute is \"BN\" (Buy Now), and \"tp\" (Trial Period) is not \"0\"."
|
3142 |
msgstr ""
|
3143 |
|
3144 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:481
|
3145 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:553
|
3146 |
msgctxt "s2member-admin"
|
3147 |
msgid "Invalid form configuration. Invalid \"level, rr\" attributes. The \"level\" (Level) attribute is \"*\" for (Independent Custom Capabilities), and \"rr\" is not \"BN\" (Buy Now)."
|
3148 |
msgstr ""
|
3149 |
|
3150 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:484
|
3151 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:556
|
3152 |
msgctxt "s2member-admin"
|
3153 |
msgid "Invalid form configuration. Invalid \"ta, tp, tt\" attributes. Trial Period. When provided, these cannot be exactly the same as your \"ra, rp, rt\" attributes."
|
3154 |
msgstr ""
|
3155 |
|
3156 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:487
|
3157 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:559
|
3158 |
msgctxt "s2member-admin"
|
3159 |
msgid "Invalid form configuration. Invalid \"rrt\" attribute. Recurring Times (fixed). When provided, must be numeric."
|
3160 |
msgstr ""
|
3161 |
|
3162 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:490
|
3163 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:562
|
3164 |
msgctxt "s2member-admin"
|
3165 |
msgid "Invalid form configuration. Invalid \"rrt\" attribute. Recurring Times (fixed). When provided, must be >= 1."
|
3166 |
msgstr ""
|
3167 |
|
3168 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:493
|
3169 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:565
|
3170 |
msgctxt "s2member-admin"
|
3171 |
msgid "Invalid form configuration. Invalid \"rr, rrt\" attributes. When \"rrt\" (Recurring Times) is provided, \"rr\" (Regular Recurring) must be 1."
|
3172 |
msgstr ""
|
3176 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:614
|
3177 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:670
|
3178 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:762
|
3179 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:598
|
3180 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:648
|
3181 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:692
|
3182 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:748
|
3183 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:840
|
3184 |
msgctxt "s2member-front"
|
3185 |
msgid "Missing or invalid Security Code. Please try again."
|
3186 |
msgstr ""
|
3188 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:523
|
3189 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:531
|
3190 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:681
|
3191 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:601
|
3192 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:609
|
3193 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:759
|
3194 |
msgctxt "s2member-admin"
|
3195 |
msgid "Unable to process. You are an Administrator. Stopping here for security. Otherwise, an Administrator could lose access."
|
3196 |
msgstr ""
|
3198 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:534
|
3199 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:631
|
3200 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:723
|
3201 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:612
|
3202 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:709
|
3203 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:801
|
3204 |
msgctxt "s2member-front"
|
3205 |
msgid "Missing Card Type (Billing Method). Please try again."
|
3206 |
msgstr ""
|
3210 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:637
|
3211 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:726
|
3212 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:729
|
3213 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:615
|
3214 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:712
|
3215 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:715
|
3216 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:804
|
3217 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:807
|
3218 |
msgctxt "s2member-front"
|
3219 |
msgid "Invalid Card Type (Billing Method). Please try again."
|
3220 |
msgstr ""
|
3222 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:540
|
3223 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:640
|
3224 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:732
|
3225 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:618
|
3226 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:718
|
3227 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:810
|
3228 |
msgctxt "s2member-front"
|
3229 |
msgid "Missing Card Number. Please try again."
|
3230 |
msgstr ""
|
3232 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:543
|
3233 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:643
|
3234 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:735
|
3235 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:621
|
3236 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:721
|
3237 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:813
|
3238 |
msgctxt "s2member-front"
|
3239 |
msgid "Missing Card Expiration Date (mm/yyyy). Please try again."
|
3240 |
msgstr ""
|
3242 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:546
|
3243 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:646
|
3244 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:738
|
3245 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:624
|
3246 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:724
|
3247 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:816
|
3248 |
msgctxt "s2member-front"
|
3249 |
msgid "Invalid Card Expiration Date. Must be in this format (mm/yyyy). Please try again."
|
3250 |
msgstr ""
|
3252 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:549
|
3253 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:649
|
3254 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:741
|
3255 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:627
|
3256 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:727
|
3257 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:819
|
3258 |
msgctxt "s2member-front"
|
3259 |
msgid "Missing Card Verification Code. It's on the back of your Card. 3-4 digits. Please try again."
|
3260 |
msgstr ""
|
3262 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:552
|
3263 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:652
|
3264 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:744
|
3265 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:630
|
3266 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:730
|
3267 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:822
|
3268 |
msgctxt "s2member-front"
|
3269 |
msgid "Missing Card Start Date, or Issue #. Required for Maestro/Solo. Please try again."
|
3270 |
msgstr ""
|
3272 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:555
|
3273 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:655
|
3274 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:747
|
3275 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:633
|
3276 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:733
|
3277 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:825
|
3278 |
msgctxt "s2member-front"
|
3279 |
msgid "Missing Street Address. Please try again."
|
3280 |
msgstr ""
|
3282 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:558
|
3283 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:658
|
3284 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:750
|
3285 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:636
|
3286 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:736
|
3287 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:828
|
3288 |
msgctxt "s2member-front"
|
3289 |
msgid "Missing City/Town. Please try again."
|
3290 |
msgstr ""
|
3292 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:561
|
3293 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:661
|
3294 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:753
|
3295 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:639
|
3296 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:739
|
3297 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:831
|
3298 |
msgctxt "s2member-front"
|
3299 |
msgid "Missing State/Province. Please try again."
|
3300 |
msgstr ""
|
3302 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:564
|
3303 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:664
|
3304 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:756
|
3305 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:642
|
3306 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:742
|
3307 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:834
|
3308 |
msgctxt "s2member-front"
|
3309 |
msgid "Missing Country. Please try again."
|
3310 |
msgstr ""
|
3312 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:567
|
3313 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:667
|
3314 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:759
|
3315 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:645
|
3316 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:745
|
3317 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:837
|
3318 |
msgctxt "s2member-front"
|
3319 |
msgid "Missing Postal/Zip Code. Please try again."
|
3320 |
msgstr ""
|
3322 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:575
|
3323 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:619
|
3324 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:684
|
3325 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:653
|
3326 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:697
|
3327 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:762
|
3328 |
msgctxt "s2member-front"
|
3329 |
msgid "Missing First Name. Please try again."
|
3330 |
msgstr ""
|
3332 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:578
|
3333 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:622
|
3334 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:687
|
3335 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:656
|
3336 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:700
|
3337 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:765
|
3338 |
msgctxt "s2member-front"
|
3339 |
msgid "Missing Last Name. Please try again."
|
3340 |
msgstr ""
|
3342 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:581
|
3343 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:625
|
3344 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:690
|
3345 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:659
|
3346 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:703
|
3347 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:768
|
3348 |
msgctxt "s2member-front"
|
3349 |
msgid "Missing or invalid Email Address. Please try again."
|
3350 |
msgstr ""
|
3352 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:584
|
3353 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:628
|
3354 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:693
|
3355 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:662
|
3356 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:706
|
3357 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:771
|
3358 |
msgctxt "s2member-front"
|
3359 |
msgid "Invalid Email Address. Please try again."
|
3360 |
msgstr ""
|
3361 |
|
3362 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:587
|
3363 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:696
|
3364 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:665
|
3365 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:774
|
3366 |
msgctxt "s2member-front"
|
3367 |
msgid "That Email Address is already in use. Please try again."
|
3368 |
msgstr ""
|
3369 |
|
3370 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:590
|
3371 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:699
|
3372 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:668
|
3373 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:777
|
3374 |
msgctxt "s2member-front"
|
3375 |
msgid "Missing or invalid Username. Please try again."
|
3376 |
msgstr ""
|
3377 |
|
3378 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:593
|
3379 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:702
|
3380 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:671
|
3381 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:780
|
3382 |
msgctxt "s2member-front"
|
3383 |
msgid "Invalid Username. Please try again. Use ONLY lowercase alphanumerics."
|
3384 |
msgstr ""
|
3385 |
|
3386 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:596
|
3387 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:705
|
3388 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:674
|
3389 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:783
|
3390 |
msgctxt "s2member-front"
|
3391 |
msgid "That Username is already in use. Please try again."
|
3392 |
msgstr ""
|
3393 |
|
3394 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:602
|
3395 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:711
|
3396 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:680
|
3397 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:789
|
3398 |
msgctxt "s2member-front"
|
3399 |
msgid "Missing Password. Please try again."
|
3400 |
msgstr ""
|
3401 |
|
3402 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:605
|
3403 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:714
|
3404 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:683
|
3405 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:792
|
3406 |
msgctxt "s2member-front"
|
3407 |
msgid "Invalid Password. Must be at least 6 characters. Please try again."
|
3408 |
msgstr ""
|
3409 |
|
3410 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:608
|
3411 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:717
|
3412 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:686
|
3413 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:795
|
3414 |
msgctxt "s2member-front"
|
3415 |
msgid "Invalid Password. Max length is 20 characters. Please try again."
|
3416 |
msgstr ""
|
3417 |
|
3418 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:611
|
3419 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:720
|
3420 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:689
|
3421 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:798
|
3422 |
msgctxt "s2member-front"
|
3423 |
msgid "Password fields do NOT match. Please try again."
|
3424 |
msgstr ""
|
3425 |
|
3426 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:675
|
3427 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:753
|
3428 |
msgctxt "s2member-front"
|
3429 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> to modify your billing plan."
|
3430 |
msgstr ""
|
3431 |
|
3432 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:678
|
3433 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:756
|
3434 |
msgctxt "s2member-front"
|
3435 |
msgid "You must <a href=\"%s\" rel=\"nofollow\">log in</a> before making this purchase."
|
3436 |
msgstr ""
|
3437 |
|
3438 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-responses.inc.php:765
|
3439 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:843
|
3440 |
msgctxt "s2member-front"
|
3441 |
msgid "Unknown form submission type. Please contact Support."
|
3442 |
msgstr ""
|
3473 |
msgid "<strong>Oops.</strong> No Subscr. ID. Please contact Support for assistance."
|
3474 |
msgstr ""
|
3475 |
|
3476 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:662
|
3477 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:805
|
3478 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:295
|
3479 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:438
|
3480 |
msgctxt "s2member-front percentage-symbol"
|
3481 |
msgid "%"
|
3482 |
msgstr ""
|
3483 |
|
3484 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:804
|
3485 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:437
|
3486 |
msgctxt "s2member-front"
|
3487 |
msgid " + tax"
|
3488 |
msgstr ""
|
3489 |
|
3490 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:849
|
3491 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:901
|
3492 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:914
|
3493 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:936
|
3494 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:996
|
3495 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1011
|
3496 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:482
|
3497 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:534
|
3498 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:547
|
3503 |
msgid "COUPON %s off. (Now: %s)"
|
3504 |
msgstr ""
|
3505 |
|
3506 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:850
|
3507 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:902
|
3508 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:915
|
3509 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:937
|
3510 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:997
|
3511 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1012
|
3512 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:483
|
3513 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:535
|
3514 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:548
|
3519 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s</strong>)</div>"
|
3520 |
msgstr ""
|
3521 |
|
3522 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:862
|
3523 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:875
|
3524 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:888
|
3525 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:951
|
3526 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:966
|
3527 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:981
|
3528 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:495
|
3529 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:508
|
3530 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:521
|
3535 |
msgid "COUPON %s off. (Now: %s, then %s)"
|
3536 |
msgstr ""
|
3537 |
|
3538 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:863
|
3539 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:876
|
3540 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:889
|
3541 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:952
|
3542 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:967
|
3543 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:982
|
3544 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:496
|
3545 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:509
|
3546 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:522
|
3551 |
msgid "<div>Coupon: <strong>%s off</strong>. (Now: <strong>%s, then %s</strong>)</div>"
|
3552 |
msgstr ""
|
3553 |
|
3554 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:919
|
3555 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1016
|
3556 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:552
|
3557 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:649
|
3558 |
msgctxt "s2member-front"
|
3559 |
msgid "<div>Sorry, your Coupon is not applicable.</div>"
|
3560 |
msgstr ""
|
3561 |
|
3562 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1020
|
3563 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:653
|
3564 |
msgctxt "s2member-front"
|
3565 |
msgid "<div>Coupon: <strong>%s0.00 off</strong>.</div>"
|
3566 |
msgstr ""
|
3567 |
|
3568 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1024
|
3569 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:657
|
3570 |
msgctxt "s2member-front"
|
3571 |
msgid "<div>Sorry, your Coupon cannot be applied to this particular purchase.</div>"
|
3572 |
msgstr ""
|
3573 |
|
3574 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1028
|
3575 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:661
|
3576 |
msgctxt "s2member-front"
|
3577 |
msgid "<div>Sorry, your Coupon <strong>expired</strong>: <em>%s</em>.</div>"
|
3579 |
|
3580 |
#. translators: `%1$s` is new price/description, after coupon applied. `%2$s`
|
3581 |
#. is original description.
|
3582 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1034
|
3583 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:667
|
3584 |
msgctxt "s2member-front"
|
3585 |
msgid "%1$s ~ ORIGINALLY: %2$s"
|
3586 |
msgstr ""
|
3587 |
|
3588 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1063
|
3589 |
+
#: s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php:1066
|
3590 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:696
|
3591 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-utilities.inc.php:699
|
3592 |
msgctxt "s2member-front"
|
3616 |
|
3617 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-cancellation-in.inc.php:123
|
3618 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:247
|
3619 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:262
|
3620 |
msgctxt "s2member-front"
|
3621 |
msgid "<strong>Unable to cancel at this time.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3622 |
msgstr ""
|
3682 |
msgid "PayPal configuration error. Your PayPal API Signature is not yet configured."
|
3683 |
msgstr ""
|
3684 |
|
3685 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:282
|
3686 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:295
|
3687 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:298
|
3688 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:79
|
3689 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:135
|
3690 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:139
|
3694 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal</a> to update your billing information."
|
3695 |
msgstr ""
|
3696 |
|
3697 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:285
|
3698 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:303
|
3699 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-in.inc.php:127
|
3700 |
msgctxt "s2member-front"
|
3701 |
msgid "<strong>Unable to update at this time.</strong> Your account is pending other changes. Please try again in 15 minutes."
|
3702 |
msgstr ""
|
3703 |
|
3704 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:380
|
3705 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:448
|
3706 |
msgctxt "s2member-admin"
|
3707 |
msgid "Invalid form configuration. Missing \"dg\" attribute. Digital indicator. Must be numeric [0-1]."
|
3708 |
msgstr ""
|
3709 |
|
3710 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:383
|
3711 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:451
|
3712 |
msgctxt "s2member-admin"
|
3713 |
msgid "Invalid form configuration. Invalid \"dg\" attribute. Digital indicator. Must be numeric [0-1]."
|
3714 |
msgstr ""
|
3715 |
|
3716 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:386
|
3717 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:454
|
3718 |
msgctxt "s2member-admin"
|
3719 |
msgid "Invalid form configuration. Missing \"ns\" attribute. Shipping configuration. Must be numeric [0-2]."
|
3720 |
msgstr ""
|
3721 |
|
3722 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:389
|
3723 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:457
|
3724 |
msgctxt "s2member-admin"
|
3725 |
msgid "Invalid form configuration. Invalid \"ns\" attribute. Shipping configuration. Must be numeric [0-2]."
|
3726 |
msgstr ""
|
3727 |
|
3728 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:392
|
3729 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:460
|
3730 |
msgctxt "s2member-admin"
|
3731 |
msgid "Invalid form configuration. Invalid \"ns\" attribute. Shipping configuration. Must be 1 with \"dg\" (digital) items."
|
3732 |
msgstr ""
|
3733 |
|
3734 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:395
|
3735 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:463
|
3736 |
msgctxt "s2member-admin"
|
3737 |
msgid "Invalid form configuration. Invalid \"lc\" attribute. Locale Code. When provided, must be a 2 character country code."
|
3738 |
msgstr ""
|
3739 |
|
3740 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:407
|
3741 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:544
|
3742 |
msgctxt "s2member-admin"
|
3743 |
msgid "Invalid form configuration. Invalid \"ra\" attribute. The Regular Amount. Must be <= 10000.00."
|
3744 |
msgstr ""
|
3745 |
|
3746 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:484
|
3747 |
msgctxt "s2member-admin"
|
3748 |
msgid "Invalid form configuration. Invalid \"ta\" attribute. The Trial Amount. When provided, must be <= 10000.00."
|
3749 |
msgstr ""
|
3750 |
|
3751 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:511
|
3752 |
msgctxt "s2member-admin"
|
3753 |
msgid "Invalid Payflow form configuration. Invalid \"rt, rp, rr\" attributes. Payflow supports a specific set of recurring intervals. Pro Forms can be configured to charge: weekly, bi-weekly, monthly, quarterly, semi-yearly or yearly. Any other combination results in this error. This is a Payflow limitation."
|
3754 |
msgstr ""
|
3755 |
|
3756 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:514
|
3757 |
msgctxt "s2member-admin"
|
3758 |
msgid "Invalid form configuration. Invalid \"rt, rp, rr\" attributes. The \"rt\" (Regular Term) attribute is \"Y\", \"rp\" (Regular Period) > 5, and \"rr\" is not \"BN\" (Buy Now)."
|
3759 |
msgstr ""
|
3760 |
|
3761 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:568
|
3762 |
msgctxt "s2member-admin"
|
3763 |
msgid "Invalid form configuration. Invalid \"rr, rra\" attributes. When \"rr\" (Regular Recurring) is 0 or 1, \"rra\" (Recurring Retry Attempts) must be numeric."
|
3764 |
msgstr ""
|
3765 |
|
3766 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-responses.inc.php:571
|
3767 |
msgctxt "s2member-admin"
|
3768 |
msgid "Invalid form configuration. Invalid \"rr, rra\" attributes. When \"rr\" (Regular Recurring) is 0 or 1, \"rra\" (Recurring Retry Attempts) must be >= 0."
|
3769 |
msgstr ""
|
readme.txt
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
=== s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
-
Version:
|
4 |
-
Stable tag:
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
@@ -142,15 +142,31 @@ Released under the terms of the [GNU General Public License](http://www.gnu.org/
|
|
142 |
|
143 |
== Upgrade Notice ==
|
144 |
|
145 |
-
=
|
146 |
|
147 |
(Maintenance Release) Upgrade immediately.
|
148 |
|
149 |
== Changelog ==
|
150 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
151 |
= v140409 =
|
152 |
|
153 |
-
* (s2Member Pro) **s2MOP Shortcode**. A new shortcode is now available for site owners running s2Member Pro: `[s2MOP]`. For further details, please check your Dashboard under: `s2Member ⥱ API / Scripting ⥱ Membership Options Page / Variables`. See also: [this KB article](
|
154 |
* (s2Member/s2Member Pro) **Compatibility**. Reviewed by Lead Developer Jason Caldwell for full compatibility against WordPress v3.9. s2Member also remains backward compatible with WP v3.3 - 3.8.
|
155 |
* (s2Member/s2Member Pro) **Security Review**. Reviewed by Lead Developer Jason Caldwell to look closer at any portions of s2Member which might be impacted by the [OpenSSL Heartbleed bug](http://heartbleed.com/). Please note, the Heartbleed bug is NOT an s2Member bug. It is a bug in the OpenSSL library used by many services across the web. Please see this [GitHub issue](https://github.com/WebSharks/s2Member/issues/90) where Jason posted a few tips for site owners running the s2Member software.
|
156 |
* (s2Member/s2Member Pro) **s2 MOP Vars**. The format of s2Member's MOP Vars has been updated in this release. Backward compatibility remains for the older formats, so this should not cause any problems for site owners using the older formats provided by previous versions of s2Member. For further details, please check your Dashboard under: `s2Member ⥱ API / Scripting ⥱ Membership Options Page / Variables`.
|
1 |
=== s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 140423
|
4 |
+
Stable tag: 140423
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
142 |
|
143 |
== Upgrade Notice ==
|
144 |
|
145 |
+
= v140423 =
|
146 |
|
147 |
(Maintenance Release) Upgrade immediately.
|
148 |
|
149 |
== Changelog ==
|
150 |
|
151 |
+
= v140423 =
|
152 |
+
|
153 |
+
* (s2Member/s2Member Pro) **WP v3.9 Compatibility**. Resolving an incompatibility between s2Member and WP v3.9 where s2Member was attempting to use the jQuery `highlight` effect no longer available by default; starting with WP v3.9. A symptom of this bug was to have problems closing the dialog box when creating new Registration/Profile Fields with s2Member in the WP Dashboard. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/108).
|
154 |
+
* (s2Member Pro) **User Export Limitation**. Adding an option to the Import/Export panel used to export Users from your installation of WordPress. This new option makes it possible to specify an exact number of maximum rows to export; instead of the previous behavior which forced to a value of `1000` max. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/80).
|
155 |
+
* (s2Member Pro) **s2Drip Enhancement**. Updating the s2Drip shortcode to allow for a time frame that specifies `from_day="1" to_day="1"`. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/103). For instructions on how to use the `[s2Drip]` shortcode see [this KB article](http://www.s2member.com/kb/s2drip-shortcode/).
|
156 |
+
* (s2Member Pro) **s2Drip Enhancement**. Adding support for nested shortcodes inside the `[s2Drip]` conditional shortcode tags. See [this commit](https://github.com/WebSharks/s2Member-Pro/commit/3d042250736a074136924afd5b4030065aff881e) for detailed changes. For instructions on how to use the `[s2Drip]` shortcode see [this KB article](http://www.s2member.com/kb/s2drip-shortcode/).
|
157 |
+
* (s2Member Pro). **s2MOP Enhancement**. Adding an optional `%%POST_EXCERPT%%` Replacement Code to the `[s2MOP]` shortcode. For further details see [this GitHub issue](https://github.com/WebSharks/s2Member-Pro/pull/11). For instructions on how to use the `[s2MOP]` shortcode see [this KB article](http://www.s2member.com/kb/s2mop-shortcode/).
|
158 |
+
* (s2Member Pro). **s2MOP Enhancement**. Improving `[s2MOP]` Replacement Codes overall by converting internal slugs into textual labels for an improved user experience. Also making it possible to filter the default labels. See [this GitHub issue](https://github.com/WebSharks/s2Member-Pro/pull/10). For instructions on how to use the `[s2MOP]` shortcode see [this KB article](http://www.s2member.com/kb/s2mop-shortcode/).
|
159 |
+
* (s2Member Pro) **s2MOP Enhancement**. Adding support for nested shortcodes inside the `[s2MOP]` shortcode. For instructions on how to use the `[s2MOP]` shortcode see [this KB article](http://www.s2member.com/kb/s2mop-shortcode/).
|
160 |
+
* (s2Member/s2Member Pro) **Time Tracking**. This release begins tracking some additional timestamps to be used by features coming in a future version of s2Member. A new routine was added internally to go ahead and begin tracking some additional timestamps associated with the addition and/or removal of specific Membership Levels and/or Custom Capabilities. A future release of s2Member will take advantage of this data in some of it's shortcodes and API Functions (coming soon). See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/84).
|
161 |
+
* (s2Member/s2Member Pro) **Bug Fix**. A bug related to domain validation against some of the latest TLDs like `.photography` or `.solutions` has been resolved with this release. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/98).
|
162 |
+
* (s2Member) **Bug Fix**. The declaration `function ksort_deep` should be `public static function ksort_deep`. Fixed in this release.
|
163 |
+
* (s2Member/s2Member Pro) **Bug Fix**. s2Member preventing some fields from making it into results provided by `WP_User_Query` on the front-end of a site utilizing this core class. Fixed in this release. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/95).
|
164 |
+
* (s2Member Pro). **Authorize.Net Trial Limitation**. Updating s2Member Pro to support a 100% free trial period of any length when integrating with Authorize.Net. See also [this GitHub issue](https://github.com/WebSharks/s2Member/issues/106).
|
165 |
+
* (s2Member/s2Member Pro) **WP_DEBUG Compatibility**. Resolving several `E_NOTICE` level messages in an ongoing effort to satisfy `WP_DEBUG` mode. For further details, please see [this GitHub issue](https://github.com/WebSharks/s2Member/issues/97). See also [issue #105](https://github.com/WebSharks/s2Member/issues/105). See also [issue #91](https://github.com/WebSharks/s2Member/issues/91).
|
166 |
+
|
167 |
= v140409 =
|
168 |
|
169 |
+
* (s2Member Pro) **s2MOP Shortcode**. A new shortcode is now available for site owners running s2Member Pro: `[s2MOP]`. For further details, please check your Dashboard under: `s2Member ⥱ API / Scripting ⥱ Membership Options Page / Variables`. See also: [this KB article](http://www.s2member.com/kb/s2mop-shortcode/).
|
170 |
* (s2Member/s2Member Pro) **Compatibility**. Reviewed by Lead Developer Jason Caldwell for full compatibility against WordPress v3.9. s2Member also remains backward compatible with WP v3.3 - 3.8.
|
171 |
* (s2Member/s2Member Pro) **Security Review**. Reviewed by Lead Developer Jason Caldwell to look closer at any portions of s2Member which might be impacted by the [OpenSSL Heartbleed bug](http://heartbleed.com/). Please note, the Heartbleed bug is NOT an s2Member bug. It is a bug in the OpenSSL library used by many services across the web. Please see this [GitHub issue](https://github.com/WebSharks/s2Member/issues/90) where Jason posted a few tips for site owners running the s2Member software.
|
172 |
* (s2Member/s2Member Pro) **s2 MOP Vars**. The format of s2Member's MOP Vars has been updated in this release. Backward compatibility remains for the older formats, so this should not cause any problems for site owners using the older formats provided by previous versions of s2Member. For further details, please check your Dashboard under: `s2Member ⥱ API / Scripting ⥱ Membership Options Page / Variables`.
|
s2member.php
CHANGED
@@ -19,8 +19,8 @@
|
|
19 |
*/
|
20 |
/* -- This section for WordPress parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
-
Version:
|
23 |
-
Stable tag:
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress Compatible: yes
|
@@ -75,7 +75,7 @@ if(realpath(__FILE__) === realpath($_SERVER["SCRIPT_FILENAME"]))
|
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
-
define("WS_PLUGIN__S2MEMBER_VERSION", "
|
79 |
/**
|
80 |
* Minimum PHP version required to run s2Member.
|
81 |
*
|
@@ -105,7 +105,7 @@ if(!defined("WS_PLUGIN__S2MEMBER_MIN_WP_VERSION"))
|
|
105 |
* @var str
|
106 |
*/
|
107 |
if(!defined("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION"))
|
108 |
-
define("WS_PLUGIN__S2MEMBER_MIN_PRO_VERSION", "
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|
19 |
*/
|
20 |
/* -- This section for WordPress parsing. ------------------------------------------------------------------------------
|
21 |
|
22 |
+
Version: 140423
|
23 |
+
Stable tag: 140423
|
24 |
|
25 |
SSL Compatible: yes
|
26 |
bbPress Compatible: yes
|
75 |
* @var str
|
76 |
*/
|
77 |
if(!defined("WS_PLUGIN__S2MEMBER_VERSION"))
|
78 |
+
define("WS_PLUGIN__S2MEMBER_VERSION", "140423" /* !#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", "140423" /* !#distro-version#! */);
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|