s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members) - Version 110604

Version Description

( instead of s2Member v3.6 ) = * (s2Member/s2Member Pro). Versioning. Starting with this release, s2Member and s2Member Pro will be released with dated versions following this format: yymmdd. The version for this release is: 110604. * (s2Member/s2Member Pro). s2Member Security Badge. An s2Member Security Badge ( optional ), can be used to express your site's concern for security; demonstrating to all Users/Members that your site ( and the s2Member software ), takes security seriously. However, in order to qualify your site, you MUST generate a Security Encryption Key and pass other security standards. For more information, please check your Dashboard under: s2Member -> General Options -> Security Badge. * (s2Member/s2Member Pro). Custom Fields For BuddyPress. s2Member can now integrate your Custom Fields into BuddyPress. Please check your Dashboard for all configuration options. You'll find BuddyPress integration available here: DashBoard -> s2Member -> General Options -> Custom Registration Fields. * (s2Member Pro). PayPal Pro API Updates (First Payment / Recurring Profile Behavior). s2Member's integration with the PayPal Pro API has been updated to API v71.0. There is also a new option available to PayPal Pro Merchants. s2Member now provides site owners the abililty to control the way the first payment in a Recurring Profile is billed. (1)Consolidate w/ Recurring Profile or (2) Real-Time / Direct Pay ( mission critical ) . For further details, please check your Dashboard under: s2Member -> PayPal Options -> Account Details. We recommend: Consolidate w/ Recurring Profile, because this keeps all charges associated with a particular Customer organized in your PayPal account. No matter which option you choose, a first Initial Payment ( when applicable ), will always be charged immediately ( improved in this release ). In cases where it is absolutely critical that a Customer NOT gain access until their first payment has been fully captured, choose: Real-Time / Direct Pay, which tells s2Member to authorize/capture the first payment in real-time during checkout, instead of consolidating it into the Recurring Profile. * (s2Member). bbPress 2.0+. s2Member has been integrated with preliminary support for bbPress 2.0+ ( i.e. the new plugin variation for WordPress ). Please check your Dashboard, under: s2Member -> Other Integrations for further details and a list of current limitations. * (s2Member/s2Member Pro). Field Labels. Some additional for="" attributes in all Pro Form templates. This improves the reliability of s2Member's JavaScript validation routines. Existing s2Member Pro Customers with modified Pro Form templates MUST update their for="" attributes in order for s2Member's JavaScript API to properly validate Customer data entry in this new release. If you're running custom Pro Form templates, check this directory for the updated default templates, so you can merge any changes you've made yourself: /s2member-pro/includes/templates/forms/. * (s2Member). Amazon S3 Support Amazon Simple Storage Service ( Amazon S3 ). Amazon S3 is storage for the Internet. It is designed to make web-scale computing easier for developers. Amazon S3 provides a simple web services interface that can be used to store and retrieve any amount of data, at any time, from anywhere on the web. It gives developers access to the same highly scalable, reliable, secure, fast, inexpensive infrastructure that Amazon uses to run its own global network of web sites. s2Member has been integrated with Amazon S3, so that ( if you wish ), instead of using the /s2member-files/ directory, you can store all of your protected files inside an Amazon S3 Bucket. * (s2Member/s2Member Pro). jQuery. Tested s2Member against jQuery version 1.4.4+, including jQuery v1.6. Fixed a bug with .attr() returning undefined in jQuery v1.6. * (s2Member). Bug fix. Using the Replacement Code %%current_user_login%% in a Special Redirection URL for your Login Welcome Page would sometimes result in your Home Page being protected inadvertently, depending on configuration. * (s2Member/s2Member Pro). IP Address Collection. s2Member now records the original IP Address of a each User, for tracking purposes. In previous versions of s2Member, in order to integrate some tracking systems, ( such as iDevAffiliate's server-side call option ), it was required to use the custom="" Attribute of your Shortcode to grab a Customer's IP Address. That's no longer required, as Replacement Codes are now made available throughout all aspects of s2Member; giving you easy access to the User's IP Address. * (s2Member Pro). Bug fix. Buy Now Coupon descriptions for Specific Post/Page Access were returning invalid details, referencing installments. This bug has been resolved. * (s2Member Pro). SSL. Allow ?s2-ssl without a value ( accept as true ). This has been implemented for advanced site owners running s2Member Pro Forms. * (s2Member/s2Member Pro). API Functions. New API functions for user Level, Role, Custom Capabilities. These will be documented in our official source code documentation system for s2Member ( also new ). Source code documentation will become available in the s2Member forums, shortly after the official public release of this version. * (s2Member/s2Member Pro). New Shortcode Attribute. For PayPal Buttons/Forms, you can now apply Shortcode lc="US". Optional 2 character Locale Code ( i.e. Country Code ). This controls the interface language used if/when a Customer chooses PayPal Express Checkout as their payment method, or upon clicking a Standard PayPal Button. If unspecified, the language is determined by PayPal, when possible, defaulting to US english when not possible. * (s2Member/s2Member Pro). New Shortcode Attribute. For PayPal Buttons/Forms, you can now apply Shortcode rrt="". Regular Recurring Times ( i.e. a fixed number of installments ). Only valid w/ Membership Level Access. When unspecified ( the default ), any recurring charges will remain ongoing until cancelled, or until payments start failing. If this is set to 1 or higher the regular recurring charges will only continue for X billing cycles, depending on what you specify. This is only valid when rr="1" for recurring "Subscriptions". Please note that a fixed number of installments, also means a fixed period of access. If a Customer's billing is monthly, and you set rrt="3", billing will continue for only 3 monthly installments. After that, billing would stop, and their access to the site would be revoked as well ( based on your EOT Behavior setting under: s2Member -> PayPal Options ). * (s2Member/s2Member Pro). New Shortcode Attribute. You can now apply rra="1". This has to do with reattempting failed payments. It has slightly different meanings and option values, depending on whether it's used for a PayPal Button or a PayPal Pro Form Shortcode. For instance, for PayPal Pro Form Shortcodes, this also controls MAXFAILEDPAYMENTS. Please check your Dashboard under: s2Member -> PayPal Buttons/Forms -> Shortcode Attributes Explained. * (s2Member w/s2Member Pro installed). New Shortcode Attribute. You can now apply success="http://..." Attribute to Standard PayPal Buttons. Success Return URL ( optional ). s2Member handles this automatically for you. However, if you would prefer to take control over the landing page after checkout ( i.e. your own custom Thank-You Page ), you can. If supplied, this must be a full URL, starting with http://. Note, s2Member will NOT use this value if an existing account holder is being modified. s2Member handles account updates ( i.e. billing modification ) in a more dynamic way. Your Success Return URL is only applied to (new) Customers. This feature is enabled with s2Member Pro installed. * (s2Member/s2Member Pro). Bug fix. When using ampersands in the success="" Attribute, it would break Success Return URLs on some WordPress installations. s2Member now converts these internally to avoid the issue. * (s2Member). Redirection Status Codes. s2Member's default behavior ( for good reason ), is to send a 301 redirection status when it moves unauthorized Visitors to your Membership Options Page. The reasons for this are well founded. This prevents duplicate content warnings from search engine spiders. However, some web browsers ( like Safari ) make an attempt to cache a 301 redirection into memory, thereby preventing some browsers from reaching the proper areas of your site after logging in, had they been redirected to the Membership Options Page prior. s2Member resolves this problem by detecting all major browser engines ( i.e. msie|trident|gecko|webkit|presto|konqueror|playstation ) and sending web browsers a 302 redirection, while still sending spiders/crawlers ( such as the Google bot ), the proper 301 redirection status. For further details, please check this thread. * (s2Member). Alternative Views. Alternative View Restrictions ( now compatible with Ajax search plugins ). For further details, please check this thread. * (s2Member Pro). Bug fix. Corrected first/last name updates during Pro Form checkout/upgrade routines. s2Member Pro should use ( and update to ) the values submitted, even when already logged-in. * (s2Member/s2Member Pro). Bug fix. s2Member was not properly filling the $_GET["s2member_level_req"] parameter upon certain File Download Restrictions. For instance, s2Member would sometimes return s2member_level_req=0, even though you protected a File inside a Custom Capability and/or Member Level sub-directory. This bug has been corrected. * (s2Member/s2Member Pro). Time Zone. s2Member now displays Registration Dates in your list of Users with date_i18n() for localized time, as opposed to UTC time. UTC time is still the default time zone ( internally ), this is built into the WordPress core. However, certain dates displayed on-site are easier to understand in localized time, based on your WordPress General Settings. * (s2Member). Password Confirmation. s2Member now provides a Password confirmation field on the Standard Registration Form, and in other key areas, such as Profile Editing Panels. * (s2Member/s2Member Pro). Password Strength Meters. This version adds Password strength meters in various places ( where it's helpful ); including s2Member Pro Forms, and even the default Registration Form for WordPress. * (s2Member). Multisite Registration. Cleaned up the default Multisite Registration Form ( i.e. /wp-signup.php ), with structural CSS to better support s2Member features. * (s2Member/s2Member Pro). SI Captchya. s2Member now contains default CSS styles ( just two lines ), and JavaScript validation for the popular SI Capchya plugin; and also for it's own built-in support of Google's reCAPTCHA service for s2Member Pro Forms. * (s2Member/s2Member Pro). Custom Field Default Values. It's now possible to set default text values for single-line and multi-line input/textarea fields too. This only affects Custom Fields you configure with s2Member. * (s2Member/s2Member Pro). Custom Fields By Section. Custom Fields by section ( i.e. dividers ). It's now possible to configure certain Custom Fields, so that they start a new section. Your sections can be simple dividing lines, or you can give them a title that will appear on your Registration and Profile Editing forms. * (s2Member). Bug fix. s2Member was creating window focus/blur issues on Profile updates through its Stand-Alone version of the Profile Editing Panel ( i.e. when it was popped open in a new window ). This was causing odd behavior Firefox 4. * (s2Member/s2Member Pro). Remove First/Last Name. It is now possible to turn off First/Last/Display Name, on Registration and Profile Editing forms. For configuration options, please check your Dashboard, under: s2Member -> Custom Registration Fields. * (s2Member Pro). Data Prefill. s2Member Pro is now capable of prepopulating some Pro Form fields when/if existing Users buy a Specific Post/Page. * (s2Member/s2Member Pro). Bug fix. Fixed nested Custom Registration Field labels for multi option check boxes/radios. Firefox 4+ had issues with this. * (s2Member/s2Member Pro). Registration Link Expiration. The default is built-in, it's (2) days. We don't recommend changing this unless you know what you're doing. Some developers requested the ability to change this dynamically. s2Member now makes this Filter available: ws_plugin__s2member_register_link_exp_time. * (s2Member Pro). Automatic Upgrade Routine. s2Member Pro now places your site into maintenance mode ( temporarily ) during an s2Member Pro Upgrade routine. * (s2Member). New API Notification. New "Modification" Notification now available under: s2Member -> API Notifications. Say that three times fast! * (s2Member/s2Member Pro). MailChimp / AWeber improvements. This release fixes several bugs related to Automatic Unsubscribes, general list removals, and introduces a new feature call Automatic List Transitions. For further details, please check your Dashboard under: s2Member -> API List Servers. * (s2Member). Bug fix. PayPal Button Codes should have been including a charset input variable for UTF-8 encoding. This bug has been corrected now. If you've had trouble getting special characters to appear properly in the PayPal interface, this version should correct those issues for you. * (s2Member/s2Member Pro). Animated Processing... Buttons. This release adds simple animated "processing..." messages to all form submission buttons. * (s2Member/s2Member Pro). MailChimp Interest Groups. Ability to use Interest Groups with Mailchimp List IDs. For examples, please check your Dashboard under: s2Member -> API List Servers -> MailChimp. * (s2Member/s2Member Pro). New EOT Behavior Option. Automatic Extension of EOT Time whenever a Customer is upgrading a paid Subscription? For configuration options, please check your Dashboard under: s2Member -> PayPal Options -> EOT Behavior. * (s2Member/s2Member Pro). Log Entries. WordPress :: s2Member :: s2Member Pro versions now all reported in each log entry. In addition, s2Member now provides logging for all communications with MailChimp and AWeber too. * (s2Member/s2Member Pro). s2Member Now Requires WordPress v3.1+. Backward compatibility for the WordPress 3.0.x series has been removed. Also removed all include() references to /wp-includes/registration.php. Deprecated in WordPress v3.1. This file no longer needs to be included. * (s2Member/s2Member Pro). s2Member Updates. New built-in news updates from s2Member developers. This appears in your Dashboard automatically, inside the s2Member menu panels. * (s2Member/s2Member Pro). Bug fix. Custom Post Types were not appearing in s2Member's Specific Post/Page Button and Form Generators, even when configured properly. This bug has been resolved. * (s2Member/s2Member Pro). Documentation. Built-in documentation updated throughout. * (s2Member/s2Member Pro). UI Panels. Some minor UI improvements.

Download this release

Release Info

Developer PriMoThemes
Plugin Icon 128x128 s2Member Framework (Member Roles, Capabilities, Membership, PayPal Members)
Version 110604
Comparing to
See all releases

Code changes from version 3.5.8 to 110604

Files changed (70) hide show
  1. images/amazon-logo.png +0 -0
  2. images/brand-donations.fla +0 -0
  3. images/brand-donations.jpg +0 -0
  4. images/brand-donations.png +0 -0
  5. images/logo.fla +0 -0
  6. images/logo.png +0 -0
  7. images/s2-powered.png +0 -0
  8. includes/{mailchimp → _xtnls}/index.php +0 -0
  9. includes/{markdown → _xtnls/mailchimp}/index.php +0 -0
  10. includes/_xtnls/mailchimp/nc-mcapi.inc.php +2515 -0
  11. includes/_xtnls/markdown/index.php +0 -0
  12. includes/{markdown → _xtnls/markdown}/nc-markdown.inc.php +30 -24
  13. includes/classes/admin-css-js-in.inc.php +56 -31
  14. includes/classes/admin-css-js.inc.php +40 -19
  15. includes/classes/admin-lockouts.inc.php +46 -22
  16. includes/classes/admin-notices.inc.php +75 -41
  17. includes/classes/auto-eots.inc.php +99 -69
  18. includes/classes/brute-force.inc.php +52 -24
  19. includes/classes/cache.inc.php +33 -16
  20. includes/classes/catgs-sp.inc.php +47 -46
  21. includes/classes/catgs.inc.php +43 -42
  22. includes/classes/check-activation.inc.php +33 -26
  23. includes/classes/constants.inc.php +2219 -101
  24. includes/classes/cron-jobs-in.inc.php +40 -18
  25. includes/classes/cron-jobs.inc.php +40 -18
  26. includes/classes/css-js-in.inc.php +70 -35
  27. includes/classes/css-js-themes.inc.php +43 -20
  28. includes/classes/css-js.inc.php +41 -20
  29. includes/classes/custom-reg-fields-4bp.inc.php +280 -0
  30. includes/classes/custom-reg-fields.inc.php +346 -227
  31. includes/classes/email-configs.inc.php +78 -27
  32. includes/classes/files-checks.inc.php +0 -34
  33. includes/classes/files-in.inc.php +151 -76
  34. includes/classes/files.inc.php +136 -107
  35. includes/classes/installation.inc.php +54 -163
  36. includes/classes/ip-restrictions.inc.php +152 -96
  37. includes/classes/labels.inc.php +42 -18
  38. includes/classes/list-servers.inc.php +263 -78
  39. includes/classes/login-customizations.inc.php +97 -58
  40. includes/classes/login-redirects-r.inc.php +33 -16
  41. includes/classes/login-redirects.inc.php +110 -55
  42. includes/classes/menu-pages-rs.inc.php +97 -0
  43. includes/classes/menu-pages.inc.php +276 -155
  44. includes/classes/meta-box-saves.inc.php +32 -17
  45. includes/classes/meta-box-security.inc.php +41 -26
  46. includes/classes/meta-boxes.inc.php +38 -18
  47. includes/classes/mms-patches.inc.php +47 -25
  48. includes/classes/mo-page-in.inc.php +34 -21
  49. includes/classes/mo-page.inc.php +35 -22
  50. includes/classes/no-cache.inc.php +171 -0
  51. includes/classes/nocache.inc.php +0 -124
  52. includes/classes/op-notices.inc.php +55 -40
  53. includes/classes/option-forces.inc.php +109 -45
  54. includes/classes/pages-sp.inc.php +52 -51
  55. includes/classes/pages.inc.php +52 -50
  56. includes/classes/paypal-notify-in.inc.php +664 -325
  57. includes/classes/paypal-notify.inc.php +30 -25
  58. includes/classes/paypal-return-in.inc.php +100 -57
  59. includes/classes/paypal-return.inc.php +30 -15
  60. includes/classes/paypal-utilities.inc.php +188 -101
  61. includes/classes/posts-sp.inc.php +55 -54
  62. includes/classes/posts.inc.php +55 -53
  63. includes/classes/profile-in.inc.php +277 -18
  64. includes/classes/profile-mods-4bp-in.inc.php +112 -0
  65. includes/classes/profile-mods-4bp.inc.php +49 -0
  66. includes/classes/profile-mods-in.inc.php +79 -44
  67. includes/classes/profile-mods.inc.php +31 -16
  68. includes/classes/profile.inc.php +31 -16
  69. includes/classes/ptags-sp.inc.php +52 -51
  70. includes/classes/ptags.inc.php +35 -33
images/amazon-logo.png ADDED
Binary file
images/brand-donations.fla CHANGED
Binary file
images/brand-donations.jpg DELETED
Binary file
images/brand-donations.png ADDED
Binary file
images/logo.fla CHANGED
Binary file
images/logo.png CHANGED
Binary file
images/s2-powered.png ADDED
Binary file
includes/{mailchimp → _xtnls}/index.php RENAMED
File without changes
includes/{markdown → _xtnls/mailchimp}/index.php RENAMED
File without changes
includes/_xtnls/mailchimp/nc-mcapi.inc.php ADDED
@@ -0,0 +1,2515 @@