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.

Home Forums Bruce

Bruce

Staff Member

My Latest Replies (From Various Topics)

Viewing 25 replies - 2,101 through 2,125 (of 2,703 total)
Author Replies
Author Replies
Posted: Monday Jan 14th, 2013 at 8:59 pm #37553
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up.

You said here:

What the subscriber would see on his account page would include all the usual stuff, plus three additional fields:

the stream he wants
the URL of the page on his site where he intends to display it
the stream player embed code (provided by us after he submits the other two)

Because you’re setting a custom field dynamically, based on what the user inputs (or whatever else you’re needing to set up after the user registers), I would recommend using the information provided here on dynamically generated Profile/Registration Fields:

Video » s2Member (Custom Fields Dynamically?)

This will require some additional processing on your end to get this set up correctly.

I believe Authorize and other payment processors can verify but NOT charge until the end of the 30-day trial, right?

Correct. Authorize.net will require credit card details but will not charge the user until the trial period has been reached.

His accounts page will then have all the information (only last four digits of his card) to Authorize.net, and possible an already selected stream-name.

s2Member uses Dashboard -› s2Member® -› Authorize.Net® Pro Forms -› Billing Update Forms, which do not function this way. You may want to check out the processes within s2Member Pro’s source code to find out how to get the necessary information here. Specifically the files within /s2member-pro/includes/classes/gateways/authnet/.

A note on the Registration Page: I want the subscriber’s username to be his e-mail address; thus the register form would not ask for a username, but instead use WordPress’s dual-entry e-mail verification to get the e-mail and the system would use it also for the username. (There are plugins for this if it’s not something working in S2.)

This isn’t something that’s supported by s2Member, or WordPress. The processes behind username validation within WordPress wouldn’t allow a username to be an email address.


As far as the processes go for creating the streams and allowing users to create these streams go, this is outside of s2Member’s processes. I would recommend only using s2Member’s Profile/Registration Fields only for getting the neccessary data to generate what you need, and use your own processes to handle your other details.

Posted: Monday Jan 14th, 2013 at 8:59 pm #37552
Bruce
Username: Bruce
Staff Member

Thanks for your great question

s2Member makes it possible to do this, through WordPress’s Hooks and Filters functionality. Find info on using Hooks and Filters here: Knowledge Base » Hacking s2Member® Via Hooks/Filters.

You can find the filter to change the Membership Options Page link within the file /s2member/includes/classes/cache.inc.php at line 105..

An example of how this might look:

http://yoursite.com/my-membership-options-page/’;

return $links;
}
[/hilite]

[note_box]
This is where s2Member gets all links for it’s processes, so if you’d like to dynamically set up the Login Welcome Page, Membership Options Page, or the File Download Limit Exceeded Page, this is the filter you need.
[/note_box]
Posted: Monday Jan 14th, 2013 at 7:37 pm #37546
Bruce
Username: Bruce
Staff Member

Thanks for the great question.

s2Member’s “Deactivation Safeguards” will need to be activated to keep your settings unchanged through deactivation. Make sure that you have your Deactivation Safeguards set to Yes ( safeguard all data/options ) under Dashboard -› s2Member® -› General Options -› Deactivation Safeguards.

The only time you should disable Deactivation Safeguards should be when you’re looking to reset s2Member’s settings, or uninstall s2Member completely. Otherwise things like updates may cause you to lose your s2Member configuration.

Once your Deactivation Safeguards are enabled, feel free to disable s2Member.

Posted: Monday Jan 14th, 2013 at 6:48 pm #37540
Bruce
Username: Bruce
Staff Member

Thanks for your great questions.

You can accomplish all of this with s2Member® Pro’s Free Registration Forms, available under Dashboard -› s2Member® -› PayPal® Pro Forms -› Free Registration Forms. Here you can set up forms to give free access to any level, and set up End of Term (EOT) dates here with the tp and tt attributes. Information is provided on doing so within the Dashboard.

After the user is registered, the EOT dates for users are fully editable from Dashboard -› Users when editing users.

See: Video » s2Member (Free Registration On Multiple Levels?)

Providing membership this way provides access to all of s2Member’s core features, and restriction by level / custom capability, user import/export, and custom profile fields are all unaffected by this.
Posted: Monday Jan 14th, 2013 at 5:31 pm #37535
Bruce
Username: Bruce
Staff Member

Thanks for your inquiry

1. How to get the S2Member style Login Box to show up in my theme without using the widget but rather the PHP code: — Where does this code go within my theme? (using the InFocus theme that you guys recommended)

This is advanced functionality, and I would only recommend trying to do this if you’re familiar with jQuery/JavaScript toggles and editing your theme’s template files.

The header.php file is what you’re looking to edit here. You’ll need to echo the s2member_pro_login_widget() function within <div></div> tags here. Use the CSS property display: none;, and assign this divider an ID so that you can work with it via JavaScript.

Something like this:

echo '<div id="s2member-pro-login-widget-wrapper" style="display: none; position: absolute;">'.s2member_pro_login_widget().'</div>';

At this point, you’ll want to create a button that will show/hide this box. If you’re loading jQuery into your theme, something like this would work:

<input type="button" onclick="$('#s2member-pro-login-widget-wrapper').toggle();" />
There is no perfect way to set this up and I really can’t give you a cookie-cutter example here. If you’re uncomfortable working with this, we recommend posting a job on a site like http://jobs.wordpress.net, http://elance.com/, or http://odesk.com/.

2. I created some Paypal buttons and put the shortcode into the page and they don’t show up on my page at all. I can get the Paypal Pro Forms to show up fine but what I want is to have my customers review membership options with a link to subscribe to the plan that works best for them.

Have you tried these Common Troubleshooting Tips?

Usually occurrences like this are caused by theme incompatibilities. Could you post a link to the page in which this is happening? It may be that the button is being generated, but not displayed due to some CSS styling rules within your theme.

Posted: Monday Jan 14th, 2013 at 5:09 pm #37533
Bruce
Username: Bruce
Staff Member

Thanks for this great question

The way I would recommend setting this up would be not to create a new Post/Page for each user, as this can lead to significantly slower loading times for your site, especially if you have many users.

Instead I would recommend something along the lines of your alternative solution here:

If this is too complicated or wasteful, another approach would be that such a membership would provide access to a universal “one widget at $10/month” but the customer’s registration would include specific additional fields that would be passed to this page whenever this customer accesses it. In other words, his purchase of the “one widget at $10/month” level would give him to access the “one widget at $10/month” page, which would contain fields specific to him when he accesses it. Those fields (widget number, host page URL, etc.) would be provided from his profile as filled in at registration and access at every login.

s2Member provides most of what you’ll need here. You’ll want to check out Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals for info on grabbing this info.

s2Member already requires the creation of a Login Welcome Page (sometimes referred to as the “My Account” page) which you can use to display this info. Users are automatically redirected to this page when they log in, which is the functionality I believe you are looking for.

Alternatively, you can create a page protected at level 0/1 and link to this page from the Login Welcome Page just as easily.


If you’d like to provide more information on how the “widget number, host page URL, etc.” is generated, I’d be happy to give you more information on this.

Posted: Monday Jan 14th, 2013 at 4:55 pm #37530
Bruce
Username: Bruce
Staff Member

Thanks for your great questions

Do you provide Authorize.net and/or Stripe for RECURRING credit-card processing?

s2Member® Pro does provide integration with PayPal®, PayPal® Pro, Authorize.Net®, ClickBank®, and Google® Checkout. These all integrations all support recurring billing. s2Member® Pro does not, however, support Stripe. There are plans for integration with Stripe in the future, but we do not have a set time frame for when this integration will be released.

Check Pre Sale FAQs » What payment gateways does s2Member® support? for more info on this.

And if a user does not cancel but his card no longer works with, say, Authorize, what happens? He gets a notice (from whom?) with a grace period before being cancelled (automatically, I hope)?

Authorize.net’s processes would notify the user that the payment failed. s2Member gives a 24-hour grace period to a user’s End of Term (the date that the user will be demoted/deleted) when a user pays for subscription. If the user does not modify his billing profile via Billing Modification Forms, they will be demoted/deleted depending on what you have set up under Dashboard -› s2Member® -› Authorize.Net® Options -› Automatic EOT Behavior.

When testing this functionality with Authorize.net, you may notice that when you refund a user, or stop a subscription, that the user is not demoted. This is to be expected, as Authorize.net does not send info to s2Member when a user stops subscription. Instead, Authorize.net’s processes set up an End of Term on every payment, and if this End of Term is not extended by receiving payment in the future, s2Member will demote the user.

This is outlined under Dashboard -› s2Member® -› Authorize.Net® Options -› Automatic EOT Behavior, which is available when you have installed s2Member® Pro.

The above is NOT true for other payment gateways, such as PayPal®, and PayPal® Pro.

Posted: Monday Jan 14th, 2013 at 4:21 pm #37528
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up

You mentioned above that Payment Notifications should fire much more often than Signup Notifications. It’s likely that there’s an invalid IPN setup. Could you please post the logs as Cristián mentioned above? Make sure logging is enabled under Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging, and run a test transaction. Then post the info from /wp-content/plugins/s2member-logs/paypal-ipn.log here. Make sure to xx out any sensitive data.

1. I have not tried troubleshooting tests. Do you have a list of plugins potentially conflicting with s2Members?

We do not have a list of incompatible plugins currently. The best way to troubleshoot this is just to disable all plugins and see if that fixes the issue. If it does, then you’ll need to reactivate plugins one by one until you find the culprit.

2. For the recurring commission to work, does a sign-up have to register as a user when he/she is taken back to the Payment Confirmation page?

The commission starting should not be affected by this. The notifications to iDevAffiliate happen at the end of s2Member’s IPN processes, so they should be fired any time s2Member receives data from PayPal / any other gateway that you’re integrated with.


To find the issue we will need your log files. If you’re having an issue with this please send us your details in our Private Contact Form so that we may take a look.

If you do use the Private Contact Form, please send us an update here letting us know that you have sent these details.

Posted: Monday Jan 14th, 2013 at 4:09 pm #37526
Bruce
Username: Bruce
Staff Member

Thank-you for the detailed follow-ups

I decided to remove all traces of forums on my site. I did so, but was somehow left with the inability to preview posts without first publishing them. I also noticed that the permalink edit window would not appear until after publishing the post.

So, I went into my FTP and got rid of the MU Plugin folder and file. I then chose “no” in the member levels regarding “force wordpress to use my labels” and then used the button reset again.

I was unaware that you were forcing WordPress to use your labels. The information provided in my above reply assumed that this was not the case. I’m updating this now to reflect that this may cause issues.

The replacement value for the options row that I provided above did not take this into consideration. I’d like to

The question remains: Now that I’ve got everything functioning again, would a forum integrate painlessly with the site? Don’t care to find out and I’m happy with the forum workaround that I invented. I feel like maybe a forum would work now but I have no more time, patience or courage left to try. I’m gray enough as it is. LOL

s2Member does support integration with bbPress, as we use bbPress here at s2Member.com. If you do decide to reinstall bbPress remember to check out Dashboard -› s2Member® -› Other Integrations -› bbPress®, and update your Roles/Capabilities from this panel before you start changing bbPress settings.

If further issues arise, please let us know. We are currently unaware of any widespread issues regarding this, but we will keep an eye out for any other reports of issues with image functionality.

Posted: Friday Jan 11th, 2013 at 8:15 am #36972
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up

Is there an events facility? For example if I have an event with 10 spaces, can a member/non-member sign up and pay? Providing certain details such as address etc?

Can it be limited so that only 10 people can sign up? What if one person wanted to sign up for 2 spaces?

s2Member does not currently support this exact functionality. However, you could put something like this together fairly simply with Custom Capabilities through s2Member. You’ll need some custom code to so so though. To get started I’d recommend checking out the video on custom capabilities:

Video » s2Member (Custom Capabilities)

Posted: Friday Jan 11th, 2013 at 7:34 am #36963
Bruce
Username: Bruce
Staff Member

Thanks for your great question

There currently no german language files available as far we know. The best place to keep a lookout for these would be s2Member® » Community Forum » Translations. s2Member does not currently have a database of translations.

Posted: Friday Jan 11th, 2013 at 7:22 am #36962
Bruce
Username: Bruce
Staff Member

Thanks for the great question

This is totally possible. You’ll want to check out Dashboard -› s2Member® -› PayPal® Buttons -› Subscr. Modification Buttons to do this. You’ll need to create two kinds of forms for s2Member to work correctly, and you can use the info provided under Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals to show one button or the other depending on if the user is logged in.

If the user is not logged in, you can show one of the Dashboard -› s2Member® -› PayPal® Buttons -› Membership Level # Buttons or Dashboard -› s2Member® -› PayPal® Pro Forms -› Membership Level # Forms, while if the use is logged out, you’ll need to use Dashboard -› s2Member® -› PayPal® Buttons -› Subscr. Modification Buttons or Dashboard -› s2Member® -› PayPal® Pro Forms -› Billing Modification Forms.

Does that make sense?

Posted: Friday Jan 11th, 2013 at 7:13 am #36959
Bruce
Username: Bruce
Staff Member

Thanks for the follow-up

He’s one of the directors of the company, so it isn’t likely he would fib about sharing his login, and he used it while away, got blocked and the punishment just continued. For two weeks! When it is set for 30 minutes.

As Cristián mentioned above, sharing logins is not the only thing that can cause this to happen. If he was using a mobile device, or multiple computers to access this, as he seems to have had been, this can get fired. However, the issue is not in the fact that he was locked out, but rather that he was revoked access for so long.

What may have happened is that if you had not yet saved any of the options under Dashboard -› s2Member® -› Restriction Options, there was not any time period yet set up. I will contact Jason and ask if it is possible that this is the case. In the mean time, please go press the Save All Changes button at the bottom of Dashboard -› s2Member® -› Restriction Options, and keep an eye out for if any further issues persist.

If you have any further issues, please reply here, or create a new topic linking here and we will take a look at your specific installation of s2Member.

Posted: Friday Jan 11th, 2013 at 7:00 am #36956
Bruce
Username: Bruce
Staff Member

Thanks for reporting this important issue

This has been addressed in the past, and Quick Cache does cache 404 pages for the sake of keeping robots from trying to access pages that don’t exist, and therefore this is the intended behavior. If, however, you’d rather not have this happen you can temporarily disallow caching through Quick Cache during runtime with the QUICK_CACHE_ALLOWED constant.

This would work:

<?php
if(is_404())
	define("QUICK_CACHE_ALLOWED", false);
&#91;/hilite&#93;

&#91;info_box&#93;
The above should go into a <a href="http://codex.wordpress.org/Must_Use_Plugins">Must-Use Plugin</a>.  You can accomplish this by first creating a .php

file with your favorite text editor, and pasting the code snippet above into the file. Then, you’ll need to upload the file via FTP to your /wp-content/mu-plugins/ directory. If you do not have this directory already, create it. After the file is created, the code will automatically fire.
[/info_box]

Posted: Friday Jan 11th, 2013 at 6:40 am #36949
Bruce
Username: Bruce
Staff Member

Thank-you for your detailed inquiry.

Unlike many other parts of WordPress, the user roles are set up non-statically (or not recreated every time WordPress runs). Therefore, when a plugin like bbPress and/or s2Member comes in and creates/edits user levels, these changes stick until the permissions are changed again.

What you need to do now is change your permissions back now. Note that to do this you’ll need access to your phpMyAdmin page, which should be available from your server’s control panel / back-end admin panel. You can use the steps below to do this.

This is very advanced, and if you are uncomfortable working with mySQL database tables and rows, you may want to find a freelance developer to fix this for you. We recommend http://elance.com/, http://jobs.wordpress.net/, and http://odesk.com/.
Deactivate All Plugins
Accessing the Database
Edit the Field
Test it Out

Please let us know if any problems persist after these steps are taken.

A similar phenomenon was reported in the WordPress forums here: http://wordpress.org/support/topic/lost-admin-privileges

The affected site owner used the permissions options row from another WordPress installation in a similar manner to the above.

To keep this from happening in the future, you may want to check out this article on Knowledge Base » Locking s2Member Roles/Capabilities.
In a recent version of s2Member, bbPress permissions were updated, check the s2Member® » Unified Changelog for details on this. If you are planning on reactivating bbPress in the future, make sure you have the most current version of s2Member installed before doing so.
Posted: Thursday Jan 10th, 2013 at 7:37 pm #36901
Bruce
Username: Bruce
Staff Member

Thank-you for reporting this important issue

We have seen this happen in the past as a result of a low memory limit within WordPress. There is a post in the WordPress forums about how to fix this error here:

http://wordpress.org/support/topic/fatal-error-allowed-memory-size-of-33554432-bytes-exhausted-14#post-1845435

You may also want to check out Knowledge Base » Common Troubleshooting Tips, and specifically the Server Check Tool before attempting to install s2Member once more.

Please let us know if problems persist after taking those steps.

Posted: Thursday Jan 10th, 2013 at 7:32 pm #36900
Bruce
Username: Bruce
Staff Member

Thanks for your great questions

1. Is there a way to send a successful PayPal response directly to the protected page, instead of the home page?

You can use the success attribute to do this. Find info on this at the bottom of Dashboard -› s2Member® -› PayPal® Buttons -› Shortcode Attributes (Explained).

2. When I am not logged in, the protected page link in the email is correct, but when I click on the file download links, I get served the purchase page (home page), not the file content. However, as a test customer, I do not have an account on my site.

Have I configured something wrong or must all protected download files be accessed via a logged in user?

If so, how can S2Member automatically create a user when a protected pages content is purchased?

Because you are already selling access to this page, you can use the info provided under Dashboard -› s2Member® -› Download Options -› Advanced Download Restrictions to accomplish what you need. This way as long as the user can see the link, they can access your downloadable content.

Posted: Thursday Jan 10th, 2013 at 7:07 pm #36895
Bruce
Username: Bruce
Staff Member

Thanks for your great question

Though s2Member currently does not have a direct integration, it is definitely possible to integrate with Infusionsoft within s2Member. Using s2Member’s Dashboard -› s2Member® -› API / Notifications, you can set up an integration with Infusionsoft with just a bit a code. There’s a post in the old forums system that should help you set this up.

We do also plan on providing direct integration with Infusionsoft in the future, but there is no set deadline for this yet.

Posted: Thursday Jan 10th, 2013 at 6:56 pm #36894
Bruce
Username: Bruce
Staff Member

Thanks for your great question

Firstly, you said here that you has this set up as your Membership Options Page?

The Member Options page is assigned to

https://sumigni.com/member-pages/my-account/

This is an incorrect setup. This should be your Login Welcome Page (Dashboard -› s2Member® -› General Options -› Login Welcome Page), which will be restricted to users that are not logged in. the Login Welcome Page is the equivalent of the My Account Page. The Membership Options Page is where your s2Member buttons/Pro Forms should be at.

Find more info on this in Dashboard -› s2Member® -› Quick Start Guide.

When that particular page loads, it will default to the bottom.

It will load correctly if
1. one of the the two shortcodes are removed
2. a user is not signed in, thereby not displaying the profile form
3. I turn off all javascript in my browser (FF 17.0.1)

It will load incorrectly when
1. both shortcodes are entered into the backend.
2. and displayed on the frontend

Any thoughts where the conflict may be coming from

s2Member’s shortcodes generally are not meant to be put with other shortcodes into a page. This is because s2Member reuses the name/id attributes in one form to another. Therefore behavior like this is to be expected if you do put multiple Pro Form / Button shortcodes into one post/page.

Instead of having both shortcodes in the same page, I’d recommend instead using the Popup s2Member Profile feature available under Dashboard -› s2Member® -› General Options -› Member Profile Modifications. You could also move your Billing Modification Form to a different page as well. Any way that you can get these two shortcodes separated should do fine.

Posted: Thursday Jan 10th, 2013 at 7:23 am #36855
Bruce
Username: Bruce
Staff Member

Hi Tammy,

Thanks for reporting this important issue

s2Member does do this through Dashboard -› s2Member® -› Restriction Options -› Unique IP Access Restrictions. You can disable/change the settings for it there. To give your user access back, you can refresh his IP log by looking him up within the WordPress Dashboard under users. There is a checkbox there that will allow you to do this.

Let us know if problems persist after you take those steps

Posted: Thursday Jan 10th, 2013 at 7:21 am #36853
Bruce
Username: Bruce
Staff Member

Hi Kenn,

Thanks for your great question

s2Member currently doesn’t support this, but you could add support to this by editing the template of the Authorize.net form. You can find the template under /s2member-pro/includes/templates/forms/

Posted: Thursday Jan 10th, 2013 at 7:02 am #36851
Bruce
Username: Bruce
Staff Member

Hi Schott,

Thanks very much for your detailed follow-up

The first thing I notice here is that the two pages that you’re attempting to redirect to do not actually exist (e.g. they are 404s when you navigate there).

Regarding this URL:

https://sumigni.com/sign-me-up/?first

This is not a default that’s set up with s2Member. It appears that this is meant to be the Membership Options Page, but is set up as the Login Welcome Page in your WordPress Dashboard (your site is redirecting to your My Account page, instead of this page right now. You’ll want to change this in your General Options. Switch the pages around in Dashboard -› s2Member® -› General Options -› Login Welcome Page and Dashboard -› s2Member® -› General Options -› Membership Options Page).

The next steps I recommend you take are the following:

1) Create pages with the slugs /welcome-1/ and /welcome-2/ before continuing. This could be causing the error itself

2) Enable logging under Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging

3) Make sure that you are logged out before you try to register

4) Run another test transaction, and if problems persist, send us the log files that were generated under /wp-content/plugins/s2member-logs/ (you’ll need to access your server via FTP to get the files).

Posted: Thursday Jan 10th, 2013 at 6:48 am #36850
Bruce
Username: Bruce
Staff Member

Hi Emmanuel,

Thanks for your great question

This is definitely possible:

This method requires that you edit and replace the file /s2member/includes/templates/buttons/paypal-checkout-button.php every time a new version of s2Member is released, and you upgrade.

To do this, you’ll want to take a look at line 46 of /s2member/includes/templates/buttons/paypal-checkout-button.php. You’ll see there this line:

<input type="image" src="https://www.paypal.com/<?php echo esc_attr (_x ("en_US", "s2member-front paypal-button-lang-code", "s2member")); ?>/i/btn/btn_xpressCheckout.gif" style="width:auto; height:auto; border:0;" alt="PayPal®" />

You’ll want to replace this with the button that you’d like. This can be any input that will submit the form when clicked. No fancy JavaScript is needed.

You can do similar things to this with other template files within s2Member. For standard s2Member buttons, you’ll find the templates under /s2member/includes/templates/buttons/. Otherwise, you need to check out the files under /s2member-pro/includes/templates/.

Posted: Thursday Jan 10th, 2013 at 5:35 am #36846
Bruce
Username: Bruce
Staff Member

Thread closed.

Resolution in this post.

Posted: Thursday Jan 10th, 2013 at 5:32 am #36845
Bruce
Username: Bruce
Staff Member

Hi there,

Thanks for the follow-up

Before I start wading into shortcode adjustment, I wonder what sort of timeline you think it might be before it might be included?

There are no set dates for when this might be available, and as these processes are recreated throughout the plugin, for each PayPal process separately, it’s a bit more of an issue to add than it may seem. My personal estimate would be mid-2013, when we are hoping to release the next major version of s2Member®.

Viewing 25 replies - 2,101 through 2,125 (of 2,703 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.