Jason (Lead Developer)

My Latest Replies (From Various Topics)
Author | Replies |
---|---|
Author | Replies |
Posted: Sunday Jan 13th, 2013 at 1:35 pm #37282 | |
![]() |
|
Thanks for the follow-up :-)OK. Well with that s2-hacks.php file, the log entry is wrong. It should say: “Redirecting Customer to a custom URL after modification: http://www.merrilldance.com/calendar/“, but it’s does NOT say that. Something is off somewhere. Please submit a Dashboard login and I’ll run diagnostics for you. Please use this private contact form: s2Member® » Private Contact Form |
|
Posted: Sunday Jan 13th, 2013 at 1:20 pm #37277 | |
![]() |
|
That’s awesome! Tell him to use our Customer Support Forums and Codex if he needs assistance with something related to s2Member’s source code. We’re happy to help.
Sorry, I’m not sure I understand completely. But if you have a systematic way of approaching this, and you catch someone doing this, I don’t see why not. This would most likely need to be coded into the custom code that you write to handle this scenario. Catch them, and then redirect them to a Post/Page which contains an s2Member payment Button (or Pro Form) where they can “pay” instead of getting in free. |
|
Posted: Sunday Jan 13th, 2013 at 1:12 pm #37275 | |
![]() |
|
Thanks for the heads up on this thread :-)
Please submit a Dashboard login for me to review. It sounds to me like your PayPal IPN Integration is not yet completed, or is failing for some reason. Logging needs to be enabled on your installation as well, so you can track what’s really going on here. Please see: Dashboard -› s2Member® -› PayPal® Options -› Account Details -› Logging |
|
Posted: Sunday Jan 13th, 2013 at 1:07 pm #37274 | |
![]() |
|
Thanks for the follow-up :-)
s2Member’s Unique IP Restrictions work very well for Users/Members and various other access points that a registered User/Member might be using on your site. It does NOT however, offer any protection against repeated registrations on your site. If the customer chooses to register under multiple email addresses and usernames, s2Member won’t do anything to stop that. If you wanted that type of protection, unfortunately, you would need to custom code that portion. I see this being difficult though, because IP Restrictions are really something that have to be monitored over a long term, just because many people access things from multiple computers, or from mobile devices with dynamic IPs. Preventing repeated registrations is rather difficult to accomplish in my opinion. |
|
Posted: Sunday Jan 13th, 2013 at 1:02 pm #37272 | |
![]() |
|
Thanks for your inquiry. ~ We appreciate your patience :-)
Note. In this line of the code, please update this to use the “wp” action hook instead. The video is a little outdated now, and this hook is a more reliable option with newer WordPress installations. The “template_redirect” comes later, and “wp” is a better one to use please.
You’re blocking access, and instead redirecting them to your Membership Options Page, so they can pay you for access. Feel free to change that to whatever you prefer. If you have a special page that will display information more specific to this scenario, please use that instead. Just hard-code a URL of your choosing if you like.
I see your dilemma. These two concepts really conflict with each other, because content protected at Level #2 or higher, is based on Membership “Levels”, whereas Capabilities provide more control, and grant access to specific things. So in this scenario, the fact that you have content blocked (and it requires Level #2), really goes against what you’re trying to accomplish in my opinion. I suggest that you unblock the content from Level #2, and instead require Level #1 only. Then go back to your Custom Capabilities and do what you need to do with those. This way anyone that IS a Member (i.e. they have a Level #1 Membership), can gain access of some kind, based on your Custom Capabilties. Now, in your Custom Capabilties, you might have two of them.
So you might end up with a custom script like this:
|
|
Posted: Sunday Jan 13th, 2013 at 12:44 pm #37270 | |
![]() |
|
Thanks for your inquiry.~ We appreciate your patience :-) I’m sorry. I’m not sure I completely understand the question.
Only Membership Level #0 is free (i.e. Free Subscribers are at Level #0). All other Membership Levels require paid access. So I’m not sure I understand this exactly. Please feel free to elaborate so that I’ll understand better.
s2Member does not come with a feature that would allow you to define a default value for the meta-box in the Post/Page editing station. However, you can accomplish what you need to with Category or Tag Restrictions. Have you given Tag Restrictions any thought yet? That’s one of my favorite ways to protect content. If you’re looking for something MUCH more flexible, I recommend using Custom Capabilities instead of Levels. |
|
Posted: Sunday Jan 13th, 2013 at 12:33 pm #37268 | |
![]() |
|
That is correct. Free Registration Forms will work regardless. However, the use of PayPal Pro Forms to charge customers for paid access, does require that you have a PayPal Pro account, in order to facilitate on-site credit card processing through a Pro Form. So if you’re planning to charge for access to Level #2, you will need to use a PayPal “Button” instead of a Pro Form. Or, you can read over this article about how to get Pro Forms working without a PayPal Pro account, via Express Checkout (free). See: http://www.s2member.com/faqs/#s2-faqs-paypal-pro-not-required |
|
Posted: Sunday Jan 13th, 2013 at 12:27 pm #37267 | |
![]() |
|
Thanks for your patience.
No, I really don’t think this is the issue. After a careful review of your report here, I suspect the following issue.You’ve reported the sale is going through (reflected by your log entries), but the It appears to me that your site is still in TEST mode. Do you require any cookie in order to access this site at the present time (i.e. is the site locked down from public access in any way)? The underlying issue I believe, is that s2Member’s post-processing routines are not being called upon, due to a connection failure that occurs between the Pro Form, and s2Member’s core PayPal processor, which is what lies underneath all payment gateways integrated with s2Member (including Authorize.Net Pro Forms). If you look in your logs directory, you should also have a file with this name: If you don’t (which would be my guess), that’s the problem. You should have this file too. Please submit a Dashboard login privately so I can run diagnostics on your installation. I’ll be happy to help you resolve this. Please use: s2Member® » Private Contact Form |
|
Posted: Sunday Jan 13th, 2013 at 12:00 pm #37264 | |
![]() |
|
Thanks for reporting this important issue.In the log entry you posted, an existing User/Member is making a purchase. So this is NOT a new customer, it’s an upgrade for an existing User on your site. The Dashboard -› s2Member® -› PayPal® Buttons -› Shortcode Attributes (Explained)success="" 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.
That being said, s2Member does expose a filter for this scenario that you’ve encountered. If you’d like to customize the URL that a customer is redirected to upon modifying their existing account, please follow the instructions below. Please create this directory and file:
Please let us know if problems persist :-) |
|
Posted: Sunday Jan 13th, 2013 at 11:46 am #37263 | |
![]() |
|
Thanks for the follow-up :-)Great! Please update this thread with a short note letting me know it’s been sent. Thanks! |
|
Posted: Sunday Jan 13th, 2013 at 11:43 am #37259 | |
![]() |
|
Awesome. That’s great to hear.Yes, please let us know if you have any trouble with the other issue. |
|
Posted: Sunday Jan 13th, 2013 at 11:36 am #37256 | |
![]() |
|
Thanks for the follow-up :-)I never did gain access to your Dashboard. The login credentials that I have for your hosting account function properly, and I was able to assist you with only that before. However, the Dashboard credentials that I have are still not working properly. If you’d like to check those again and send us another private email, please do. That being said, this is pretty simple to accomplish..With s2Member Pro installed, go to s2Member -> Other Gateways, and activate PayPal Pro. Refresh the page and you’ll have a PayPal Pro Forms option in the s2Member menu on the left side. It’s fine if you don’t have a PayPal Pro account yet, because Free Registration Forms work regardless. You’re not actually selling anything with a Free Registration Form, so no payment gateway needs to be integrated for that to work properly. |
|
Posted: Sunday Jan 13th, 2013 at 11:28 am #37254 | |
![]() |
|
Thanks for reporting this important issue.It sounds to me like these are byte-range requests coming from mobile devices. When you’re trying to reach a large audience and support multiple devices, I would strongly encourage you to integrate s2Member with both Amazon S3 and CloudFront for maximum compatibility where audio/video are concerned. From what you’ve described, it sounds to me like a byte-range request is being performed by a mobile device, and since s2Member’s default WordPress-based file server does not support byte-range requests, the file is being served again from the beginning, instead of from a specific byte-range. In other words, the mobile device is not trying to download the file ONE time, it’s trying to download it multiple times, but starting at different byte-ranges each time, until it gets the entire file. s2Member’s default file server does not support this yet. However, it is supported by s2Member through Amazon CloudFront integration. Dashboard -› s2Member® -› Download Options -› Amazon® S3/CloudFront CDN Storage This has only recently come to our attention, that mobile devices have started making more and more requests like this. While we have every intention of updating s2Member’s default file server to support this, we’re not there yet. Even so, I would still encourage you to integrate with CloudFront for the best experience, from both a site owner’s perspective, and also from a customer’s perspective. CloudFront is going to be faster, more reliable, and more compatible across different kinds of devices. And, since s2Member is already integrated with CloudFront, it’s really a great way to go. Or, if you’d prefer to wait, we’re working to release an update that adds byte-range support to the default WordPress-based file server that comes with s2Member. Hopefully our next update will resolve this for you. |
|
Posted: Sunday Jan 13th, 2013 at 11:07 am #37251 | |
![]() |
|
Thanks for the follow-up :-)
I would suggest that you use s2Member’s Pro Forms for this. Specifically, the Free Registration Pro Form. You’ve probably seen this already. You can generate a Free Registration Pro Form from your Dashboard here. Dashboard -› s2Member® -› PayPal® Pro Forms -› Free Registration Forms What you might NOT realize, is that a Free Registration Pro Form can be configured to terminate access automatically, after X number of days, weeks, months, years. Please take a look here in your Dashboard, at the Shortcode Attributes that are available to use. Dashboard -› s2Member® -› PayPal® Pro Forms -› Shortcode Attributes (Explained) For example, in your case, you need a Free Registration Form that allows people to come in at a Membership Level of (let’s say Level #1) but only for 1 week. If they decide to purchase in that week, they will get bumped up to Level #2, and the automatic expiration will be nullified, because they’ve paid you now. If they don’t, they will simply lose Membership access, and be demoted automatically back down to a Free Subscriber at Level #0. So, the outline I’m suggesting is as follows…
Here is your Free Registration Form Shortcode that allows 1 week at Level #1.
Be sure to change You can create a Pro Form for Membership Level #2 Access here, and charge whatever you like.
If you need to display certain messages, or certain types of forms, or change prices, perform redirections, etc. depending on what Level a Member is currently at, please use Conditionals for this. s2Member supports both Simple Shortcode Conditionals, and it also supports Advanced PHP Conditionals. Once you understand how Conditionals work, you can setup a redirection for Members that login and hit your Login Welcome Page (as configured with s2Member). Upon landing on your Login Welcome Page, you can have a Conditional that detects they’re at Level #0 and redirect them to a page of your choosing. Or, perhaps you could just show them something different on the Login Welcome Page. That would be easier it seems to me. See: Dashboard -› s2Member® -› API / Scripting -› Simple/Shortcode Conditionals Please let me know if you have any other questions/concerns. |
|
Posted: Sunday Jan 13th, 2013 at 10:44 am #37250 | |
![]() |
|
Thanks for the follow-up :-)You can access this via PHP using the s2Member global options array.
|
|
Posted: Sunday Jan 13th, 2013 at 10:39 am #37249 | |
![]() |
|
Thanks for the follow-up :-)The code for the There are several hooks/filters in that file you could use to inject custom snippets of your own before/after each field that is being edited. I would warn you NOT to make any changes to this file directly, because that will make it more difficult for you to upgrade your installation of s2Member in the future, as new versions are released. Instead, I suggest using the hooks/filters in that file to add what you need, if at all possible. Please take a look at the instructions we’ve provided about how to hack s2Member :-) |
|
Posted: Sunday Jan 13th, 2013 at 10:24 am #37247 | |
![]() |
|
Thanks for your inquiry.~ We appreciate your patience :-)
I can’t offer any specific advice about a Q&A plugin, because really, I’ve not spent any length of time testing a bunch of existing plugins for something like this. Generally speaking, I would suggest building something like this for yourself, or with help from a freelancer at sites like Elance.com, where you might find someone you can hire to help with this. I say that, simply because it does’nt sound like anything really complex that you need (e.g. not real expensive), but you ARE looking for some specific functionality, and having a coder helping you, will give you that. s2Member can most definitely be integrated with things like this. Aside from basic Restriction Options in the Dashboard, s2Member also provides both Simple Conditionals, and Advanced PHP Conditionals. We call them advanced, because most aspects of s2Member are point and click. However, the Advanced Conditionals are NOT hard to work with either. For instance, if you have a particular section of your site that needs to be protected (i.e. only YOU can access the form that allows you to answer the question, or something else like this, even if it’s related to a User/Member), you would wrap that section of your site (in the code), with a Conditional expression.
You will find all of the details and documentation on this inside your Dashboard, even in the free version of s2Member. References to this documentation are inside the Dashboard of your WordPress installation.
Dashboard -› s2Member® -› API / Scripting -› Advanced PHP Conditionals
All of s2Member’s API Functions are documented online for developers:
http://www.s2member.com/codex/stable/s2member/api_functions/package-summary/
s2Member supports a whole bunch of different options/scenarios, above and beyond what you see in the UI where the PayPal Button Generator is. Please take a look down below in that same page of your Dashboard, at the Shortcode Attributes. s2Member can certainly handle fixed-term subscriptions for you. See: Dashboard -› s2Member® -› PayPal® Buttons -› Shortcode Attributes (Explained) That being said, it is NOT currently possible to start your customers on a monthly payment plan, where the first year is billed at one rate, and the second year is billed at another. Actually, you could do this, but it would require the customer to stop paying for the original subscription, and then signup again under the new terms for the second year. If you’re looking to make this a seamless transition from the first year to the second, where you’re simply changing the price, it’s not possible to do this with s2Member or with s2Member Pro. This is due to limitations in the payment gateway APIs that s2Member integrates with, and can be attributed mostly to consumer safety. Payment gateways generally don’t like you to setup a billing plan and then change the price on a customer, because that leads to chargebacks and confusion in some cases.
You would just create users manually from the Dashboard so you can login as someone else. From your Dashboard, go to: Users -> Add New, and give them a Role, of whatever Level you want to test as. It’s helpful to setup usernames like “subscriber”, “level1”, “level2”, so you can just login with those test accounts and view things from their perspective. Please let us know if you have any other questions/concerns. |
|
Posted: Sunday Jan 13th, 2013 at 9:54 am #37243 | |
![]() |
|
Thanks for the follow-up :-)I’m not sure I completely understand the question, because the SQL query is in that file. So you can just remove the LIMIT from the end of that SQL query and run it in phpMyAdmin if you like. Or, if you want to just remove the LIMIT from the end of the SQL query in that file, you’ll have s2Member Pro pulling ALL members without any limit, and you would not need to use phpMyAdmin. I’ll do the best I can to answer your question here though.This example assumes that you have a database prefix of “wp_”, which is the default DB prefix.
This example assumes the database prefix is “nnn_”, instead of the default prefix.
This is the SQL query that s2Member Pro uses, which simply pulls all of the User IDs. Then s2Member iterates these IDs and collects/formats additional details for each User as it constructs your export file. If you want more information for each user via phpMyAdmin, you can modify the query to SELECT all columns in the wp_users table, using an asterisk.
I will certainly give this some thought/consideration. Thanks for the feedback! Please let us know if problems persist :-) |
|
Posted: Sunday Jan 13th, 2013 at 9:38 am #37241 | |
![]() |
|
Thanks for your patience.
I will leave the actual course registration itself, and how you present the course itself, out of the equation here. Except to say that I’ll assume that your Course/Event will be accessed from either a Post or Page that is created in WordPress one way or another. There are many WordPress plugins available for this type of thing, or if you plan to create one for yourself, that woud be fine too. s2Member will only help you restrict and sell access to this functionality, it’s not going to provide the actual course or events manager for you. So let’s assume that you have a Post/Page you need to sell access to, which is where a customer gains entry to the Course/Event. As I understand it, this Post/Page would be sold through s2Member, to either a new or existing User/Member of the site, using s2Member’s “Specific Post/Page Access” functionality. If you need to sell this access at different rates, depending upon the current status of a User/Member (i.e. whether they are already paying you for ongoing membership access or not), you would accomplish this using s2Member Simple Shortcode Conditionals. All of this stuff is documented within s2Member, but I’ll post a quick example for you here.
Here are the relevant areas in your Dashboard with s2Member installed. There is also a video tutorial here that covers this additional layer of functionality.
I considered this above.
I considered this above.
This is something you would need to add a counter for. It’s not something that comes with s2Member by default, but it’s not anything difficult to implement either. You can wrap the example I gave above, with an additional check to see how many people have already purchased this in the past. If it exceeds the number of slots you allow, you would display a message, instead of allowing another purchase. When you get to this point, please let us know if you need further assistance. s2Member comes with API Notifications that make this easy to accomplish with just a couple lines of code, and we can certainly help with that. I wish you luck. Please let us know if you have any additional questions/concerns. |
|
Posted: Sunday Jan 13th, 2013 at 9:20 am #37240 | |
![]() |
|
Investigation completed – thanks for your patience.I just ran the same test you did, together with the shortcode conditionals as well.
If I login as a Free Subscriber, I get:
If I login as a Level #1 Member, I get:
In short, I’ve been unable to reproduce this on a clean WordPress installation. It sounds to me like your Roles/Capabilities might have become corrupted in some way. Or, I suppose it’s possible that you have another theme/plugin conflicting with s2Member in some way? Possible solutions.
Please let us know if problems persist :-) |
|
Posted: Sunday Jan 13th, 2013 at 4:45 am #37236 | |
![]() |
|
Thanks for the follow-up :-)I’m continuing to investigate this. Thanks for your patience.
No, that’s fine to do that. QUESTION: Is the Amazon S3 Bucket (tied to your s2Member installation), or the CloudFront Distributions (tied to your s2Member installation), or any other part of your Amazon Console or API being accessed by another service or system? For instance, how do you access the Amazon S3/CloudFront Console when you’re working with your files? Do you use the Amazon website, or another software application? Do you have any other websites interacting with these files? |
|
Posted: Sunday Jan 13th, 2013 at 4:40 am #37235 | |
![]() |
|
You’re VERY welcome!I’ve addressed your other ticket, so we can continue our conversation there on that topic. |
|
Posted: Sunday Jan 13th, 2013 at 4:38 am #37234 | |
![]() |
|
Thanks for reporting this important issue.Please submit a copy (or sample) of the export file you’re actually working with, so we can understand the problem better. It sounds like there could be a problem on your installation, so if we see the export file that you’re dealing with, it might shed some light. Thanks! Please submit the export CSV file privately. |
|
Posted: Sunday Jan 13th, 2013 at 4:34 am #37233 | |
![]() |
|
Thanks. I’m reviewing this now and I will get back to you shortly.
~ Thanks for your patience. |
|
Posted: Sunday Jan 13th, 2013 at 4:30 am #37231 | |
![]() |
|
Thanks for the follow-up :-)Sure :-) Thanks again for reporting that.
Yes. Please check this section of your Dashboard for full details. Excerpt from that section…image="default" Button Image Location. Or use your own custom button image :-)
|