Membership plugin 1.0 RC1

Hi gang

I have just uploaded the RC1 of the Membership plugin. It is available for download from here:
https://premium.wpmudev.org/project/membership

Updates in this version:
1. hooks, hooks and more hooks - almost every action during the life of a member on the site can be hooked into.

2. Dashboard charts and news - a nice tidy up of the dashboard screen to hopefully show some more useful information about what is happening in your site. For the developers amongst you, the news stream has been written as a standalone membership plugin solely using the hooks I mentioned above in 1., as an example of what can be done, and how.

3. Downloads - downloads are now protected on a "group" level. You can set up as many groups as you want in the options screen (in much the same way as you can with shortcodes), and then assign protected media / files to a group. Access (or not) to the groups is then controlled in the downloads rule.

4. BuddyPress - Two initial BuddyPress rules (for those with it enabled) all you to control the visibility of groups and blogs. These rules also remove any mentions of invisible groups / blogs from the activity streams. I hope to be adding more buddypress rules as we go along, and as I decipher more of the buddypress core code.

5. Bug fixes etc, etc... - The usual killing of bugs and tidying up of code.

Anyway - grab, upload and play. Just replace the existing membership files and it should carry on as before. No need to delete tables or anything like that.

Post below with any issues / problems you find.

Thanks
Barry

  • Kirk Ward
    • Syntax Hero

    Mine seems okay ... maybe in the wrong folder? @DamianEdwards - There are two sets of instructions, one for the mu-plugins folder and one for the plugins folder. The instructions may need to be reformatted. Mine did not have any line breaks, so it was hard to read until I separated the sentences.

  • Sue
    • Recruit

    No problem Lance but Barry is definitely the one that deserves all the credit. He has developed an awesome plugin and his instrucitons / documentations have made it considerably easier for me pull together the information on how to use it,

  • David Payne
    • Site Builder, Child of Zeus

    Barry,

    I noticed the two initial Buddypress rules that are available and I also remember you mentioning there would be a lot of additional plugins that will be able to tie right into the Membership Plugins. What else did you have in mind for Buddypress? Are you currently working on this? Could we start a thread about ideas and suggestions for additional Buddypress options?

  • glencarlson
    • New Recruit

    I've been testing this in PayPal Sandbox. Overall very impressive. I had one question - when a user deletes their Buddypress account, will the recurring subscription continue to bill unless they actually log into PayPal and cancel it? That's the way it seems to be working now, so I'm a little hesitant to take this live. Is there a setting I'm missing, a workaround, or is this a feature that will be coming soon?

  • kussner
    • New Recruit

    I have been trying to get this plugin to work for hours and I am very frustrated. I have created a register page with the shortcode [subscriptionform] but there is no option to select free or paid subscriptions. I have added a free and paid level and subscription but I can't figure out how to make this show up on the site anywhere. I must be missing something but I have been through the documentation and can't find anything. I am using WordPress 2.9.2 and Buddypress 1.2.4.1 with the default BP theme. If you are logged in as a registered user, when you click on the register page, the home page is shown, I would expect it to show the paid subscription paypal button. If you are not logged in, it shows you the registration form but does not show you any options for your membership level. My gateway is configured and I just can't figure out how this is supposed to work. Any help would be much appreciated. This plugin is indicated for WP 2.9.2, but all of the documentation seems to indicate WPMU, which is quite frustrating as well.

  • dubya
    • The Incredible Code Injector

    Great plugin. Thanks Barry.
    The addition of instructions really helped me to wrap my head arround the underlying concepts.

    1 request and 1 problem:

    The request is for more buddypress intergration. I would like to be able to hide all buddypress components from "guests". Or at the very least, to be able to hide the members.

    The problem is with short codes. I have created several levels including "free" and "member". Then created a post like so:This is a test.
    [member]

    This is hidden from non-members

    [/member]

    [free]

    This is not hidden from non-members

    [/free]
    Yet, as you can see here, nothing is being hidden.
    So far, everything else (catagories, bp components, etc...) seems to work as advertized, I'm really quite impressed. I just can't get the short codes to work.
    I ass/u/me that I am missing something.

  • dubya
    • The Incredible Code Injector

    OK. I think I figured out the shortcodes... There is a hiarchy... It seems that the lower level shortcodes must be placed before higher level ones.
    edit: <strike>Now the hidden content has been</strike> Now sexybookmarks has been replaced with a series of dots and underscores though (see my link above). Oh well, no longer critical.

    As for tha catagories: switching from the bp default to the bp community theme seems to have made a difference. Although the hidden catagories (and the titles of the posts therein) are still visible, I am now getting a permission denied message when trying to access the posts as a guest.

    This is not ideal for one of my projects as I don't want to tease. Is there a way to make hidden posts completely hidden from non members? Basically, I need exclusive content for a privileged few that the rest of the world should not be getting so much as a hint of it's existance. No upselling, just private and public. Is this possible with this plugin? Or am I still missing something?

    edit: sorry, I should have mentioned that I'm running wp3rc2 & bp1.2.4.1

  • Aaron
    • CTO

    @glencarlson With paypal standard payment/subscription buttons they don't allow you to cancel subscriptions programatically. They only way is for them to login to paypal and do it. You can create a special link or paypal unsubscribe button that essentially just takes them to the proper paypal page.

  • Barry
    • DEV MAN’s Mascot

    When I can get wifi, I'll pop on here to check for serious issues in case they pop up.

    @dubya - the protected posts shouldn't be available or viewable via any location as we are explicitly excluding them from the results returned to wp - can you post more details of your levels set up? Are you using a combination of categories and posts rules as sometime these can conflict?

    Also, the short codes should be usable in any order, even embedded within each other, so again would be interested to see some details of your set up here, so I can try to work out what's going on / or not.

  • Barry
    • DEV MAN’s Mascot

    @kisser - have you set the registration page option in the membership options panel. If you don't tell the plugin which page is the registration page then it will treat it as a normal page and protect it.

    The subscription form will display a registration form if a visitor is not logged in or registered. Once they have completed that, the second page shows the selection of subscriptions available to them.

  • glencarlson
    • New Recruit

    @Aaron Thanks for the heads up. Now, how about the other way around...if a user registers and gets a member subscription, then goes into PayPal and cancels the subscription, will their account be denied members-only access once the subscription period ends? Also, what happens to their Buddypress profile and user-created content in this case?

  • Leo
    • Flash Drive

    Barry great work also on the plugin. I was talking to Aaron today about some concerns that I had and something I wanted to do. I would like to create 3 different packages, and I am not sure how the rules on "membership" would allow me to do this.

    Level 1 - Restrict Blog Creation
    Level 2 - Allow Blog Creation
    Level 3 - Allow Blog Creation + Premium Themes + Premium Plugins

    As you can see I pretty much have set up a 3 level package, I am stuck in a place where it looks like membership wont do blog creation restrictions, and where supporter only allows me to do 1 level package. Is that something that can be set up creating rules on the "Membership Plugin"?

    Let me know what you think.

  • dubya
    • The Incredible Code Injector

    @Barry
    Thanx for the response.
    I've put the catagories widget back on the main page so you can see for yourself.

    Ok... on this test site, I have 4 levels: guest, member, executive and admin. Lets just deal with the first two.

    guest has the following positive rules:
    Catagories: free, uncatagorized
    Downloads: freeonly
    Shortcodes: [wp_caption], [caption], [gallery], [embed] and [free]

    member has the following positive rules:
    Catagories: same as guest + premium
    Downloads: same as guest + memberonly
    Shortcodes: same as guest + [member]

    There are no page or negative rules.

    I'm not sure what else you might need. This is just a test site, so let me know if you would like an admin account.

  • bradpalmore
    • Site Builder, Child of Zeus

    I've installed this and am working on setting up subscriptions. Two questions, one issue:

    Q1: In creating subscriptions, is this supposed to all us to offer trial periods that lead to regular subscriptions? For example, if I put a finite subscription level in for 1 year at $100 followed by a serial subscription for $200 per year, would the transaction be processed as $100 for the first year followed by $200 for every year after?

    Q2: How do I increase the amounts in the price area? It currently maxes out at $300 and I need it to be at about $650.

    Issue1: In playing with setting up subscriptions I took Paypal live. When I click the "subscribe" link from the sign up page using the subscriptionform tag I get this message from Paypal's site:

    Invalid Regular period. You must specify valid values for the A3, P3, and T3 parameters for a subscription.

    Any idea what that means?

  • bradpalmore
    • Site Builder, Child of Zeus

    By the way, the error above occurs when the subscription is set to either finite, indefinite, or serial with the period set to 365 and the price set to 300. Subscription is active and public. Subscription includes only one level, and the level is active.

  • rnz
    • Design Lord, Child of Thor

    Hi - Great looking plugin but I'm hoping you can help me out with a payment gateway issue please.

    I see there's only one gateway right now, PayPal Express. When I activate that and take a look at the settings, there's no option for Paypal New Zealand (I use https://www.paypal.com/nz) and I'm forced to select USD. That doesn't seem right.

    I've attached what I see on this screen. Is there a way to change it to NZ dollars and to the NZ PayPal site please?

    Many thanks
    Richard

  • bradpalmore
    • Site Builder, Child of Zeus

    Barry - Not sure what you mean by having a "min" set. However...

    If I create a subscription that begins with finite and then goes to serial the subscription works if I set the finite period to 90 days or lower. If I set the finite period for more than 90 days I get the error.

  • rnz
    • Design Lord, Child of Thor

    Hi All

    I'm having trouble with the shortcode that I'm adding to portions of a page to protect content, i.e., to limit content within the shortcode to those belonging to a particular membership level.

    I've added the name of the shortcode in the Edit Options page, I've set up a membership level that has a positive rule with the shortcode I'm using for this level checked, and I've used that shortcode to protect content on a page, but instead of the content being protected, the shortcodes are appearing with the protected content appearing between them.

    I suspect I'm missing something here but try as I may I'm not finding it. Has anyone else experienced this problem. Can anyone help please? I'm running WP3.0 RC1.

    Thanks
    Richard

  • rnz
    • Design Lord, Child of Thor

    @Bradpalmore: Thanks for the idea; perhaps unfortunately, though, the plugin is already enabled. By the way, I'm experiencing precisely the same issue as you in relation to both guests and users not being able to see the sign up page. I've emptied the browser's cache but it makes no difference.

    @Barry: Another problem I'm now having, for a new member that I've allocated to a premium member level, is that while the "[premium]" and "[/premium]" shortcodes are now not showing for that member, the Gravity Forms shortcode between those shortcodes is showing, instead of the Gravity Forms form itself. It's as if the shortcode within shortcode approach isn't working. I notice that it's not possible to create a positive rule for such non-Membership-plugin shortcode. Could that be the problem?

    For me, the ability for the Membership shortcodes to surround other shortcode is fundamental.

    In addition, a separate page containing a different form (which I've not wrapped in shortcode, but I've include the page in the member level's positive rules) is not showing the form at all. Just like the subscription page, it's saying there is no access to the page.

    Please help!

    Many thanks
    Richard

  • rnz
    • Design Lord, Child of Thor

    @Bradpalmore: I see what you mean about the shortcodes. When I set the "Shortcode visibility default" to "No", it strips away access to the Subscription form on the subscription page, as well as any other shortcode from other plugins. I have no idea why.

  • monica
    • Design Lord, Child of Thor

    Fatal error: Call to a member function has_cap() on a non-object in /home/monicame/public_html/wp-content/plugins/membership/membershipincludes/classes/membershippublic.php on line 187

    Screen of death on plugin activation. Any idea what I fricked up and how I can fix it?

  • Barry
    • DEV MAN’s Mascot

    @monica - a. what version are you running on (wp), b. what user are you logged in as.

    public (the class with the error in your message) shouldn't be called at the admin interface, so that's a bit confusing to me :slight_smile:, but also to get to the error line in the message the plugin has already gone past two has_cap calls on that object, which is doubly confusing :slight_smile: but these things are sent to test us.

  • Barry
    • DEV MAN’s Mascot

    @glencarlson - if they cancel their subscription in paypal, then they will remain having access to the site until the current subscription they are on expires, so as an example:

    user subscribes to a monthly membership and cancels 15 days in, they will remain a member until their month is up and then will be removed from the subscription - i.e. they've paid for 30 days, and that's all they get.

    if a users disputes a payment, or tries to perform a chargeback via their card (and thus via paypal), their account is immediately deactivated (they can no longer login). The subscription remains in place, but they can't utilise it - this is so you can contact them, let them know what has happened and then if they cancel the dispute or chargeback, you can reactivate them from where they left off (minus the amount of time that passed while they were in dispute).

    Hope that helps.

  • Barry
    • DEV MAN’s Mascot

    @rnz - the currency is fixed (just for display) in the paypal express gateway options at the moment as I thought a global currency setting would be more advisable than having a conflicting pricing option between gateways, I'm going to re-visit this in an update.

    I will add in some more paypal sites as well.

  • Barry
    • DEV MAN’s Mascot

    @bradpalmore - from above:

    Q1: In creating subscriptions, is this supposed to all us to offer trial periods that lead to regular subscriptions? For example, if I put a finite subscription level in for 1 year at $100 followed by a serial subscription for $200 per year, would the transaction be processed as $100 for the first year followed by $200 for every year after?

    Yes, your finite level will run for the 1 year, then the 200 will be charged and repeatedly so for every year after that.

    Q2: How do I increase the amounts in the price area? It currently maxes out at $300 and I need it to be at about $650.

    I will add a "maximum" amount option to the plugin, but for the moment it's on lines 456 and 532 of class.subscription.php in membershipincludes/classes

  • Barry
    • DEV MAN’s Mascot

    @bradpalmore - can you post the details of the levels you have in the subscription that causing the prob (screen shot will do if you can fit them all in) - it might be easier to see if I can spot something quickly.

    Other than that - on the page with the subscription buttons that has the problem - do a view->source and save it to a text file, zip it up and attach here (or start a new thread in the members only forum and I'll grab it from there).

  • bdonaghy
    • Site Builder, Child of Zeus

    Great plugin Barry. Comes at a perfect time.

    When I try to set up a membership level and drag the pages, categories and shortcodes to the positives rules not all of them show up. For example, I drag over the page list and it only lists 10 of my 40 pages.

    Do we need to create a global table for this plugin?

  • Barry
    • DEV MAN’s Mascot

    The plugin will automatically create the tables it needs to operate - the page rule is limited to a set number (I think it's supposed to be 25) but it's easily changed, I'll check and post the quick hack here, but will aim to put a more flexible limit in the updated version.

  • bdonaghy
    • Site Builder, Child of Zeus

    @Barry
    Thank you that worked perfectly! One more thing though, for every post that we write, will we have to go in and edit the levels and set that post to be seen? I had to do that for the latest post I did and was wondering if there's any way to avoid this?

    Thanks again

  • bradpalmore
    • Site Builder, Child of Zeus

    @bdonaghy

    I'd recommend not using posts in the permissions. Use categories or shortcodes instead, as thus will allow you to group them into larger permission levels. If you use posts in the levels you will have to authorize each post after you've published it.

  • swingjazz
    • WPMU DEV Initiate

    Barry,

    This plugin is amazing. I am trying this nice plugin since this morning.

    I live in a developing country, not many of my users have PayPal and CreditCard. Can my users pay by using other payment methods?

    Thank you very much

  • Barry
    • DEV MAN’s Mascot

    @bradpalmore - yes, there is an affiliate plugin add-on coming to link with membership.

    @bdonaghy - is there a link to a second page? can you check the feed to make sure it's not your theme that is preventing the rest being displayed? Can you spot any commonality between the shown (and not shown) posts?

    @swingjazz - more payment gateways are coming - along with some docs and guides on how to create your own / add in others - hoping that between a lot of us, we can cover pretty much all available payment methods (maybe not mailing pebbles in jiffy bags though :slight_smile: )

    @all - update coming after the weekend with a quite a few of the issues in this thread sorted / fixed / changed.

  • Barry
    • DEV MAN’s Mascot

    @bradpalmore - I've got a sneaky suspicion of what the problem is, just trying to confirm it, but I think the get posts wordpress function is defaulting to the settings in Reading settings in the WP options, and not taking my overridden number.

  • Barry
    • DEV MAN’s Mascot

    @bradpalmore - it turns out it's a paypal limit for the number of days which i overlooked, the version going up on monday has a "unit" drop down to select weeks, months or years to enable more flexible (and longer than 90 day) periods.

  • Solari
    • Design Lord, Child of Thor

    I don't know where to post this so I hope this was the right spot since it has to do with this plugin anyway...

    We are in the middle of launching a national network of sports sites using WP multisite and the majority of these sites will charge for subscriptions. I've been exploring a variety of solutions/plug-ins to handle this and this one looks promising. I do have some questions that I hope can be answered, though:

    1) Since we are a network of sites using multi-site, is it possible for members who pay for a subscription to site A can also get access to all the other sites on the network EXCEPT certain areas restricted for site members only? I.e. Site A has a private set of forums only for Site A members so that everyone else can't read them. The rest of the forums on Site A are open to all though.

    2) Can each site have their own processor? Some of us use PayPal. Some use Authorize.net, etc. Is it possible to let each site handle their own this way but still provide access throughout the network?

    3) In lieu of #2 above, maybe I need to expound a bit further -- it's our goal to have an national network of sites as in a co-op fashion where each site has their own subscription responsibilities i.e. merchant/processor, but ties into the network system so that customers at site A can access site B (except private forums as explained in #1). Is this possible?

    4) Speaking of processors, we will need one for Authorize.net and/or Netbilling. Is there anyone who can do this for us if we end up using this platform?

    Thanks!
    Ray

  • James Farmer
    • CEO (of WPMU DEV, honest)

    Barry can answer these better than I can, but I'll give it a crack :slight_smile:

    1) Since we are a network of sites using multi-site, is it possible for members who pay for a subscription to site A can also get access to all the other sites on the network EXCEPT certain areas restricted for site members only? I.e. Site A has a private set of forums only for Site A members so that everyone else can't read them. The rest of the forums on Site A are open to all though.

    - The plugin is designed so that each individual site can be it's own membership site, rather than have multiple membership status across different sites. However, your example should be just fine... basically you make one set of forums on site A members only and the others open to anyone.

    2) Can each site have their own processor? Some of us use PayPal. Some use Authorize.net, etc. Is it possible to let each site handle their own this way but still provide access throughout the network?

    - Yes, each site should be able to choose their own processor.

    3) In lieu of #2 above, maybe I need to expound a bit further -- it's our goal to have an national network of sites as in a co-op fashion where each site has their own subscription responsibilities i.e. merchant/processor, but ties into the network system so that customers at site A can access site B (except private forums as explained in #1). Is this possible?

    - This is trickier - basically you'll have to create a set of rules (I believe that the plugin can do this) that says that use4rs must be logged in in the first case and then logged in + members in teh second.

    4) Speaking of processors, we will need one for Authorize.net and/or Netbilling. Is there anyone who can do this for us if we end up using this platform?

    - We're planning on adding authorize.net and PayPal Pro (and Amazon too I think) in a bit, no ETA though I'm afraid.

  • Barry
    • DEV MAN’s Mascot

    @bdonaghy - what are your permalink settings? The plugin changes the URL for images to a "pretend" one so it can protect those it needs to at a later point. Can you check the settings for download /media protection in the options. And also check that the image url looks ok in the source.

    When you say

    when I go to the image url, it says the page isn't found

    Do you mean the orig url (WP one) or the one displayed in the HTML (the pretend one)?

  • bdonaghy
    • Site Builder, Child of Zeus

    Is there a way I can show the subscribe button in other places to get them to paypal. Some users sign up for an account and then back out of paypal. I would like to to put a paypal button for those who have a login but can't see certain parts because they haven't paid yet. So in the member's area I would like to have something like...Can't see everything? Have you paid yet? and a link to finish their payment

  • Shea Media
    • WPMU DEV Initiate

    Hi Barry,

    This plugin rocks! Thanks for making it available. I've run into a small issue with the redirect on restricted pages. When I installed the plugin I made two existing pages restricted for visitors. When accessing the site as a visitor, rather then redirecting to the specified Protected content message page they trigger a browser error:

    Too many redirects occurred trying to open “http://#######.com/member-directory/”. This might occur if you open a page that is redirected to open another page which then is redirected to open the original page.

    This happened in FF and safari. Different error but same general message. I tried restricting other pages to see if the error was just happening in these instances and they also triggered this error. I also tried deleting the pages and recreating them (post plugin install) with a new title and url, but this didn't solve the issue.

    Any thoughts on how to troubleshoot this? Could it be a conflict with the WordPress permalinks rewrite in htaccess?

  • Shea Media
    • WPMU DEV Initiate

    Hi Barry,

    I'm also having problems with the short-code. Here is an image that shows the problem ( http://www.sheamediaco.com/shortcode.jpg ) . Using short-codes works great if your a visitor, but the minute you're logged in the shortcode in not having any effect. I think someone else had the same issue on another thread and I know that there are some questions on this thread also. Has anyone found a workaround for this?

    In addition, I have used your hack from earlier in the thread to set the cost to more then $300, but I need to also set the duration to 1 year. Could you let me know if there is away I could physically set this in class.subscription.php or elsewhere?

  • info@sbemedia
    • Flash Drive

    When trying to create user on sub-blog i get this error!

    Fatal error: Call to a member function get_error_message() on a non-object in /home/sbesitec/public_html/wp-content/plugins/membership/membershipincludes/classes/membershippublic.php on line 848

  • info@sbemedia
    • Flash Drive

    I am trying to create a user through the signup page using short code as plug in instruction states. it gives the sign up form, but when you click register my account. you get the error code I referred to

    I am running wordpress 3.0 set up as an mu site. the blog in question is a sub blog.

  • dubya
    • The Incredible Code Injector

    @Barry: Keep up the fantastic work! Cheers!
    I'm looking forward to the next build... and keeping my fingers crossed that as well as a few fixes (addressing issues documented above), additional BuddyPress components will be added to the mix.

Thank NAME, for their help.

Let NAME know exactly why they deserved these points.

Gift a custom amount of points.