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 TJ

TJ


My Latest Replies (From Various Topics)

Viewing 25 replies - 26 through 50 (of 61 total)
Author Replies
Author Replies
Posted: Wednesday Jul 31st, 2013 at 6:30 pm #54538
TJ
Username: wellwater

Great news. Thanks Bruce.

Posted: Thursday Jul 11th, 2013 at 12:06 am #53270
TJ
Username: wellwater

Timothe, each member can have multiple and different custom capabilities. You can see it in the user’s profile in the custom capabilities text input field. It’s just a comma-delimited list of the capabilities.

Then you can use the s2member shortcodes or functions (there’s a whole bunch of them) to grant access to whatever. Individual pages/posts can also be protected on a custom capability and member level. There should be an s2member widget on the sidebar of page/post pages to specify this. If you don’t see it, choose the “Screen Options” drop down in your admin interface to activate it.

I set all members to “Level 1” and users can gain access to whatever custom capability or capabilities I provide. In your checkout shortcode you have to specify the capability or capabilities you want your user to have. Let’s say your checkout page shortcode only has the custom capability “music” and a user who already has access to “movies” purchases from that page. The “music” capability will just be tacked onto their already existing “movies” custom capability. So now the user will have access to both. When you view the user’s profile, you’ll see both capabilities separated by a comma.

This video (I think it’s a set of three) helped me wrap my head around custom capabilities:
http://www.s2member.com/videos/A2C07377CF60025E/

Posted: Friday Jun 7th, 2013 at 12:23 am #51571
TJ
Username: wellwater

Thanks Cristián. It’s much appreciated.

Posted: Friday Jun 7th, 2013 at 12:22 am #51570
TJ
Username: wellwater

This is great. Thanks Cristián and Jason.

Posted: Tuesday Jun 4th, 2013 at 7:18 pm #51378
TJ
Username: wellwater

Thanks Cristián.

Posted: Monday Jun 3rd, 2013 at 2:01 pm #51229
TJ
Username: wellwater

If you just want to change something minor such as the description font, you should be able to just override the s2member styles in your own CSS file. That way, you won’t have to edit any core files.

For example:

#s2member-pro-authnet-checkout-form-description-section,
#s2member-pro-authnet-checkout-form-description-div {
  font-family: Georgia !important;
}
Posted: Tuesday May 14th, 2013 at 12:12 pm #49958
TJ
Username: wellwater

Thanks Cristián. Let me ask you about this alternative scenario to complete the circle:

1) User purchases item 1 via PayPal which gives Level 1 access and custom capability “pro_app_red”
2) User later purchases item 2 via PayPal which gives Level 1 access and custom capability “pro_app_magenta”
3) User refunds purchase #1 or #2, which triggers an EOT via PayPal’s IPN.

Whichever item is purchased, there will still be a remaining custom capability that should remain intact, but what happens to the Level 1? Does s2member have a check in place to not demote a user’s Level 1 access if there’s a custom capability leftover that hasn’t been removed? Basically, only demoting a user to “Subscriber” only if all custom capabilities have also been cleared?

Thanks.

Posted: Sunday May 12th, 2013 at 10:07 pm #49801
TJ
Username: wellwater

Are you sure the CSS hack you’re using has really removed the .css file from being loaded? If it still looks the same, it seems to me that it’s either still there (check the source code) or there’s some other styles in another separate stylesheet that’s stretching your form fields across.

The way I customized the s2member form was to prevent the default CSS from loading (same as you), wrapped a div tag with .form class around the s2member shortcode, then styled all the form fields to be the same width. Here’s some sample code:

.form {
  width: 400px; /* the width of the checkout form */
}
.form input,
.form select {
  -webkit-box-sizing: border-box; /* see: http://css-tricks.com/box-sizing/ */
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.form input[type="text"],
.form input[type="password"],
.form select {
  width: 100%; /* stretch text and password fields and select boxes all the way across */
}


/* following styles are just cosmetic for IE7 (may need to fidget with values) */
.form input[type="text"],
.form input[type="password"] {
  *width: 92%; /* for IE7 and below, as it doesn't understand box-sizing */
}
.form select {
  *width: 98%; /* for IE7 and below, as it doesn't understand box-sizing */
}

That’s just the basics. You can style the fields to look nicer with some additional CSS.

Now, if you don’t want all your fields to have the same length, then you’ll have to target them by class or ID.

Posted: Thursday Mar 21st, 2013 at 11:48 am #45358
TJ
Username: wellwater

Thanks Cristián and Jason for the replies.

Is there any unofficial way to fake an EOT command–essentially tricking the s2member application into demoting a user? Even if I have to fake a paypal EOT call to an authorize.net user account via CURL from my own ready-made PHP script?

Posted: Friday Mar 15th, 2013 at 11:14 pm #44877
TJ
Username: wellwater

Are you talking about the registration page that’s packaged with wordpress core? If so, this page details how you can force SSL for login and registration pages:
http://codex.wordpress.org/Administration_Over_SSL

Posted: Wednesday Mar 13th, 2013 at 1:45 am #44450
TJ
Username: wellwater

It looks like the plugin you’re using inserts the following meta tag:

<meta http-equiv="X-UA-Compatible" content="IE=9">

I’ve read about folks saying it doesn’t work as good as putting it in .htaccess.

Here’s what I copied out of HTML5 Boilerplate’s .htaccess:

# ----------------------------------------------------------------------
# Better website experience for IE users
# ----------------------------------------------------------------------

# Force the latest IE version, in various cases when it may fall back to IE7 mode
#  github.com/rails/rails/commit/123eb25#commitcomment-118920
# Use ChromeFrame if it's installed for a better experience for the poor IE folk

<IfModule mod_headers.c>
  Header set X-UA-Compatible "IE=Edge,chrome=1"
  # mod_headers can't match by content-type, but we don't want to send this header on *everything*...
  <FilesMatch "\.(appcache|crx|css|eot|gif|htc|ico|jpe?g|js|m4a|m4v|manifest|mp4|oex|oga|ogg|ogv|otf|pdf|png|safariextz|svg|svgz|ttf|vcf|webm|webp|woff|xml|xpi)$">
    Header unset X-UA-Compatible
  </FilesMatch>
</IfModule>

You may want to disable that plugin, and stick the above in your .htaccess (above your wordpress and s2member) mod_rewrite rules.

Posted: Friday Jan 11th, 2013 at 4:44 pm #37040
TJ
Username: wellwater

Thanks Bruce.

Posted: Tuesday Jan 8th, 2013 at 9:38 pm #36669
TJ
Username: wellwater

I’ve experienced this also. I’m going to assume a couple of things:

1) you’re accessing your admin area via HTTPS/SSL
2) you’re using google chrome or a similar webkit browser

What’s happening is somewhere in the source code of s2member’s options pages is loading insecure/non-ssl content, which is borking the layout of the page. The Javascript/CSS isn’t being applied due to it coming from a http:// and not https:// url.

The fix. In your browser address bar you should see a gray shield icon on the right side. Click that and choose “Load anyway”. Official details here:
http://support.google.com/chrome/bin/answer.py?hl=en&answer=1342714

If my assumptions were wrong and your setup is not how I think, then nevermind and good luck.

  • This reply was modified 3 years, 12 months ago by  TJ.
Posted: Wednesday Dec 26th, 2012 at 6:24 pm #35525
TJ
Username: wellwater

Are you loading s2member files on only the pages that need them (ie, checkout) or all pages (ie, home, blog, about us, etc)? If it’s the prior you can use a hook to remove them where they’re not needed. These two topics touch on this:

http://www.s2member.com/forums/topic/remove-css-and-optimize-js/
http://www.s2member.com/forums/topic/javascript-head-includes-move-to-footer/

Posted: Sunday Dec 23rd, 2012 at 3:15 am #35409
TJ
Username: wellwater

Hi Bruce,

There appears to be an inconsistency with how s2member’s login screen handles it. The logo image is linked to the homepage using a non-ssl link, while the bottom “Back to homepage” link (on the same page) is using a non-ssl link.

It’s not a huge deal–just a minor inconsistency.

Posted: Thursday Dec 20th, 2012 at 9:16 pm #35198
TJ
Username: wellwater

Kim, I was dealing with this also, and I was left with the following choices:

1) override the s2member CSS styles in my own style sheet
2) edit the s2member form files
3) entirely disable the included s2member CSS stylesheet which’ll allow me to style everything from scratch.

I’ve opted for option #3, with Jason’s instructions for how to remove the CSS:
http://www.s2member.com/forums/topic/remove-css-and-optimize-js/#post-9207

The downside is you’ll have to totally restyle the forms from nothing, but it’ll give you ultimate control.

Posted: Friday Dec 14th, 2012 at 10:27 pm #34729
TJ
Username: wellwater

As I understand it, you’re don’t need to do this in your shortcode. It needs to be done in your general options admin area (s2Member > General Options > Registration/Profile Fields & Options). You need to add your custom checkbox field and mark it as required.

On the options page I specified above, you have to:
1) click the “Add New Field” link
2) For “Form field type” choose “Checkbox (single)”
3) Add your terms and condition blurb to the “Field Label/Desc” text input field (btw, you can include HTML here, such as linking to your terms and conditions page (be sure to use “target=”_blank” in your link so your users won’t navigate away from your form thereby losing everything they entered)
4) Set the “Field required” to Yes/required
5) For “allow profile edits” set it to something sensible, such as “No (uneditable and totally invisible after registration)”

For the remaining fields, you can modify it how you please. After this, it should start appearing on your forms.

Posted: Tuesday Dec 11th, 2012 at 9:28 pm #34319
TJ
Username: wellwater

I can’t seem to put php code into wordpress pages.

You can use the Exec-PHP plugin to execute PHP content in wordpress pages/posts:
http://wordpress.org/extend/plugins/exec-php/

Posted: Saturday Dec 8th, 2012 at 8:07 pm #34021
TJ
Username: wellwater

Thanks Cristián and Jason. You’ve laid out several things that I need looking at. It’ll take me some time to go through them, but I appreciate that there’s a focal point.

Posted: Friday Dec 7th, 2012 at 2:09 pm #33909
TJ
Username: wellwater

Hi Cristián,

The auto-login hack appears to work fine in the vast majority of cases. I really can’t disable it for usability reasons. It almost seems that for these problematic transactions the redirect didn’t take place. Perhaps the browser prevented it or the user clicked ESC. It would be good if there were a backup, such as a link asking the user to proceed to login, which would then fire off the “payment” notification, as the “signup” and “registration” notifications always appear to fire without a problem.

As for testing it, I don’t think that’s possible because this is happening rarely. Too rarely to successfully and consistently reproduce with a test. It’s just that the characteristics of the failure (when it happens) is similar:
1) successful transaction (authorize.net or paypal)
2) user account successfully created
3) signup & registration notifications successfully executed
4) user profile s2member payment fields not updated (left empty)
5) payment notification never fires

Thanks

Posted: Thursday Dec 6th, 2012 at 8:46 pm #33827
TJ
Username: wellwater

I do want to add that these are rare occurrences. I’ve corrected them simply by manually updating the users’ account profiles. The vast majority of transactions are fine.

And just FYI… the first problem transaction was from a IE9 Windows 7 user. The other was a Firefox 17.0 Windows 7 user.

  • This reply was modified 4 years, 1 month ago by  TJ.
Posted: Thursday Dec 6th, 2012 at 8:32 pm #33826
TJ
Username: wellwater

Hi Jason,

Thanks for commenting on this matter. I’ve submitted the support form.

It happened again today. But this time it was a paypal transaction and not authorize.net. As before, the “signup” and “registration” notification URL’s were fired off, but the “payment” notification URL wasn’t. This results in the user’s account being created, but resulted in the four values below being empty:

* Paid Subscr. Gateway
* Paid Subscr. ID
* Custom Value
* Custom Capabilities

I use paypal express checkout, and when looking at the visitor logs it looks like the user ended up at this address:
hxxp://www.example.com/cart-paypal/?s2member_paypal_xco=s2member_pro_paypal_checkout_return&PayerID=U3CZ7CFC72BY4

I use the javascript analytics software Clicky, and Clicky’s async code is only logged on pages that a browser visits (not redirects), and it would only log something like the above if something went wrong (probably due to the user not being properly redirected?)

Notice in the url above, the “PayerID” is 13 alpha-numeric characters. The real transaction ID for that user does not match the PayerID you see. None of my paypal transaction match that. Also, it appears that all of paypal’s transaction ID’s are 17 characters in length.

By the way, I am automatically logging in users after their transaction using the hacks file as suggested here:
http://www.s2member.com/forums/topic/auto-login-after-successful-payment/

I thought maybe it’s a paypal problem, so I was planning to perform a test transaction, but before I did another paypal user checked out successfully and everything went through properly. So it seems like some sort of phenomena is occurring with inconsistency, but the end result is the same: 1) signup & registration completing, payment routine failing. 2) user account not being properly updated with payment details. As you can see with the above URL, it appears their being kicked back to the site following the transaction, but their not moving forward properly from that point. Perhaps the invalid PayerID has something to do with it?

For my checkout page, I set a custom redirect url. That url checks to see if their subscriber level is “1” and they have a specific custom capability set. Since neither of those is true for these problematic transaction routines, these buyers are being kicked out of their product and given a “no access allowed” message as soon as they complete checkout. Unfortunately, since the payment aspect of their user record was empty, I have no alternative/backup way of establishing their access to a certain area.

FYI, the problem transaction took place at Dec 6, 2012 11:49:34 EST

Thanks.

Posted: Thursday Nov 22nd, 2012 at 1:59 am #32310
TJ
Username: wellwater

FYI, there seems to be another, current forum topic dealing with a similar issue:
http://www.s2member.com/forums/topic/doesnt-go-to-paypal-page-after-recent-update/

Posted: Wednesday Nov 21st, 2012 at 5:39 pm #32280
TJ
Username: wellwater

Thank you Cristián and Jason for looking into this.

Posted: Wednesday Nov 21st, 2012 at 4:11 am #32220
TJ
Username: wellwater

Hi Cristián,

Thanks for looking into this. Email set. This is odd because I don’t sell subscriptions. I don’t even have subscriptions activated in my authnet account.

I provided a link to the pro-form in the email comments. Just FYI: on the pro-form page (authnet) there is also a link to the paypal pro-form, although the problem seems to be isolated to authnet pro-form.

Thanks again.

Viewing 25 replies - 26 through 50 (of 61 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.