Version Description
= v130816 = (Maintenance Release) Upgrade immediately.
Download this release
Release Info
Developer | WebSharks |
Plugin | s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) |
Version | 130816 |
Comparing to | |
See all releases |
Code changes from version 130802 to 130816
- checksum.txt +1 -1
- includes/classes/login-customizations.inc.php +4 -1
- includes/classes/login-redirects.inc.php +9 -7
- includes/classes/users-list.inc.php +5 -5
- includes/menu-pages/down-ops.inc.php +36 -0
- includes/menu-pages/gen-ops.inc.php +63 -2
- includes/menu-pages/logs.inc.php +4 -4
- includes/menu-pages/menu-pages-min.js +1 -1
- includes/menu-pages/menu-pages.js +1 -1
- includes/menu-pages/start.inc.php +1 -1
- includes/syscon.inc.php +8 -0
- includes/translations/s2member.pot +29 -29
- readme.txt +12 -4
- s2member.php +4 -4
checksum.txt
CHANGED
@@ -1 +1 @@
|
|
1 |
-
|
1 |
+
a1483e3b04ff24591ddc65fac0e7b361
|
includes/classes/login-customizations.inc.php
CHANGED
@@ -134,7 +134,10 @@ if(!class_exists("c_ws_plugin__s2member_login_customizations"))
|
|
134 |
$a[] = 'div#login form#registerform p#reg_passmail { font-style:italic'.$i.'; }';
|
135 |
|
136 |
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_password"])
|
137 |
-
$a[] = 'p#reg_passmail { display:none'.$i.'; }';
|
|
|
|
|
|
|
138 |
|
139 |
$a = apply_filters("ws_plugin__s2member_login_header_styles_array_before_close", $a, get_defined_vars());
|
140 |
$a[] = /* Now close style tag. There are other Filters below. */ '</style>';
|
134 |
$a[] = 'div#login form#registerform p#reg_passmail { font-style:italic'.$i.'; }';
|
135 |
|
136 |
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["custom_reg_password"])
|
137 |
+
$a[] = 'div#login form#registerform p#reg_passmail { display:none'.$i.'; }';
|
138 |
+
|
139 |
+
if(!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_footer_backtoblog"])
|
140 |
+
$a[] = 'div#login p#backtoblog { display:none'.$i.'; }';
|
141 |
|
142 |
$a = apply_filters("ws_plugin__s2member_login_header_styles_array_before_close", $a, get_defined_vars());
|
143 |
$a[] = /* Now close style tag. There are other Filters below. */ '</style>';
|
includes/classes/login-redirects.inc.php
CHANGED
@@ -27,7 +27,7 @@ if (!class_exists ("c_ws_plugin__s2member_login_redirects"))
|
|
27 |
*/
|
28 |
class c_ws_plugin__s2member_login_redirects
|
29 |
{
|
30 |
-
|
31 |
/**
|
32 |
* Assists in multisite User authentication.
|
33 |
*
|
@@ -46,7 +46,7 @@ if (!class_exists ("c_ws_plugin__s2member_login_redirects"))
|
|
46 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
47 |
do_action ("ws_plugin__s2member_before_ms_wp_authenticate_user", get_defined_vars ());
|
48 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
49 |
-
|
50 |
if(is_a($user_or_wp_error, "WP_User") && ($user = $user_or_wp_error) && $user->ID && !is_super_admin($user->ID) && !in_array(get_current_blog_id(), array_keys(get_blogs_of_user($user->ID)), TRUE))
|
51 |
$user_or_wp_error = new WP_Error("invalid_username", _x("<strong>ERROR</strong>: Invalid username for this site.", "s2member-front", "s2member"));
|
52 |
|
@@ -98,16 +98,18 @@ if (!class_exists ("c_ws_plugin__s2member_login_redirects"))
|
|
98 |
do_action ("ws_plugin__s2member_during_login_redirect", get_defined_vars ());
|
99 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
100 |
|
101 |
-
if
|
102 |
-
wp_redirect /* Dynamic URL introduced by a Filter? */ ($redirect);
|
103 |
|
104 |
else if ($redirection_url = c_ws_plugin__s2member_login_redirects::login_redirection_url ($user))
|
105 |
-
|
106 |
|
107 |
else // Else we use the Login Welcome Page configured for s2Member.
|
108 |
-
|
|
|
|
|
|
|
109 |
|
110 |
-
exit
|
111 |
}
|
112 |
}
|
113 |
}
|
27 |
*/
|
28 |
class c_ws_plugin__s2member_login_redirects
|
29 |
{
|
30 |
+
|
31 |
/**
|
32 |
* Assists in multisite User authentication.
|
33 |
*
|
46 |
foreach(array_keys(get_defined_vars())as$__v)$__refs[$__v]=&$$__v;
|
47 |
do_action ("ws_plugin__s2member_before_ms_wp_authenticate_user", get_defined_vars ());
|
48 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
49 |
+
|
50 |
if(is_a($user_or_wp_error, "WP_User") && ($user = $user_or_wp_error) && $user->ID && !is_super_admin($user->ID) && !in_array(get_current_blog_id(), array_keys(get_blogs_of_user($user->ID)), TRUE))
|
51 |
$user_or_wp_error = new WP_Error("invalid_username", _x("<strong>ERROR</strong>: Invalid username for this site.", "s2member-front", "s2member"));
|
52 |
|
98 |
do_action ("ws_plugin__s2member_during_login_redirect", get_defined_vars ());
|
99 |
unset /* Unset defined __refs, __v. */ ($__refs, $__v);
|
100 |
|
101 |
+
if($redirect && is_string ($redirect)) $redirect = $redirect; // Custom?
|
|
|
102 |
|
103 |
else if ($redirection_url = c_ws_plugin__s2member_login_redirects::login_redirection_url ($user))
|
104 |
+
$redirect = $redirection_url; // Special redirection URL (overrides LWP).
|
105 |
|
106 |
else // Else we use the Login Welcome Page configured for s2Member.
|
107 |
+
$redirect = get_page_link ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"]);
|
108 |
+
|
109 |
+
if($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_always_http"])
|
110 |
+
$redirect = preg_replace("/^https\:\/\//i", "http://", $redirect);
|
111 |
|
112 |
+
wp_redirect($redirect).exit();
|
113 |
}
|
114 |
}
|
115 |
}
|
includes/classes/users-list.inc.php
CHANGED
@@ -89,15 +89,15 @@ if (!class_exists ("c_ws_plugin__s2member_users_list"))
|
|
89 |
$query->query_where .= " AND (" . apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_before", "", get_defined_vars ());
|
90 |
$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 . "')";
|
91 |
$query->query_where .= " OR ((`" . $wpdb->usermeta . "`.`meta_key` = 'first_name' OR `" . $wpdb->usermeta . "`.`meta_key` = 'last_name') AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
92 |
-
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->
|
93 |
-
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->
|
94 |
-
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->
|
95 |
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.
|
96 |
-
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->
|
97 |
$query->query_where .= apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_after", "", get_defined_vars ()) . ")"; // Leaving room for additional searches here.
|
98 |
|
99 |
if(is_multisite()) // On a Multisite Network we need to make sure we're searching only users w/ capabilities on this blog.
|
100 |
-
$query->query_where .= " AND `" . $wpdb->users . "`.`ID` IN(SELECT DISTINCT(`user_id`) FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = '" . $wpdb->prefix . "capabilities'";
|
101 |
|
102 |
$query->query_from = apply_filters ("ws_plugin__s2member_before_users_list_search_from", $query->query_from, get_defined_vars ());
|
103 |
$query->query_where = apply_filters ("ws_plugin__s2member_before_users_list_search_where", $query->query_where, get_defined_vars ());
|
89 |
$query->query_where .= " AND (" . apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_before", "", get_defined_vars ());
|
90 |
$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 . "')";
|
91 |
$query->query_where .= " OR ((`" . $wpdb->usermeta . "`.`meta_key` = 'first_name' OR `" . $wpdb->usermeta . "`.`meta_key` = 'last_name') AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
92 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_subscr_id' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
93 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_custom' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
94 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_custom_fields' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
95 |
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.
|
96 |
+
$query->query_where .= " OR (`" . $wpdb->usermeta . "`.`meta_key` = '" . $wpdb->base_prefix . "s2member_notes' AND `" . $wpdb->usermeta . "`.`meta_value` LIKE '" . $s . "')";
|
97 |
$query->query_where .= apply_filters ("ws_plugin__s2member_before_users_list_search_where_or_after", "", get_defined_vars ()) . ")"; // Leaving room for additional searches here.
|
98 |
|
99 |
if(is_multisite()) // On a Multisite Network we need to make sure we're searching only users w/ capabilities on this blog.
|
100 |
+
$query->query_where .= " AND `" . $wpdb->users . "`.`ID` IN(SELECT DISTINCT(`user_id`) FROM `" . $wpdb->usermeta . "` WHERE `meta_key` = '" . $wpdb->prefix . "capabilities')";
|
101 |
|
102 |
$query->query_from = apply_filters ("ws_plugin__s2member_before_users_list_search_from", $query->query_from, get_defined_vars ());
|
103 |
$query->query_where = apply_filters ("ws_plugin__s2member_before_users_list_search_where", $query->query_where, get_defined_vars ());
|
includes/menu-pages/down-ops.inc.php
CHANGED
@@ -721,6 +721,42 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_down_ops"))
|
|
721 |
do_action("ws_plugin__s2member_during_down_ops_page_during_left_sections_after_gzip_conflicts", get_defined_vars());
|
722 |
}
|
723 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
724 |
do_action("ws_plugin__s2member_during_down_ops_page_after_left_sections", get_defined_vars());
|
725 |
|
726 |
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
721 |
do_action("ws_plugin__s2member_during_down_ops_page_during_left_sections_after_gzip_conflicts", get_defined_vars());
|
722 |
}
|
723 |
|
724 |
+
if (apply_filters ("ws_plugin__s2member_during_down_ops_page_during_left_sections_display_custom_capability_files", (!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()), get_defined_vars ()))
|
725 |
+
{
|
726 |
+
do_action ("ws_plugin__s2member_during_down_ops_page_during_left_sections_before_custom_capability_files", get_defined_vars ());
|
727 |
+
|
728 |
+
echo '<div class="ws-menu-page-group" title="Custom Capability & Member Level Files">' . "\n";
|
729 |
+
|
730 |
+
echo '<div class="ws-menu-page-section ws-plugin--s2member-custom-capability-files-section">' . "\n";
|
731 |
+
echo '<h3>Restricting Files, Based On Custom Capabilities</h3>' . "\n";
|
732 |
+
echo '<p>If you\'re NOT familiar with Custom Capabilities yet, please read: <code>Dashboard -› s2Member® -› API Scripting -› Custom Capability Packages</code>. Once you understand the basic concept of Custom Capabilities & Protected File Downloads, you\'ll see that (by default) s2Member does NOT handle File Download Protection with respect to Custom Capabilities. That\'s where Custom Capability Sub-directories come in.</p>' . "\n";
|
733 |
+
echo '<p>You can create Custom Capability Sub-directories under: <code>' . esc_html (c_ws_plugin__s2member_utils_dirs::doc_root_path ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '</code>. For instance, if you have a Custom Capability <code>music</code>, you can place protected files that should ONLY be accessible to Members with <code>access_s2member_ccap_music</code>, inside: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-ccap-music/</code>. Some examples are provided below.</p>' . "\n";
|
734 |
+
do_action ("ws_plugin__s2member_during_down_ops_page_during_left_sections_during_custom_capability_files", get_defined_vars ());
|
735 |
+
|
736 |
+
echo '<div class="ws-menu-page-hr"></div>' . "\n";
|
737 |
+
|
738 |
+
echo '<p><strong>Custom Capabilities:</strong> (music,videos)</p>' . "\n";
|
739 |
+
echo '<p>Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-ccap-music</code><br />Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-ccap-videos</code></p>' . "\n";
|
740 |
+
echo '<p>Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-ccap-music/file.mp3</code><br />Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-ccap-videos/file.avi</code></p>' . "\n";
|
741 |
+
echo '<p>Now, here are some link examples, using Custom Capability Sub-directories:</p>' . "\n";
|
742 |
+
echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/ccap-file-downloads.x-php")) . '</p>' . "\n";
|
743 |
+
echo '<p><em>These links will ONLY work for Members who are logged-in, with the proper Capabilities.</em></p>' . "\n";
|
744 |
+
|
745 |
+
echo '<div class="ws-menu-page-hr"></div>' . "\n";
|
746 |
+
|
747 |
+
echo '<p><strong>Membership Levels:</strong> (this also works fine)</p>' . "\n";
|
748 |
+
echo '<p>Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level0</code><br />Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level1</code><br />Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level2</code><br />Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level3</code><br />Sub-Directory: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level4</code></p>' . "\n";
|
749 |
+
echo '<p>Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level0/tiger.doc</code><br />Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level1/zebra.pdf</code><br />Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level2/elephant.doc</code><br />Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level3/rhino.pdf</code><br />Protected File: <code>/' . esc_html (c_ws_plugin__s2member_utils_dirs::basename_dir_app_data ($GLOBALS["WS_PLUGIN__"]["s2member"]["c"]["files_dir"])) . '/access-s2member-level4/lion.doc</code></p>' . "\n";
|
750 |
+
echo '<p>Now, here are some link examples, using Member Level Sub-directories:</p>' . "\n";
|
751 |
+
echo '<p>' . c_ws_plugin__s2member_utils_strings::highlight_php (file_get_contents (dirname (__FILE__) . "/code-samples/level-file-downloads.x-php")) . '</p>' . "\n";
|
752 |
+
echo '<p><em>These links will ONLY work for Members who are logged-in, with an adequate Membership Level.</em></p>' . "\n";
|
753 |
+
echo '</div>' . "\n";
|
754 |
+
|
755 |
+
echo '</div>' . "\n";
|
756 |
+
|
757 |
+
do_action ("ws_plugin__s2member_during_down_ops_page_during_left_sections_after_custom_capability_files", get_defined_vars ());
|
758 |
+
}
|
759 |
+
|
760 |
do_action("ws_plugin__s2member_during_down_ops_page_after_left_sections", get_defined_vars());
|
761 |
|
762 |
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
includes/menu-pages/gen-ops.inc.php
CHANGED
@@ -963,6 +963,25 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_gen_ops"))
|
|
963 |
echo '<tbody>' . "\n";
|
964 |
echo '<tr>' . "\n";
|
965 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
966 |
echo '<td>' . "\n";
|
967 |
echo '<h3 style="margin:0;">Footer Design (i.e. Bottom)</h3>' . "\n";
|
968 |
echo '<p style="margin:0;">This field accepts raw HTML' . ((!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()) ? ' (and/or PHP)' : '') . ' code.</p>' . "\n";
|
@@ -1183,9 +1202,51 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_gen_ops"))
|
|
1183 |
foreach (($ws_plugin__s2member_temp_a = array_merge ((array)get_pages ())) as $ws_plugin__s2member_temp_o)
|
1184 |
echo '<option value="' . esc_attr ($ws_plugin__s2member_temp_o->ID) . '"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_override"] && $ws_plugin__s2member_temp_o->ID == $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"]) ? ' selected="selected"' : '') . '>' . esc_html ($ws_plugin__s2member_temp_o->post_title) . '</option>' . "\n";
|
1185 |
echo '</select><br />' . "\n";
|
1186 |
-
echo 'Please choose a Page to be used as the first page Members will see after logging in. This Page can contain anything you like. We recommend the following title: <code>Welcome To Our Members Area</code
|
1187 |
-
echo '
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1188 |
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_login_redirection_override" id="ws-plugin--s2member-login-redirection-override" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_override"]) . '" /><br />' . "\n";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1189 |
echo '</td>' . "\n";
|
1190 |
|
1191 |
echo '</tr>' . "\n";
|
963 |
echo '<tbody>' . "\n";
|
964 |
echo '<tr>' . "\n";
|
965 |
|
966 |
+
echo '<th>' . "\n";
|
967 |
+
echo '<label for="ws-plugin--s2member-login-reg-footer-backtoblog">' . "\n";
|
968 |
+
echo 'Display [Back to Home Page] Link At Bottom?' . "\n";
|
969 |
+
echo '</label>' . "\n";
|
970 |
+
echo '</th>' . "\n";
|
971 |
+
|
972 |
+
echo '</tr>' . "\n";
|
973 |
+
echo '<tr>' . "\n";
|
974 |
+
|
975 |
+
echo '<td>' . "\n";
|
976 |
+
echo '<select name="ws_plugin__s2member_login_reg_footer_backtoblog" id="ws-plugin--s2member-login-reg-footer-backtoblog">' . "\n";
|
977 |
+
echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_footer_backtoblog"]) ? ' selected="selected"' : '') . '>Yes, display link at bottom pointing visitors back to the home page</option>' . "\n";
|
978 |
+
echo '<option value="0"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_reg_footer_backtoblog"]) ? ' selected="selected"' : '') . '>No, hide this link (I\'ll create my own custom footer w/ the details I prefer)</option>' . "\n";
|
979 |
+
echo '</select>' . "\n";
|
980 |
+
echo '</td>' . "\n";
|
981 |
+
|
982 |
+
echo '</tr>' . "\n";
|
983 |
+
echo '<tr>' . "\n";
|
984 |
+
|
985 |
echo '<td>' . "\n";
|
986 |
echo '<h3 style="margin:0;">Footer Design (i.e. Bottom)</h3>' . "\n";
|
987 |
echo '<p style="margin:0;">This field accepts raw HTML' . ((!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()) ? ' (and/or PHP)' : '') . ' code.</p>' . "\n";
|
1202 |
foreach (($ws_plugin__s2member_temp_a = array_merge ((array)get_pages ())) as $ws_plugin__s2member_temp_o)
|
1203 |
echo '<option value="' . esc_attr ($ws_plugin__s2member_temp_o->ID) . '"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_override"] && $ws_plugin__s2member_temp_o->ID == $GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_welcome_page"]) ? ' selected="selected"' : '') . '>' . esc_html ($ws_plugin__s2member_temp_o->post_title) . '</option>' . "\n";
|
1204 |
echo '</select><br />' . "\n";
|
1205 |
+
echo 'Please choose a Page to be used as the first page Members will see after logging in. This Page can contain anything you like. We recommend the following title: <code>Welcome To Our Members Area</code>.' . "\n";
|
1206 |
+
echo '</td>' . "\n";
|
1207 |
+
|
1208 |
+
echo '</tr>' . "\n";
|
1209 |
+
echo '<tr>' . "\n";
|
1210 |
+
|
1211 |
+
echo '<th>' . "\n";
|
1212 |
+
echo '<label for="ws-plugin--s2member-login-redirection-override">' . "\n";
|
1213 |
+
echo 'Or, a Special Redirection URL?' . "\n";
|
1214 |
+
echo '</label>' . "\n";
|
1215 |
+
echo '</th>' . "\n";
|
1216 |
+
|
1217 |
+
echo '</tr>' . "\n";
|
1218 |
+
echo '<tr>' . "\n";
|
1219 |
+
|
1220 |
+
echo '<td>' . "\n";
|
1221 |
echo '<input type="text" autocomplete="off" name="ws_plugin__s2member_login_redirection_override" id="ws-plugin--s2member-login-redirection-override" value="' . format_to_edit ($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_override"]) . '" /><br />' . "\n";
|
1222 |
+
echo 'Or, you may configure a Special Redirection URL, if you prefer. You\'ll need to type in the full URL, starting with: <code>http://</code>. <em>A few <a href="#" onclick="alert(\'Replacement Codes:\\n\\n%%current_user_login%% = The current User\\\'s Username, lowercase.\\n%%current_user_id%% = The current User\\\'s ID.\\n%%current_user_level%% = The current User\\\'s s2Member Level.\\n%%current_user_role%% = The current User\\\'s WordPress® Role.' . ((!is_multisite () || !c_ws_plugin__s2member_utils_conds::is_multisite_farm () || is_main_site ()) ? '\\n%%current_user_ccaps%% = The current User\\\'s Custom Capabilities.' : '') . '\\n%%current_user_logins%% = Number of times the current User has logged in.\\n\\nFor example, if you\\\'re using BuddyPress, and you want to redirect Members to their BuddyPress Profile page after logging in, you would setup a Special Redirection URL, like this: ' . site_url ("/members/%%current_user_login%%/profile/") . '\\n\\nOr ... using %%current_user_level%%, you could have a separate Login Welcome Page for each Membership Level that you plan to offer. BuddyPress not required.\'); return false;">Replacement Codes</a> are also supported here.</em>' . "\n";
|
1223 |
+
echo '</td>' . "\n";
|
1224 |
+
|
1225 |
+
echo '</tr>' . "\n";
|
1226 |
+
echo '</tbody>' . "\n";
|
1227 |
+
echo '</table>' . "\n";
|
1228 |
+
|
1229 |
+
echo '<div class="ws-menu-page-hr"></div>' . "\n";
|
1230 |
+
|
1231 |
+
echo '<table class="form-table" style="margin-top:0;">' . "\n";
|
1232 |
+
echo '<tbody>' . "\n";
|
1233 |
+
echo '<tr>' . "\n";
|
1234 |
+
|
1235 |
+
echo '<th>' . "\n";
|
1236 |
+
echo '<label for="ws-plugin--s2member-login-redirection-always-http">' . "\n";
|
1237 |
+
echo 'Always Redirect non-Administrative Users (after login) using HTTP?' . "\n";
|
1238 |
+
echo '</label>' . "\n";
|
1239 |
+
echo '</th>' . "\n";
|
1240 |
+
|
1241 |
+
echo '</tr>' . "\n";
|
1242 |
+
echo '<tr>' . "\n";
|
1243 |
+
|
1244 |
+
echo '<td>' . "\n";
|
1245 |
+
echo '<select name="ws_plugin__s2member_login_redirection_always_http" id="ws-plugin--s2member-login-redirection-always-http">' . "\n";
|
1246 |
+
echo '<option value="0"' . ((!$GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_always_http"]) ? ' selected="selected"' : '') . '>No, do NOT modify (use WordPress® default behavior; e.g. detect URL scheme automatically)</option>' . "\n";
|
1247 |
+
echo '<option value="1"' . (($GLOBALS["WS_PLUGIN__"]["s2member"]["o"]["login_redirection_always_http"]) ? ' selected="selected"' : '') . '>Yes, always redirect non-administrative users to non-SSL version (e.g. always use http://)</option>' . "\n";
|
1248 |
+
echo '</select><br />' . "\n";
|
1249 |
+
echo 'Recommended setting: <code>Yes</code>. This is compatible w/ <a href="http://codex.wordpress.org/Administration_Over_SSL" target="_blank" rel="external"><code>FORCE_SSL_LOGIN</code></a> and/or <a href="http://codex.wordpress.org/Administration_Over_SSL" target="_blank" rel="external"><code>FORCE_SSL_ADMIN</code></a>.' . "\n";
|
1250 |
echo '</td>' . "\n";
|
1251 |
|
1252 |
echo '</tr>' . "\n";
|
includes/menu-pages/logs.inc.php
CHANGED
@@ -80,19 +80,19 @@ if(!class_exists("c_ws_plugin__s2member_menu_page_logs"))
|
|
80 |
{
|
81 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_before_log_settings", get_defined_vars());
|
82 |
|
83 |
-
echo '<div class="ws-menu-page-group" title="
|
84 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-log-settings-section">'."\n";
|
85 |
|
86 |
echo '<h3>s2Member® Logging Configuration (for Debugging Purposes)</h3>'."\n";
|
87 |
-
|
88 |
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
89 |
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems that occur during processing. Enable logging here, and then view your log files below; in the s2Member® Log Viewer.</span></p>'."\n";
|
90 |
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
91 |
echo '<p style="font-size:110%; margin-bottom:0;"><span>Regarding s2Member® Security Badges. If debug logging is enabled, your site will NOT qualify for an s2Member® Security Badge until you disable logging (and you must ALSO download, and then delete any existing log files). For further details, please see KB Article: <a href="http://www.s2member.com/kb/security-badges/" target="_blank" rel="external">s2Member® Security Badges</a>.</span></p>'."\n";
|
92 |
echo '</div>'."\n";
|
93 |
-
|
94 |
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
95 |
-
|
96 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_during_log_settings", get_defined_vars());
|
97 |
|
98 |
echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">' . "\n";
|
80 |
{
|
81 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_before_log_settings", get_defined_vars());
|
82 |
|
83 |
+
echo '<div class="ws-menu-page-group" title="Logging Configuration (for Debugging)">'."\n";
|
84 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-log-settings-section">'."\n";
|
85 |
|
86 |
echo '<h3>s2Member® Logging Configuration (for Debugging Purposes)</h3>'."\n";
|
87 |
+
|
88 |
echo '<div class="ws-menu-page-hilite" style="border-radius:3px; padding:5px;">'."\n";
|
89 |
echo '<p style="font-size:110%; margin-top:0;"><span>We HIGHLY recommend that you enable logging during your initial testing phase. Logs produce lots of useful details that can help in debugging. Logs can help you find issues in your configuration and/or problems that occur during processing. Enable logging here, and then view your log files below; in the s2Member® Log Viewer.</span></p>'."\n";
|
90 |
echo '<p style="font-size:110%; margin-bottom:0;"><span class="ws-menu-page-error">However, it is VERY IMPORTANT to disable logging once you go live. Log files may contain personally identifiable information, credit card numbers, secret API credentials, passwords and/or other sensitive information. We STRONGLY suggest that logging be disabled on a live site (for security reasons).</span></p>'."\n";
|
91 |
echo '<p style="font-size:110%; margin-bottom:0;"><span>Regarding s2Member® Security Badges. If debug logging is enabled, your site will NOT qualify for an s2Member® Security Badge until you disable logging (and you must ALSO download, and then delete any existing log files). For further details, please see KB Article: <a href="http://www.s2member.com/kb/security-badges/" target="_blank" rel="external">s2Member® Security Badges</a>.</span></p>'."\n";
|
92 |
echo '</div>'."\n";
|
93 |
+
|
94 |
echo '<div class="ws-menu-page-hr"></div>'."\n";
|
95 |
+
|
96 |
do_action("ws_plugin__s2member_during_logs_page_during_left_sections_during_log_settings", get_defined_vars());
|
97 |
|
98 |
echo '<form method="post" name="ws_plugin__s2member_options_form" id="ws-plugin--s2member-options-form">' . "\n";
|
includes/menu-pages/menu-pages-min.js
CHANGED
@@ -1 +1 @@
|
|
1 |
-
jQuery(document).ready(function(b){b("div#ws-menu-page-js-c-w").hide();b(window).resize(tb_position=function(){var c=(b(window).width()>720)?720:b(window).width(),e=b(window).height(),d=(b("body.admin-bar").length)?28:0;b("#TB_window").css({width:c-50+"px",height:e-45-d+"px",top:25+d+"px","margin-top":0,"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});b("#TB_ajaxContent").css({width:c-50+"px",height:e-75-d+"px",margin:0,padding:0})});var a=b("div.ws-menu-page-group");a.each(function(e){var g=b(this),d="<ins>+</ins>",f=g,h=b.trim(f.attr("title"));var c=b('<div class="ws-menu-page-group-header">'+d+h+"</div>");c.css({"z-index":
|
1 |
+
jQuery(document).ready(function(b){b("div#ws-menu-page-js-c-w").hide();b(window).resize(tb_position=function(){var c=(b(window).width()>720)?720:b(window).width(),e=b(window).height(),d=(b("body.admin-bar").length)?28:0;b("#TB_window").css({width:c-50+"px",height:e-45-d+"px",top:25+d+"px","margin-top":0,"margin-left":"-"+parseInt(((c-50)/2),10)+"px"});b("#TB_ajaxContent").css({width:c-50+"px",height:e-75-d+"px",margin:0,padding:0})});var a=b("div.ws-menu-page-group");a.each(function(e){var g=b(this),d="<ins>+</ins>",f=g,h=b.trim(f.attr("title"));var c=b('<div class="ws-menu-page-group-header">'+d+h+"</div>");c.css({"z-index":1});c.insertBefore(f),f.hide(),c.click(function(){var k=b(this),j=b("ins",k),i=k.next();if(i.css("display")==="none"){k.addClass("open"),j.html("-"),i.show()}else{k.removeClass("open"),j.html("+"),i.hide()}return false});if(a.length>1&&e===0){b('<div class="ws-menu-page-groups-show">+</div>').insertBefore(c).click(function(){b("div.ws-menu-page-group-header").each(function(){var k=b(this),j=b("ins",k),i=k.next();k.addClass("open"),j.html("-"),i.show();return});return false});b('<div class="ws-menu-page-groups-hide">-</div>').insertBefore(c).click(function(){b("div.ws-menu-page-group-header").each(function(){var k=b(this),j=b("ins",k),i=k.next();k.removeClass("open"),j.html("+"),i.hide();return});return false})}if(f.attr("default-state")==="open"){c.trigger("click")}return});if(a.length>1){b("div.ws-menu-page-group-header:first").css({"margin-right":"140px"});b("div.ws-menu-page-group:first").css({"margin-right":"145px"})}b("div.ws-menu-page-r-group-header").click(function(){var d=b(this),c=d.next("div.ws-menu-page-r-group");if(c.css("display")==="none"){b("ins",d).html("-"),d.addClass("open"),c.show()}else{b("ins",d).html("+"),d.removeClass("open");c.hide()}return false});b("div.ws-menu-page-group-header:first, div.ws-menu-page-r-group-header:first").css({"margin-top":"0"});b("div.ws-menu-page-group > div.ws-menu-page-section:first-child > h3").css({"margin-top":"0"});b("div.ws-menu-page-readme > div.readme > div.section:last-child").css({"border-bottom-width":"0"});b("input.ws-menu-page-media-btn").filter(function(){return(b(this).attr("rel"))?true:false}).click(function(){var c=b(this);window.send_to_editor=function(g){var h,f,d=b.trim(c.attr("rel"));if(d&&(h=b("input#"+d)).length>0){var e=h.css("background-color"),i=b.trim(b(g).attr("src"));i=(!i)?b.trim(b("img",g).attr("src")):i;h.val(i),h.css({"background-color":"#FFFFCC"}),setTimeout(function(){h.css({"background-color":e})},2000);tb_remove();return}else{if(d&&(f=b("textarea#"+d)).length>0){var e=f.css("background-color"),i=b.trim(b(g).attr("src"));i=(!i)?b.trim(b("img",g).attr("src")):i;f.val(b.trim(f.val())+"\n"+i),f.css({"background-color":"#FFFFCC"}),setTimeout(function(){f.css({"background-color":e})},2000);tb_remove();return}}};tb_show("","./media-upload.php?type=image&TB_iframe=true");return false});b("form#ws-updates-form").submit(function(){var c="";if(!b.trim(b("input#ws-updates-fname").val())){c+="First Name missing, please try again.\n\n"}if(!b.trim(b("input#ws-updates-lname").val())){c+="Last Name missing, please try again.\n\n"}if(!b.trim(b("input#ws-updates-email").val())){c+="Email missing, please try again.\n\n"}else{if(!b("input#ws-updates-email").val().match(/^([a-z_~0-9\+\-]+)(((\.?)([a-z_~0-9\+\-]+))*)(@)([a-z0-9]+)(((-*)([a-z0-9]+))*)(((\.)([a-z0-9]+)(((-*)([a-z0-9]+))*))*)(\.)([a-z]{2,6})$/i)){c+="Invalid email address, please try again.\n\n"}}if(c=b.trim(c)){alert("— Oops, you missed something: —\n\n"+c);return false}return true})});
|
includes/menu-pages/menu-pages.js
CHANGED
@@ -36,7 +36,7 @@ jQuery(document).ready (function($)
|
|
36 |
|
37 |
var $header = $('<div class="ws-menu-page-group-header">' + ins + title + '</div>');
|
38 |
|
39 |
-
$header.css /* Stack them sequentially, top to bottom. */ ({'z-index':
|
40 |
|
41 |
$header.insertBefore ($group), $group.hide (), $header.click (function()
|
42 |
{
|
36 |
|
37 |
var $header = $('<div class="ws-menu-page-group-header">' + ins + title + '</div>');
|
38 |
|
39 |
+
$header.css /* Stack them sequentially, top to bottom. */ ({'z-index': 1});
|
40 |
|
41 |
$header.insertBefore ($group), $group.hide (), $header.click (function()
|
42 |
{
|
includes/menu-pages/start.inc.php
CHANGED
@@ -48,7 +48,7 @@ if (!class_exists ("c_ws_plugin__s2member_menu_page_start"))
|
|
48 |
echo '<div class="ws-menu-page-group" title="Video Tutorials" style="padding-top:5px;">' . "\n";
|
49 |
|
50 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-registration-process-section">' . "\n";
|
51 |
-
echo '<p><
|
52 |
do_action ("ws_plugin__s2member_during_start_page_during_left_sections_during_video_tutorials", get_defined_vars ());
|
53 |
echo '</div>' . "\n";
|
54 |
|
48 |
echo '<div class="ws-menu-page-group" title="Video Tutorials" style="padding-top:5px;">' . "\n";
|
49 |
|
50 |
echo '<div class="ws-menu-page-section ws-plugin--s2member-registration-process-section">' . "\n";
|
51 |
+
echo '<p><iframe src="//www.youtube.com/embed/videoseries?list=PLA40AFC154461862E" width="100%" height="550" frameborder="0" allowfullscreen></iframe></p>' . "\n";
|
52 |
do_action ("ws_plugin__s2member_during_start_page_during_left_sections_during_video_tutorials", get_defined_vars ());
|
53 |
echo '</div>' . "\n";
|
54 |
|
includes/syscon.inc.php
CHANGED
@@ -167,6 +167,7 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
167 |
|
168 |
$default_options["login_welcome_page"] = "";
|
169 |
$default_options["login_redirection_override"] = "";
|
|
|
170 |
$default_options["membership_options_page"] = "";
|
171 |
|
172 |
$default_options["login_reg_design_enabled"] = "1";
|
@@ -189,6 +190,7 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
189 |
$default_options["login_reg_font_family"] = "'Verdana', 'Arial', sans-serif";
|
190 |
$default_options["login_reg_font_field_size"] = "18px";
|
191 |
|
|
|
192 |
$default_options["login_reg_footer_design"] = "";
|
193 |
|
194 |
$default_options["reg_email_from_name"] = get_bloginfo("name");
|
@@ -426,6 +428,9 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
426 |
else if($key === "login_redirection_override" && (!is_string($value) || !strlen($value)))
|
427 |
$value = $default_options[$key];
|
428 |
|
|
|
|
|
|
|
429 |
else if($key === "membership_options_page" && (!is_string($value) || !is_numeric($value)))
|
430 |
$value = $default_options[$key];
|
431 |
|
@@ -441,6 +446,9 @@ if(!function_exists("ws_plugin__s2member_configure_options_and_their_defaults"))
|
|
441 |
else if(preg_match("/^login_reg_(?:background|logo|font|footer)_/", $key) && !preg_match("/background_image/", $key) && (!is_string($value) || !strlen($value)))
|
442 |
$value = $default_options[$key];
|
443 |
|
|
|
|
|
|
|
444 |
else if(preg_match("/^reg_email_(?:from_name|from_email|support_link)$/", $key) && (!is_string($value) || !strlen($value)))
|
445 |
$value = $default_options[$key];
|
446 |
|
167 |
|
168 |
$default_options["login_welcome_page"] = "";
|
169 |
$default_options["login_redirection_override"] = "";
|
170 |
+
$default_options["login_redirection_always_http"] = "1";
|
171 |
$default_options["membership_options_page"] = "";
|
172 |
|
173 |
$default_options["login_reg_design_enabled"] = "1";
|
190 |
$default_options["login_reg_font_family"] = "'Verdana', 'Arial', sans-serif";
|
191 |
$default_options["login_reg_font_field_size"] = "18px";
|
192 |
|
193 |
+
$default_options["login_reg_footer_backtoblog"] = "0";
|
194 |
$default_options["login_reg_footer_design"] = "";
|
195 |
|
196 |
$default_options["reg_email_from_name"] = get_bloginfo("name");
|
428 |
else if($key === "login_redirection_override" && (!is_string($value) || !strlen($value)))
|
429 |
$value = $default_options[$key];
|
430 |
|
431 |
+
else if($key === "login_redirection_always_http" && (!is_string($value) || !is_numeric($value)))
|
432 |
+
$value = $default_options[$key];
|
433 |
+
|
434 |
else if($key === "membership_options_page" && (!is_string($value) || !is_numeric($value)))
|
435 |
$value = $default_options[$key];
|
436 |
|
446 |
else if(preg_match("/^login_reg_(?:background|logo|font|footer)_/", $key) && !preg_match("/background_image/", $key) && (!is_string($value) || !strlen($value)))
|
447 |
$value = $default_options[$key];
|
448 |
|
449 |
+
else if($key === "login_reg_footer_backtoblog" && (!is_string($value) || !is_numeric($value)))
|
450 |
+
$value = $default_options[$key];
|
451 |
+
|
452 |
else if(preg_match("/^reg_email_(?:from_name|from_email|support_link)$/", $key) && (!is_string($value) || !strlen($value)))
|
453 |
$value = $default_options[$key];
|
454 |
|
includes/translations/s2member.pot
CHANGED
@@ -2,9 +2,9 @@
|
|
2 |
# This file is distributed under the same license as the s2Member® Framework package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
-
"Project-Id-Version: s2Member® Framework
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
-
"POT-Creation-Date: 2013-08-
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
@@ -1450,12 +1450,12 @@ msgctxt "s2member-front"
|
|
1450 |
msgid "Yes, I want to receive updates via email."
|
1451 |
msgstr ""
|
1452 |
|
1453 |
-
#: s2member/includes/syscon.inc.php:
|
1454 |
msgctxt "s2member-front"
|
1455 |
msgid "[%s] Username/Password"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
-
#: s2member/includes/syscon.inc.php:
|
1459 |
msgctxt "s2member-front"
|
1460 |
msgid ""
|
1461 |
"Your Username/Password for:\n"
|
@@ -1466,12 +1466,12 @@ msgid ""
|
|
1466 |
"%%%%wp_login_url%%%%"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
-
#: s2member/includes/syscon.inc.php:
|
1470 |
msgctxt "s2member-front"
|
1471 |
msgid "[%s] New User Registration"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
-
#: s2member/includes/syscon.inc.php:
|
1475 |
msgctxt "s2member-front"
|
1476 |
msgid ""
|
1477 |
"New User Registration on your site:\n"
|
@@ -1483,12 +1483,12 @@ msgid ""
|
|
1483 |
"IP Address: %%%%user_ip%%%%"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
-
#: s2member/includes/syscon.inc.php:
|
1487 |
msgctxt "s2member-front"
|
1488 |
msgid "Congratulations! (your membership has been approved)"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
-
#: s2member/includes/syscon.inc.php:
|
1492 |
msgctxt "s2member-front"
|
1493 |
msgid ""
|
1494 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
@@ -1504,12 +1504,12 @@ msgid ""
|
|
1504 |
"%s"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
-
#: s2member/includes/syscon.inc.php:
|
1508 |
msgctxt "s2member-front"
|
1509 |
msgid "Thank You! (instructions for access)"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
-
#: s2member/includes/syscon.inc.php:
|
1513 |
msgctxt "s2member-front"
|
1514 |
msgid ""
|
1515 |
"Thanks %%%%first_name%%%%!\n"
|
@@ -1526,32 +1526,32 @@ msgid ""
|
|
1526 |
"%s"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
-
#: s2member/includes/syscon.inc.php:
|
1530 |
msgctxt "s2member-front"
|
1531 |
msgid "Free Subscriber"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
-
#: s2member/includes/syscon.inc.php:
|
1535 |
msgctxt "s2member-front"
|
1536 |
msgid "Bronze Member"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
-
#: s2member/includes/syscon.inc.php:
|
1540 |
msgctxt "s2member-front"
|
1541 |
msgid "Silver Member"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
-
#: s2member/includes/syscon.inc.php:
|
1545 |
msgctxt "s2member-front"
|
1546 |
msgid "Gold Member"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
-
#: s2member/includes/syscon.inc.php:
|
1550 |
msgctxt "s2member-front"
|
1551 |
msgid "Platinum Member"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
-
#: s2member/includes/syscon.inc.php:
|
1555 |
msgctxt "s2member-front"
|
1556 |
msgid "Level %s Member"
|
1557 |
msgstr ""
|
@@ -2484,8 +2484,8 @@ msgstr ""
|
|
2484 |
|
2485 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:288
|
2486 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:626
|
2487 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2488 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2489 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:388
|
2490 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:722
|
2491 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:469
|
@@ -2496,8 +2496,8 @@ msgstr ""
|
|
2496 |
|
2497 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:492
|
2498 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:743
|
2499 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2500 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2501 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:561
|
2502 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:874
|
2503 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:737
|
@@ -2512,10 +2512,10 @@ msgstr ""
|
|
2512 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:773
|
2513 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:125
|
2514 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:142
|
2515 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2516 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2517 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2518 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2519 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:570
|
2520 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:591
|
2521 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:883
|
@@ -2532,8 +2532,8 @@ msgstr ""
|
|
2532 |
|
2533 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:516
|
2534 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:764
|
2535 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2536 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2537 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:582
|
2538 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:895
|
2539 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:758
|
@@ -2543,7 +2543,7 @@ msgid "<strong>Thank you.</strong> Your account has been approved.<br />—
|
|
2543 |
msgstr ""
|
2544 |
|
2545 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:784
|
2546 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
2547 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:915
|
2548 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1101
|
2549 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-pf-in.inc.php:137
|
@@ -3727,8 +3727,8 @@ msgctxt "s2member-front"
|
|
3727 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal®</a> to cancel your Subscription."
|
3728 |
msgstr ""
|
3729 |
|
3730 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
3731 |
-
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:
|
3732 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:486
|
3733 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:918
|
3734 |
msgctxt "s2member-front"
|
2 |
# This file is distributed under the same license as the s2Member® Framework package.
|
3 |
msgid ""
|
4 |
msgstr ""
|
5 |
+
"Project-Id-Version: s2Member® Framework 130802\n"
|
6 |
"Report-Msgid-Bugs-To: http://wordpress.org/tag/s2member\n"
|
7 |
+
"POT-Creation-Date: 2013-08-16 07:10:15+00:00\n"
|
8 |
"MIME-Version: 1.0\n"
|
9 |
"Content-Type: text/plain; charset=UTF-8\n"
|
10 |
"Content-Transfer-Encoding: 8bit\n"
|
1450 |
msgid "Yes, I want to receive updates via email."
|
1451 |
msgstr ""
|
1452 |
|
1453 |
+
#: s2member/includes/syscon.inc.php:202
|
1454 |
msgctxt "s2member-front"
|
1455 |
msgid "[%s] Username/Password"
|
1456 |
msgstr ""
|
1457 |
|
1458 |
+
#: s2member/includes/syscon.inc.php:203
|
1459 |
msgctxt "s2member-front"
|
1460 |
msgid ""
|
1461 |
"Your Username/Password for:\n"
|
1466 |
"%%%%wp_login_url%%%%"
|
1467 |
msgstr ""
|
1468 |
|
1469 |
+
#: s2member/includes/syscon.inc.php:206
|
1470 |
msgctxt "s2member-front"
|
1471 |
msgid "[%s] New User Registration"
|
1472 |
msgstr ""
|
1473 |
|
1474 |
+
#: s2member/includes/syscon.inc.php:207
|
1475 |
msgctxt "s2member-front"
|
1476 |
msgid ""
|
1477 |
"New User Registration on your site:\n"
|
1483 |
"IP Address: %%%%user_ip%%%%"
|
1484 |
msgstr ""
|
1485 |
|
1486 |
+
#: s2member/includes/syscon.inc.php:228 s2member-pro/includes/syscon.inc.php:94
|
1487 |
msgctxt "s2member-front"
|
1488 |
msgid "Congratulations! (your membership has been approved)"
|
1489 |
msgstr ""
|
1490 |
|
1491 |
+
#: s2member/includes/syscon.inc.php:229
|
1492 |
msgctxt "s2member-front"
|
1493 |
msgid ""
|
1494 |
"Thanks %%%%first_name%%%%! Your membership has been approved.\n"
|
1504 |
"%s"
|
1505 |
msgstr ""
|
1506 |
|
1507 |
+
#: s2member/includes/syscon.inc.php:232 s2member-pro/includes/syscon.inc.php:98
|
1508 |
msgctxt "s2member-front"
|
1509 |
msgid "Thank You! (instructions for access)"
|
1510 |
msgstr ""
|
1511 |
|
1512 |
+
#: s2member/includes/syscon.inc.php:233
|
1513 |
msgctxt "s2member-front"
|
1514 |
msgid ""
|
1515 |
"Thanks %%%%first_name%%%%!\n"
|
1526 |
"%s"
|
1527 |
msgstr ""
|
1528 |
|
1529 |
+
#: s2member/includes/syscon.inc.php:261
|
1530 |
msgctxt "s2member-front"
|
1531 |
msgid "Free Subscriber"
|
1532 |
msgstr ""
|
1533 |
|
1534 |
+
#: s2member/includes/syscon.inc.php:261
|
1535 |
msgctxt "s2member-front"
|
1536 |
msgid "Bronze Member"
|
1537 |
msgstr ""
|
1538 |
|
1539 |
+
#: s2member/includes/syscon.inc.php:261
|
1540 |
msgctxt "s2member-front"
|
1541 |
msgid "Silver Member"
|
1542 |
msgstr ""
|
1543 |
|
1544 |
+
#: s2member/includes/syscon.inc.php:261
|
1545 |
msgctxt "s2member-front"
|
1546 |
msgid "Gold Member"
|
1547 |
msgstr ""
|
1548 |
|
1549 |
+
#: s2member/includes/syscon.inc.php:261
|
1550 |
msgctxt "s2member-front"
|
1551 |
msgid "Platinum Member"
|
1552 |
msgstr ""
|
1553 |
|
1554 |
+
#: s2member/includes/syscon.inc.php:261
|
1555 |
msgctxt "s2member-front"
|
1556 |
msgid "Level %s Member"
|
1557 |
msgstr ""
|
2484 |
|
2485 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:288
|
2486 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:626
|
2487 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:332
|
2488 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:655
|
2489 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:388
|
2490 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:722
|
2491 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:469
|
2496 |
|
2497 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:492
|
2498 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:743
|
2499 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:492
|
2500 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:808
|
2501 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:561
|
2502 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:874
|
2503 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:737
|
2512 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:773
|
2513 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:125
|
2514 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-registration-in.inc.php:142
|
2515 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:501
|
2516 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:522
|
2517 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:817
|
2518 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:838
|
2519 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:570
|
2520 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:591
|
2521 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:883
|
2532 |
|
2533 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:516
|
2534 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:764
|
2535 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:513
|
2536 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:829
|
2537 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:582
|
2538 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:895
|
2539 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:758
|
2543 |
msgstr ""
|
2544 |
|
2545 |
#: s2member-pro/includes/classes/gateways/authnet/authnet-checkout-in.inc.php:784
|
2546 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:849
|
2547 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-pf-in.inc.php:915
|
2548 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:1101
|
2549 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-update-pf-in.inc.php:137
|
3727 |
msgid "Please <a href=\"%s\" rel=\"nofollow\">log in at PayPal®</a> to cancel your Subscription."
|
3728 |
msgstr ""
|
3729 |
|
3730 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:344
|
3731 |
+
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-in.inc.php:667
|
3732 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:486
|
3733 |
#: s2member-pro/includes/classes/gateways/paypal/paypal-checkout-rdp-in.inc.php:918
|
3734 |
msgctxt "s2member-front"
|
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
|
@@ -66,7 +66,7 @@ Yes. s2Member and s2Member Pro, are also both compatible with Multisite Networki
|
|
66 |
|
67 |
**NOTE:** Please do NOT use the WordPress® forums to seek company support. Support for s2Member® is handled in [our own support forums](http://www.s2member.com/forums/).
|
68 |
|
69 |
-
[youtube http://www.youtube.com/watch?v=
|
70 |
|
71 |
The s2Member® Framework (free) integrates with PayPal® Website Payments Standard (also free), and fully supports recurring billing. s2Member supports custom Pages for registration (including Custom Registration/Profile Fields), account access, and a lot more. s2Member is compatible with Multisite Networking too, and even with BuddyPress and bbPress. With the s2Member® Pro add-on (an optional paid upgrade), you can add support for unlimited Membership Levels, PayPal® Website Payments Pro (w/ Pro Forms to facilitate on-site credit card processing), Authorize.Net® (also with Pro Forms), Google® Checkout, ClickBank®, advanced User Import/Export tools, the ability to use Coupon Codes, and many other enhancements. Videos available at: [s2Member.com / Videos](http://www.s2member.com/videos/).
|
72 |
|
@@ -92,11 +92,19 @@ Please see [this FAQ entry](http://www.s2member.com/faqs/#s2-faqs-translations)
|
|
92 |
|
93 |
== Upgrade Notice ==
|
94 |
|
95 |
-
=
|
96 |
(Maintenance Release) Upgrade immediately.
|
97 |
|
98 |
== Changelog ==
|
99 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
100 |
= v130802 =
|
101 |
* (s2Member Pro) **Compatibility, WordPress® v3.6** Updating s2Member® Pro Form templates and their underlying CSS. This update improves their appearance against the Twenty Thirteen theme that comes with WordPress® v3.6. Specifically, some of the Pro Form buttons were a little out of place in this new default theme. Fixed in this release.
|
102 |
* (s2Member Pro) **Compatibility, Checkout Options (#443)** Revision 3. Updating this feature to support a wider variety of WordPress® configurations and content filters. This update also resolves an empty `desc=""` attribute error reported by some site owners. Feature description... It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
1 |
=== s2Member® Framework (Member Roles, Capabilities, Membership, PayPal Members) ===
|
2 |
|
3 |
+
Version: 130816
|
4 |
+
Stable tag: 130816
|
5 |
|
6 |
SSL Compatible: yes
|
7 |
bbPress® Compatible: yes
|
66 |
|
67 |
**NOTE:** Please do NOT use the WordPress® forums to seek company support. Support for s2Member® is handled in [our own support forums](http://www.s2member.com/forums/).
|
68 |
|
69 |
+
[youtube http://www.youtube.com/watch?v=2C3Lan7vxw0 /]
|
70 |
|
71 |
The s2Member® Framework (free) integrates with PayPal® Website Payments Standard (also free), and fully supports recurring billing. s2Member supports custom Pages for registration (including Custom Registration/Profile Fields), account access, and a lot more. s2Member is compatible with Multisite Networking too, and even with BuddyPress and bbPress. With the s2Member® Pro add-on (an optional paid upgrade), you can add support for unlimited Membership Levels, PayPal® Website Payments Pro (w/ Pro Forms to facilitate on-site credit card processing), Authorize.Net® (also with Pro Forms), Google® Checkout, ClickBank®, advanced User Import/Export tools, the ability to use Coupon Codes, and many other enhancements. Videos available at: [s2Member.com / Videos](http://www.s2member.com/videos/).
|
72 |
|
92 |
|
93 |
== Upgrade Notice ==
|
94 |
|
95 |
+
= v130816 =
|
96 |
(Maintenance Release) Upgrade immediately.
|
97 |
|
98 |
== Changelog ==
|
99 |
|
100 |
+
= v130816 =
|
101 |
+
* (s2Member Pro) **Compatibility, ClickBank (#467)** Improving support for ClickBank PitchPlus Upsell Flows. Please see [this thread](http://www.s2member.com/forums/topic/clickbank-buttons-not-working/#post-55725) for further details.
|
102 |
+
* (s2Member/s2Member Pro) **User Search on Multisite Networks (#468)** User search functionality was partially broken for Child Blogs in a Multisite Network after some improvements were implemented in s2Member® v130731. The issue has now been corrected in this release for Multisite Networks. For further details, please see [this thread](http://www.s2member.com/forums/topic/user-search-no-longer-working/#post-55778).
|
103 |
+
* (s2Member/s2Member Pro) **Z-Index in Menu Pages (#461)** Stacking order against a WordPress® installation running a Dashboard with a collapsed sidebar menu (left side) was causing some UI problems. Fixed in this release.
|
104 |
+
* (s2Member/s2Member Pro) **SSL Compatibility (#437)** Adding a new option in the `s2Member® -› General Options -› Login Welcome Page` section. The default value for this new option is always `yes`. However, the default functionality can be turned off (if you prefer). This new option allows site owners to better integrate with a core WordPress® feature commonly referred to as `FORCE_SSL_LOGIN` and/or `FORCE_SSL_ADMIN`. This new feature can be used, or not. It is intended mainly for site owners running w/ `FORCE_SSL_LOGIN` and/or `FORCE_SSL_ADMIN`.
|
105 |
+
* (s2Member/s2Member Pro) **Login/Registration Design Option (#437)** Adding a new option in the `s2Member® -› General Options -› Login/Registration Design` section. This new option (found at the bottom of `s2Member® -› General Options -› Login/Registration Design`) allows a site owner to show/hide the `Back To Home Page` link at the bottom of the default WordPress® Login/Registration system. This can be useful for site owners running w/ `FORCE_SSL_LOGIN` and/or `FORCE_SSL_ADMIN`; where they would prefer NOT to link customers back to the main site under a default HTTPS link; but rather, create their own link and gain better control over this area of their site.
|
106 |
+
* (s2Member/s2Member Pro) **Videos (#467)** Updating internal documentation found in `Dashboard -› s2Member® -› Quick-Start`. Specifically, the video player here was integrated with an older version of the YouTube® API and was not working properly. Fixed in this release.
|
107 |
+
|
108 |
= v130802 =
|
109 |
* (s2Member Pro) **Compatibility, WordPress® v3.6** Updating s2Member® Pro Form templates and their underlying CSS. This update improves their appearance against the Twenty Thirteen theme that comes with WordPress® v3.6. Specifically, some of the Pro Form buttons were a little out of place in this new default theme. Fixed in this release.
|
110 |
* (s2Member Pro) **Compatibility, Checkout Options (#443)** Revision 3. Updating this feature to support a wider variety of WordPress® configurations and content filters. This update also resolves an empty `desc=""` attribute error reported by some site owners. Feature description... It is now possible to build dropdown menus offering your customers a variety of options using a Single Pro Form. This is accomplished quite easily using Shortcodes. For full details and examples, please check this section of your Dashboard in the latest release. See: `s2Member® -› PayPal® Pro Forms -› Wrapping Multiple Shortcodes as "Checkout Options"`. NOTE: this works for PayPal® Pro Forms, and ALSO for Authorize.Net Pro Forms.
|
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: 130816
|
23 |
+
Stable tag: 130816
|
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", "130816" /* !#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", "130816" /* !#distro-version#! */);
|
109 |
/*
|
110 |
Several compatibility checks.
|
111 |
If all pass, load the s2Member plugin.
|