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.


My Latest Replies (From Various Topics)

Viewing 25 replies - 51 through 75 (of 96 total)
Author Replies
Author Replies
Posted: Wednesday Apr 3rd, 2013 at 4:19 pm #46509


The logging was enabled already.

Stupid question: Should I leave logging disabled all of the time?

We’ve got logging on and we regularly review the logs to see why and where transactions are failing with PayPal and our members (see any one of the numerous tickets last year and this year about that nightmare).

So if I turn off logging we’ll lose the recording but our site will speed up?

Is there a middle ground?

Thank you,


Posted: Wednesday Apr 3rd, 2013 at 4:14 pm #46508

Hello Bruce,

The Amazon CloudFront distributions are active and enabled (streaming and download), based on the setup that gave the error above (i.e. they are there even though the error message indicated they could not be created).

However when I test the page we created (at the URL given in the private contact form: with the short code you gave I get two different results:

A. If not logged into a browser:

The URL redirects to this long URL and eventually presents the Member Options page for the site:

Because it redirects to the member options page (even though the test page is not secured), I think that means the file is secured and attempting to authenticate.


B. When logged into the site in the browser:

The URL redirects to THIS long URL:

…and ultimately gives the same old error message:

This XML file does not appear to have any style information associated with it. The document tree is shown below.


Access Denied


I will turn on the logging as you requested.


Posted: Wednesday Apr 3rd, 2013 at 11:19 am #46473


Thank you for the continued support.

I added the Amazon CloudFront keys, and I checked the box:

Auto-Configure your Amazon® S3/CloudFront combination?
Yes, automatically configure my Amazon® CloudFront Distributions & Amazon® S3 ACLs for me.
s2Member will auto-configure and/or delete & re-configure your Amazon® CloudFront Distributions for you.

I got this message:

Unable to auto-configure Amazon® CloudFront Distributions.
Error code: 400. Error Message: Unable to update existing Amazon® S3 ACLs. Unable to update existing Amazon® S3 Bucket Policy. Bad Request

Posted: Tuesday Apr 2nd, 2013 at 8:37 am #46371


I followed the instructions and cleared the Amazon info from s2Member successfully.

I created a new bucket (with default settings and no permission changes made) and entered the info into the s2member section for Amazon S3.

I did not use any CloudFront info.

I created a test page, open to the public, and put in the short code as above, with a link to an MP3 file in it.

When I visit the page the short code converts the file into a URL but not a link.

If I try to open the link in another tab it takes me to Windows Explorer to download the file.

If I try to go to the URL in a browser where I’m not logged into the site it takes me to our membership options page.

So it seems that this step works, and s2Member is protecting files in the bucket–even though the link is on a public page.

I’ve sent you SFTP login and site admin info via the contact form.

What is the next step?

Thank you,


Posted: Monday Apr 1st, 2013 at 2:09 pm #46287


A quick followup question… just in case.

Is this the correct URL to use when s2Member has our bucket, keys and has created the CloudFront distributions:

…or did any part of this change recently?


…or is there a more preferred URL?

Thank you,


Posted: Sunday Mar 31st, 2013 at 3:01 am #46191

UPDATE – I noticed an error in my previous reply:

The URL for the bucket is incorrect, that address gives an Access Denied XML page.

And per the above, when I edited the bucket policy it removed the access denied and 404 file not found errors–but then there was no authentication and the media was available to everyone.

We want to use s2Member to protect our media files for member only access.

It was working then something changed.


Posted: Sunday Mar 31st, 2013 at 2:22 am #46190

Thank you Bruce,

I did the steps outlined in the link but now the files are open to the world.

We need to secure the media files and make them available only to our members.

I’ve tried creating new S3 buckets, editing bucket policies, creating new distributions, letting s2member automatically create and configure distributions, and I’m stuck.

I flushed our site’s Amazon settings using the hack PHP method provided by s2Member.
I created a new S3 bucket with default settings and no changes or policy editing.
I entered our keys into s2Member
I let s2Member create and configure the download and streaming distributions
I cleared our server cache

I can get the file to stream using the direct URL from the bucket:

…but it will not stream using the s2Member URL:

This narrows things down to the link between the bucket, distribution, s2Member and the URL.

Note: It really hamstrings things and slows this resolution down that I cannot post questions in a provate manner where I can share my URLs with s2Member.

Thank you for the support. But this is an unnecessarily long and slow process to get resolutions to problems which have an s2Member component.

Again, I will pay HANDSOMELY for direct support such as we get from Amazon AWS and from our web host WPEngine. Neither of those resources fully understand the magic of s2Member and cannot answer integration questions.


Posted: Thursday Mar 28th, 2013 at 10:18 am #45975

Thank you Bruce,

Here is a sample URL:

If we secure the RSS feed address, will that also secure the audio files in the feed?

I ask this because in the other ticket I have going here, where the RSS feed audio files fail (404 and access denied), we had to remove the s2Member part of the code and link directly to the Amazon S3 bucket to get our membership happy again with our podcast–although now it is open to the world .

Thank you for the help.


Posted: Tuesday Mar 26th, 2013 at 1:10 pm #45801

Hello? Anyone there?

Posted: Tuesday Mar 26th, 2013 at 2:25 am #45697

For the last three days we’ve also had Amazon AWS support and our host WPEngine working to try to find an answer to this issue.

It’s a shame there is not better support available and that there is not an integrated solution where support is available and each support component knows what the other elements are and how they interact. It doesn’t help troubleshooting when one support team doesn’t not provide answers and the other ones don’t know how s2Member works with their products.

Posted: Tuesday Mar 26th, 2013 at 2:14 am #45696

For anyone else going through a similar situation…

The audio files do not stream and we verified the CDN is no longer a factor.

In order to get the podcast media to serve, in the Amazon S3 bucket I set the audio files to be Public. And we use a URL linking directly to the bucket, without the s2Member protection in it. So now our member only podcast streams free to the world.

Thank you for any help s2Member can share…

Posted: Monday Mar 25th, 2013 at 11:26 am #45660

Really not feeling the s2Member love here.

Posted: Monday Mar 25th, 2013 at 4:36 am #45627


We’ve been trouble shooting several aspects and the audio files still do not stream.

We use WPEngine for our host. Last week they activated their CDN for us and we asked them to deactivate it to remove that variable. It is deactivated and the audio files still do not stream.

We’re working with Amazon AWS support at the same time as we’re working with s2Member and WPEngine.

I’ve disabled all plugins which do not remove site functionality.

Per the above, the CDN is disabled, and we may be waiting for cache to clear here and there–I don’t know.

An s2Member generated URL (from the feed source) gives a 404 error. However a direct link to a test MP3 file in the bucket works.

And using the same direct link to any of the audio files gives this:

This XML file does not appear to have any style information associated with it. 
The document tree is shown below.
< Code >AccessDenied< / Code >
<Message><strong>Access Denied</strong></Message>

Any ideas on this error message?

Could this be a change in file permissions on the S3 bucket?

Thank you for your help.


BTW It’s disappointing that I cannot paste links to these issues here because this is a public, searchable forum. This dramatically decreases the resolution turnaround. I’m MORE THAN WILLING to pay for premium support to get this and other s2Member related issues resolved Rapidly and Privately, which would dramatically increase s2Member profitability.

Posted: Tuesday Mar 5th, 2013 at 5:08 am #43743

Thank you for the info Luis.

Posted: Friday Mar 1st, 2013 at 10:11 am #43487

Thank you Cristian! I’ll set that up.


Posted: Friday Feb 8th, 2013 at 7:17 am #41194

Thank you Bruce.

Posted: Monday Jan 28th, 2013 at 3:15 pm #39789

Hello Jason,

We seem to have success now.

We’ve tested with the level zero set to none and never, rather than the previous “999999999 every 365 days.”

A level zero subscriber cannot subscribe to the podcast using iTunes. That works as it should.

When that level zero subscriber is upgraded to a level one or level two paying member, then they can subscribe to the iTunes podcast. So that also works as it should.

Finally, when that level one or level two member is downgraded to a level zero subscriber they can no longer receive the iTunes podcast. So now that seems to finally be working. We’ll be watching it and let you know.

How we’re set up:

1. Our member only podcast media files are kept in Amazon S3.

2. The Amazon S3 media links are added to posts which are secured by s2Member.

3. These posts are in a category that iTunes uses for the member only podcast (feed).

So – WOW! After months of stress we think we may have found the issue may be a simple setting – the level one access.

Thank you and we’ll keep this thread posted (if it’s still open).


Posted: Friday Jan 25th, 2013 at 11:04 am #39513

Hello Bruce,

Dashboard -› s2Member® -› Download Options -› Basic Download Restrictions

Each level (0, 1, 2, 3 and 4) is set to 999999999 every 365 days.

Per the notes on the page, “To allow UNLIMITED downloads, use: 999999999 ( i.e. 999999999 = unlimited ).”

Because you mention, “…this should be set up to have a specific number of downloads ONLY for level 1 or higher.” Does this mean that because it allows level zero through four to download unlimited, that once a member is cancelled down to a level zero, they can continue to access podcasts?

I.e. Is it possible that because we allow level zero registered users to access unlimited downloads, that once a member is cancelled down to level zero they will continue to be authenticated–so essentially, once a “member” with access to podcasts–always a member with access to podcasts.

If that’s the case it is also inconsistent because most members cancelled to level zero can NOT access the podcasts.

Does this mean that the setting should NOT include level zero?

The other issue then is that we have podcasts which are NOT member only–so how does s2Member differentiate between them?


Is there something else happening here that lets a minority of cancelled members continue to access podcasts?

This is beginning to get confusing because it seems there is overlap above, or in our understanding of my primary question.

1. We use Amazon S3 to deliver media for member only podcasts from a secured bucket.

2. We use Amazon S3 to delver media for anyone from an open bucket.

3. We use s2Member to authenticate whether a visitor is a member. The issue seems most apparent when a member, who has subscribed to iTunes, is no longer a member, and they can continue to access the member only podcast on iTunes.

The short story is we want to stop cancelled members from accessing content secured by Amazon S3 buckets, which are authenticated via s2Member.

Thank you for your continued help.


  • This reply was modified 3 years, 11 months ago by  AnotherOpus.
Posted: Tuesday Jan 15th, 2013 at 1:55 pm #37616


Thank you for the guidance, links and support.



Also – Thank you for your post today:

Posted: Tuesday Jan 15th, 2013 at 8:30 am #37570


Just to check the SQL results I ran the SQL you shared above (using the asterisk).

The SQL returns a different set of data with fewer columns.

SQL field results:


s2Member® Pro ( Import/Export Tools ) field results:

First Name
Last Name
Display Name
Website Role
Custom Capabilities
Registration Date
First Payment Date
Last Payment Date
Auto-EOT Date
Custom Value
Paid Subscr. ID
Paid Subscr. Gateway

Can you share the SQL to return the export data for all users?

Thank you,


Posted: Tuesday Jan 15th, 2013 at 8:12 am #37568

Hello Jason,

As I mentioned, I made the change from 250 to 15000 and the export ran fine. I ran the export and emailed it to my director. However, I didn’t look at the contents of the file before I forwarded it ( me = ID ten T ).

He bounced the file back to me with a question about the First Payment Date.

In the First Payment Date field rather than a date there are variations of data like this:





I really, really did only change the number from 250 to 15k in that file.

How can we get the correct data for that First Payment Date field/column?

Thank you,


Here’s the exact code line from the page where I made the change (maybe I jacked something?)

if (is_array ($_users = $wpdb->get_results ("SELECT `" . $wpdb->users . "`.`ID` FROM `" . $wpdb->users . "`, `" . $wpdb->usermeta . "` WHERE `" . $wpdb->users . "`.`ID` = `" . $wpdb->usermeta . "`.`user_id` AND `" . $wpdb->usermeta . "`.`meta_key` = '" . esc_sql ($wpdb->prefix . "capabilities") . "' LIMIT " . $sql_s . ", 15000")))
Posted: Monday Jan 14th, 2013 at 6:03 am #37340

Thank you Jason,

I set the export to 15,000 and it worked on our server at WPEngine.

A question — when s2M upgrades will we need to change the 250 to 15,000 again inside of

And THANK YOU for the SQL; I’ll use it also.


Posted: Sunday Jan 13th, 2013 at 5:24 am #37237

Thank you Jason,

It would be helpful for us and perhaps others if you could give us the SQL to use in phpmyadmin for this
(without the LIMIT–so it will give us all results):

SELECT `" . $wpdb->users . "`.`ID` 
FROM `" . $wpdb->users . "`, `" . $wpdb->usermeta . "` 
WHERE `" . $wpdb->users . "`.`ID` 
= `" . $wpdb->usermeta . "`.`user_id` 
AND `" . $wpdb->usermeta . "`.`meta_key` 
= '" . esc_sql ($wpdb->prefix . "capabilities") . "' 

…where in our phpmyadmin the database is:


…and the tables are:


Thank you,


BTW We’re MORE than ready–VERY MORE THAN READY– to pay a reasonable monthly fee for direct, fast support. And I doubt we’re alone in this. From my last year living in the s2Member forums (my almost daily home away from home), I KNOW I’m not alone. Just think about “additional revenue stream,” and how the support given there would end up being much more direct and clean answers to very specific questions that could be paid for by s2Member customers and end up as VERY HELPFUL answers available to the world.

Posted: Saturday Jan 5th, 2013 at 2:19 pm #36301


Sorry I wasn’t clear.

We want users to be able to downgrade and not pay again.

So they would go from either level one or level two–to level zero, as a free subscriber.

But there is no ability to create a “Downgrade to Level O” form inside of s2M.

There is the ability to create the shortcodes to downgrade to level one or level two.

Thank you.


BTW the beta tester thing was a joke–i feel like I’m buying products from Redmond becuase things don’t always work as they should.

Posted: Saturday Jan 5th, 2013 at 2:16 pm #36300

Hello Cristián,

This is for a user to:

A. Downgrade to non-paying status (free subscriber) and not pay recurring payments, and

B. Maintain their status as a member so that they can still access free content.

Thank you,


Viewing 25 replies - 51 through 75 (of 96 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.