latest stable versions: v150827 (changelog)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Jason (Lead Developer)

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 1,251 through 1,275 (of 1,909 total)
Author Replies
Author Replies
Posted: Thursday Oct 4th, 2012 at 12:19 am #27390
Staff Member

Thanks for the heads up on this thread.

If you’re running a Multisite Network installation, where each client has a child blog in your own Multisite Network (i.e. you’re hosting their sites for them), then you will need our Multisite Network Support License, and you will need to provide your customers with any support they might need, related to their use of s2Member.

We support you, but you support them. Make sense?

In other words, what you’ve requested is unique, but it essentially translates into you providing members of your Main Site, with child blogs of their own, which you are hosting on your Network. While your request is a little different from what’s listed on our site, this still falls into our definition of a Multisite Blog Farm. Meaning, you will need our Multisite Network Support License for this type of installation.

Posted: Thursday Oct 4th, 2012 at 12:11 am #27389
Staff Member

Thanks for the heads up on this thread.

The recommended limit of 100 users per importation process, is designed to eliminate the possibly of a partial and/or corrupted importation from occurring on many hosting platforms that limit PHP scripts to X amount of memory, and to X amount of time. Since there are multiple database queries performed upon the import of each user/member, it’s good to break your importation files apart into 100 or fewer, and run the importation with up to 100 each time. This will eliminate issues that can be far more problematic that the time it takes to break the import files apart, in our humble opinion.

All of that being said, you’re certainly welcome to go beyond this recommended limit. There’s nothing in the software that would prevent you from uploading 2K users all at once if you prefer (so long as you feel your server can support this for you).

Regarding your comment here:

dynamic – i.e., sortable? Ideally it’d be easy to sort by membership renewal date, to see who needs to renew at what time.

I’ll accept this as a feature request. There’s nothing in the software to enable this in the current release.

Posted: Wednesday Oct 3rd, 2012 at 11:56 pm #27387
Staff Member

Thanks for the heads up on this thread.

This is relatively easy to accomplish. The originating blog ID is established by the API endpoint URL itself. That is, the user is added to the blog the API is called from.

For example, your main site API might have the following URL:

http://example.com/?s2member_pro_remote_op=1

To add a user to child blog B, the endpoint URL needs to be pointed to that blog:

http://example.com/B/?s2member_pro_remote_op=1

If you’re running a multisite network with sub-domains instead of sub-directories, it might look like this:

http://B.example.com/?s2member_pro_remote_op=1

The shorter answer is that the user is added to the current blog (i.e. the one being referenced by the API endpoint URL itself). s2Member currently does NOT support changing this via any API parameter.

Posted: Wednesday Oct 3rd, 2012 at 11:49 pm #27386
Staff Member

Thanks for the heads up on this request for support.

I just made several attempts to reproduce the bug being reported here, but so far I’ve been unable to do so. In all of my tests, if Canada is selected from the drop down list, and the tax is calculated, and then a credit card fails… the country remains set to Canada on our default installation of s2Member Pro with WordPress 3.4 running the default WP theme with no other plugins except s2Member / s2Member Pro.

If problems persist, I would suggest that you run FireBug on your site, to test for the existence of any JavaScript errors in other parts of your site (i.e. perhaps another plugin has introduced a JavaScript error that is negatively affecting s2Member Pro Forms on your installation)?

Also, I would suggest that you default the country to Canada instead of the US (in your s2Member Pro Form shortcodes), since it seems that most of your customers are in Canada.

Please use the following Shortcode attribute to accomplish this:

default_country_code="CA"

See also: Dashboard -› s2Member® -› PayPal® Pro Forms -› Shortcode Attributes (Explained)

Posted: Wednesday Oct 3rd, 2012 at 11:20 pm #27384
Staff Member

Hi there. Thanks for your inquiry.

We have a no refund policy on all digital non-tangible items, which you agreed to prior to your purchase of s2Member Pro. We will consider refunds of course (within the first 30 days of purchase), but only if the product fails to perform as advertised. Please let us know what trouble you’re having, and we’ll be happy to assist in any way that we can.

See also: s2Member® » Terms » Refund Policy
See also: s2Member® » Support Policy

Posted: Friday Sep 28th, 2012 at 9:34 pm #26906
Staff Member

Thanks for the heads up on this thread.

At s2Member.com, we use the inFocus theme, and the login box was integrated with the s2Member API Function which generates a login box for any site powered by WordPress. Once the login box is generated (very simple, and easy to customize)… you can then style it via your theme’s style.css file, or through other methods made possible by your theme.

Please see: Dashboard -› s2Member® -› API / Scripting -› Pro Login Widget (via PHP)
See also: Pre Sale FAQs » Is there a way to call upon the Pro Login Widget directly?

Posted: Friday Sep 28th, 2012 at 9:29 pm #26905
Staff Member

Thanks for the heads up on this thread.

I perform this exercise in two other sites and the respective WP-Content–>>Cache folder was cleared only after manually clearing the cache in the WP-admin for those sites.

It looks like Quick-Cache is not automatically or otherwise clearing the cache.

This sounds like one of three things are happening.

1. Your Quick Cache configuration, regarding “Cache Expiration Time” is too high?

2. Or, it’s possible that these installations of WordPress do not properly support the WP-Cron class, making it impossible for Quick Cache to automatically clear the cache at regular intervals (i.e. behind the scene). This would be a question that I would present to my hosting company. (i.e. Is WP-Cron enabled?)

3. The /wp-content/cache/ directory is not readable/writable by the server itself? I doubt this is the case, since you said that a manual cache reset does work properly.

Posted: Friday Sep 28th, 2012 at 9:16 pm #26903
Staff Member

Thanks for the heads up on this thread.

site.com/wordpress

It works OK as long as I don’t change the WP Settings->General->Site Address(URL) to site.com (and then also update the index.php in site.com root).

So: how to get s2member to work OK when WP is installed in a subdirectory, but the site URL points directly to WP?

As far as I know, there are no issues with this, so long as you make absolutely sure that you “copy” the index.php file into your home directory, and not must move it. If you’ve installed WP into a sub-directory, and then you move the index.php file outside of this directory, it will break s2Member. Please be sure to follow the instructions here carefully, and “copy” the index.php file into the home directory, leaving the original index.php file in the sub-directory location for s2Member and other plugins to use.

Please see: http://codex.wordpress.org/Giving_WordPress_Its_Own_Directory

Please let us know if problems persist. Thanks!

Posted: Friday Sep 28th, 2012 at 9:08 pm #26902
Staff Member

Thanks for the heads up on this thread.

The Comment is visible in inner Pages and Posts but not in the Home Page.

So it seems Quick Cache is not working in the Home Page.

Under Reading Settings > Home Page Front page displays is set to “Static Front Page” rather then “Your Latest Post”

Gotchya. No, that’s not the intended behavior. Here are some things I would check on.

1. Do any of your Quick Cache configuration options negate the home page of your site in some way? If not directly, could this be happening indirectly, based on your current Quick Cache configuration?

2. Do you have any content loading up on the home page, which might be introduced by a plugin which intentionally disables caching for any page that presents certain content? Other WP plugins have the ability to do this, and Quick Cache MUST obey. For example, the s2Member plugin (written by myself), will intentionally prevent caching on pages that contain Payment Buttons, as these are generated dynamically, based on the current user visiting the site; and thus, CANNOT be cached.

Posted: Monday Sep 24th, 2012 at 8:39 pm #26377
Staff Member

Thanks for the heads up on this.

s2Member’s remote class method will be updated in the next maintenance release in preparation of this coming change on the PayPal side of things. The `httpversion` argument; to wp_remote_request(), will be forced to a version of `1.1` for all API calls that s2Member processes via the WP_Http class.

Posted: Sunday Sep 23rd, 2012 at 7:32 pm #26236
Staff Member

Thanks for the heads up on this request for support.

I’m very sorry to hear that. Since you are unable to use the software from your country, we will have a refund issued to you. I hope that you’ll keep an eye out for the coming update for s2Member Pro, that will add support for more international locations.

Posted: Sunday Sep 23rd, 2012 at 5:43 pm #26232
Staff Member

Thanks for the heads up on this thread.

Cristian is correct. Please choose a theme which does NOT disable core WordPress features.

Posted: Sunday Sep 23rd, 2012 at 5:27 pm #26230
Staff Member

Thanks for your inquiry.

As stated, we do NOT offer refunds for digital goods. If you are having difficulty, we will certainly be happy to assist in any way that we can. You might take a look at the video tutorials on this page:
s2Member® » Video Tutorials

Is there something in particular that you’re trying to accomplish? What is causing a problem for you? If you can show us that s2Member has failed to perform as advertised, we will be happy to review this refund request again.

Posted: Thursday Sep 13th, 2012 at 2:30 am #25140
Staff Member

Thanks for the heads up on this thread.

1. Does S2Member Pro (unlimited license) work with domain mapping out of the box?

Yes. That is, I’m not aware of any issues related to compatibility between the domain mapping plugin and s2Member. However, I would like to clarify that s2Member is NOT intended (nor was it designed or advertised) to work with the domain mapping plugin for WordPress. We’ll be happy to assist in any way that we can, but domain mapping is not a feature that is built into WordPress, and it’s also NOT something that we advertise in our list of features for s2Member or with s2Member Pro.

See also: http://www.s2member.com/terms/#s2-terms-warranty

2. We also need to be able to add the PayPal button on another site. Can we add an offsite button? I read somewhere on this forum that you can. How do we do this?

Yes, as Cristian mentioned in an earlier post, it is possible to use PayPal-generated buttons. Please see: http://www.s2member.com/kb/using-paypal-created-buttons/ In addition, it is also possible to output a PayPal Button with s2Member in URL format, suitable for use in external sites (if you prefer). Please see: Dashboard -› s2Member® -› PayPal® Buttons -› Shortcode Attributes (Explained) -> output="url" attribute


The Problem: Whenever we set BloggersCreed.com to be the primary location in the domain mapping settings, and a member logins in it won’t redirect them to our Welcome page. When they first login it redirects them back to the sign up page ( http://goughmedia.com/bloggerscreed/become-a-member ), even they they have just logged in as a paying subscriber. They are still logged in, so they can click the menus and view protected pages. Naturally this will confuse customers who have just paid and then try to login and are taken to the payment page again.

If we switch the domain mapping off (back to GoughMedia.com/bloggerscreed) S2member then works fine and takes subscribers directly to the Welcome page, after logging in. As soon as we change domain mapping back to BloggersCreed.com, once again it will redirect subscribers to the sign up page, after logging in.

Switching domain mapping back and forth changes how S2Member works.

I’ve seen this occur on sites where cookies are being set with the wrong domain, or all on a single domain. I would suggest that you consult the documentation on the domain mapping plugin that you’ve selected for WordPress, and I would also suggest this article in the WordPress Codex, related to the WordPress cookie constants, and how they afffect Multisite Network installations.

Please see: http://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain

Posted: Thursday Sep 13th, 2012 at 2:11 am #25131
Staff Member

Thanks for the heads up on this thread.

Great work! Really nice job on the plugin!

Yes, this is on our list, and portions of the code have already been completed. However, I would not expect to see this ready-to-go in the initial release, though it will likely come later with full support for JW Player and others.

Posted: Sunday Sep 9th, 2012 at 7:34 pm #24703
Staff Member

Thanks for the follow-ups here.

So sorry. I don’t have any personal experience with the apps you mentioned. However, here are some general suggestions that might help in some cases, or perhaps spawn new ideas for you.

1. Instead of using Remote Authentication (i.e. HTTP header authorization); you could provide your members with links to download files, which include a File Download Key in the link itself (which provides the authentication). This will avoid the need to use Remote Authentication in most cases. While it’s not always practical to go this route, in many cases it does fit the bill. You can learn more about this from your Dashboard.

See: Dashboard -› s2Member® -› Download Options -› Advanced Download Restrictions

For instance, if you have the ability to generate a podcast feed dynamically (i.e. with PHP), you could build links that include File Download Keys for each MP3 file that will be available in your feed.

2. Some apps (like iTunes as one example), will be capable of working around potential issues with HTTP authentication, if you place your XML feed file itself, inside a location that requires HTTP authentication. In other words, make your XML feed manually, and then place it inside of the /s2member-files/ directory. Provide users with a File Download link for the XML feed, which requires Remote Authentication (i.e. HTTP Authentication). In this way, if the feed itself requires HTTP authentication, the client application might be able to handle HTTP authentication on the feed, and then NOT need to handle it for each MP3 file available within the feed. It just depends on the app though.

See also, this video: Video » s2Member® File Downloads (Remote Auth/Podcasting)

3. Another possibility is to build a mobile app of your own. A custom app might be built in a way that interacts with s2Member’s ability to produce File Download Keys, as I mentioned in #1 above.

Posted: Sunday Sep 9th, 2012 at 7:18 pm #24702
Staff Member

Thanks for the heads up on this thread.

Yes, the scenario you’ve described would still be considered a blog farm (in the eyes of s2Member), because members of the Main Site, will in one way or another, have access to a blog of their own within your Network.

Now as for installation, should I activate the plugin network-wide? The main site will be the only one accepting registration and payments. On the other sites, I only need to control login access to the backend. Any pointers on how best to proceed?

There’s no need to activate s2Member Network-wide in this case. Simply activate s2Member on the Main Site of your Network, and then allow each member to register/pay for access to their account on the Main Site. From the Main Site (once they’ve logged in), you can provide members with a link to /wp-signup.php on the Main Site, where they can create as many blogs as you might allow them to. If you’re going to handle this manually, simply tell s2Member that all Membership Levels are allowed to create 0 blogs. This way members can’t create their own blogs, only the Super Administrator could accomplish that, via access to the Network Administration menu in WP.

Posted: Monday Sep 3rd, 2012 at 3:36 am #23908
Staff Member

Thanks for your patience. I’m very sorry for the delay.

This is an interesting response from Authorize.Net. Thanks for reporting this to us.

The value of x_relay_response is documented as having a default value of “false”. However, in your case, if it helps to have it forcefully set to a “false” value, I’d be very happy to hear back from you about it.

I’m attaching a patched copy of the file that handles this interaction between s2Member Pro and Authorize.Net, with x_relay_response set to a “false” value forcefully. Please let me know if this cures the Error #92 issue for you. Thanks!

Please upload the attached file, and allow it to override your existing copy of:
/s2member-pro/includes/classes/gateways/authnet/authnet-utilities.inc.php

Patch: http://d1v41qemfjie0l.cloudfront.net/s2member/uploads/authnet-utilities.inc_.php_.zip

Posted: Monday Sep 3rd, 2012 at 3:21 am #23906
Staff Member

Thanks for the heads up on this thread.

An updated version of Quick Cache will be released late this year, and it will include a paid upgrade as well. That’s all the details I have at the present time.

Regarding the WP Touch issue. Can you please provide me with (or a link to), the details regarding this. Thanks!

Posted: Monday Sep 3rd, 2012 at 3:19 am #23905
Staff Member

Thanks for the heads up this thread.

This issue has been reported a couple of times over the last year. We’ve never been able to reproduce this in a clean installation of WordPress (i.e. default theme, running only s2Member). Therefore, we have to assume it’s a plugin conflict that occurs on some sites, and impacts IE9 more than other browsers.

In at least one of the cases that I’ve investigated, the problem was indirectly related to a jQuery extension used by a custom theme. In another case, the problem was resolved by updating to the latest version of jQuery.

I took a quick look at your site, and I find that you have two separate versions of jQuery being loaded. One is loaded in the <head></head> section of the document, and another (possibly older version), is later overriding that, by being loaded in the footer of the site. So that might be something to have a look at.

If problems persist, please make an attempt to reproduce this on a clean test installation of WordPress. If you can reproduce it there, please let me know! Thank you.

Posted: Monday Sep 3rd, 2012 at 3:01 am #23904
Staff Member
Thanks for the heads up on this thread.

Regarding mass changes to Custom Capability Restrictions specified for particular Posts/Pages…

Thanks for the feature request.

For now, if you’d like to accomplish this, the following code snippet might be useful.

<?php
$post_id = 123;
$ccaps = array('music','videos');
update_post_meta ($post_id, 's2member_ccaps_req', $ccaps);
&#91;/hilite&#93;

You might combine this snippet with a loop that assigns Custom Capability Restrictions to many different Posts/Pages. This WordPress function might assist you with that part. See: http://codex.wordpress.org/Template_Tags/get_posts

<h4>Regarding mass updates to Custom Capabilities assigned to certain members...</h4>
This is already possible with s2Member Pro, using the Import/Export panel. It's possible to import new users/members. However, it's also possible to perform mass updates to existing users/members, including the ability to update Custom Capabilities.

Please see: Dashboard -› s2Member® -› Import/Export -› User/Member Importation
Posted: Monday Sep 3rd, 2012 at 2:53 am #23903
Staff Member

Thanks for the follow-ups here.

It should be /s2member/includes/classes/ folder.

Sorry about this error. I’ve updated the post above to reflect this change.

Regarding this encoding issue.

It has come to my attention there is another way to correct this issue. Please log into your PayPal account. Then visit this URL: https://www.paypal.com/ie/cgi-bin/webscr?cmd=_profile-language-encoding

1. Click the “More Options” button.
2. Choose UTF-8.
Problem solved :-)

See also: http://jlchereau.blogspot.com/2006/10/paypal-ipn-with-utf8.html

Posted: Monday Sep 3rd, 2012 at 2:36 am #23901
Staff Member

Thanks for the follow-up.

In the case of a “Buy Now” transaction, there is never a Recurring Profile to reference at PayPal, because s2Member did not need to create one (e.g. the subscription was paid for with a single charge only). In other words, there are NO recurring fees.

However, what you’ve mentioned here, is that s2Member DOES make it possible to specify a start/end date, even for Buy Now transactions. In this case, there is only a single “Buy Now” transaction, and NO Recurring Profile is generated. The start date of the subscription begins on the date of purchase, and the end date/time is established with an automatic EOT Time, which s2Member stores locally in your WordPress database.

You can find the end date/time for a particular customer by running the following code snippet.

<?php
$user_id = 123;
$eot_time = get_user_option('s2member_auto_eot_time');
// This is the end time, in the form of a UNIX UTC timestamp.
?>
Posted: Tuesday Aug 28th, 2012 at 11:42 pm #23372
Staff Member

Thanks for the heads up on this thread.

19 characters is generally used with older PayPal Recurring Profiles. PayPal Profile IDs are now 14 characters in length, and PayPal Transaction IDs are usually 17 characters in length. So it sounds to me like the original transaction recorded by s2Member, and subsequently stored inside wp_s2member_subscr_id, is actually a “Buy Now” transaction ID, and not actually a Recurring Profile ID.

If problems persist, I would go back to your s2Member Shortcode, and check to see if the billing details specify any recurring fees. If it does not, then wp_s2member_subscr_id contains the Transaction ID, and not a Recurring Profile ID (i.e. there were no recurring charges).

See also: https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_api_nvp_r_ManageRecurringPaymentsProfileStatus

I should also note that s2Member Pro makes a utility function available, which makes it easy for site owners to communicate with the PayPal Pro API. I’ve provided a code sample here:
http://www.primothemes.com/forums/viewtopic.php?f=4&t=2062#p7407

The same concept you’ll see in that thread, also applies to almost all PayPal API calls.

<?php
$paypal = array(); // Your input array of data to send to the PayPal API.
if (($paypal = c_ws_plugin__s2member_paypal_utilities::paypal_api_response ($paypal)) && empty($paypal&#91;"__error"&#93;))
 print_r($paypal); // Output array. See PayPal API docs for response variables that come from PayPal.
?>
Posted: Tuesday Aug 28th, 2012 at 11:21 pm #23371
Staff Member

Thanks for the heads up on this thread.

The first thing I look for in these cases (and I’m sure you already have)… is the IP being reported by the server?

I test this from within WP, so we get the actual IP that’s reported from inside the WP framework, in case of any manipulations being performed by plugins. The easiest way is to put this Shortcode into a test Page on the site, created by WordPress.

[s2Get constant="S2MEMBER_CURRENT_USER_IP" /]

See also: http://www.s2member.com/codex/stable/s2member/api_constants/package-globals/#src_doc_S2MEMBER_CURRENT_USER_IP

If that appears to report your own IP address properly, then now it’s time to look deeper. In this site, this seems to be working properly.

The next thing I look for is under WordPress -> Settings -> General. Is the server time (i.e. the WordPress UTC time) accurate? If it’s not, there could be a problem there. In other words, is the server’s clock inaccurate? In this case, it seems fine to me. UTC time is reported properly by this server.

Other things to look for….

Were the IP Restrictions setting changed recently? In this case, it is very small, allowing only 2 unique IPs per customer. If it was originally set to 5, then reduced to 2, were the IP Restrictions reset after the change? They need to be reset after any change, so that previous IP logs are cleared away, making it possible to report things accurately under the new setting(s) for IP Restrictions.

See: Dashboard -› s2Member® -› Restriction Options -› Unique IP Access Restrictions -> Reset

Is the user’s browser (i.e. the user reporting the problem), somehow caching the page content, even beyond what the server allows? In other words, is it possible the customer is viewing an error message that was cached by their browser, from a previous failed attempt? s2Member makes every effort to avoid this happening, by sending no-cache headers to the browser. However, some users intentionally force browser caching at all times. This is more commonly associated with users on slow connections.

If all else fails, you can attach a logging routine to s2Member’s IP Restrictions.

Please create this directory and file:
/wp-content/mu-plugins/s2-hacks.php
( these are MUST USE plugins, see: http://codex.wordpress.org/Must_Use_Plugins )

Viewing 25 replies - 1,251 through 1,275 (of 1,909 total)

Old Forums (READ-ONLY): The community now lives at WP Sharks™. If you have an s2Member® Pro question, please use our new Support System.

Contacting s2Member: Please use our Support Center for bug reports, pre-sale questions & technical assistance.