Community Support Forums — WordPress® ( Users Helping Users ) — 2011-11-03T12:16:39-05:00 http://www.primothemes.com/forums/feed.php?f=4&t=15597 2011-11-03T12:16:39-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=50915#p50915 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Thanks for the follow-up.
kennymcnett wrote:
Jason, this is working wonderfully. What's the best way for me to future-proof it against updates? I'm already faced with wanting to update to the latest version (for the download counts--very excited about those!!), but I'll lose this change and have to re-make it each time I update.
So sorry, there's really no Hook/Filter available in this regard yet. The hack I posted above would need to be done through a direct edit of s2Member's source code in this case. So, not really a way to future proof this modification. Although a future release will include this functionality, so you shouldn't need the hack in the future. See also this article on the best ways to hack s2Member: viewforum.php?f=40#src_doc_overview_description

Statistics: Posted by Jason Caldwell — November 3rd, 2011, 12:16 pm


]]>
2011-11-02T16:34:46-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=50827#p50827 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Statistics: Posted by kennymcnett — November 2nd, 2011, 4:34 pm


]]>
2011-10-26T02:17:19-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48835#p48835 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Statistics: Posted by kennymcnett — October 26th, 2011, 2:17 am


]]>
2011-10-25T17:37:10-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48792#p48792 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Thanks for the follow-up.

Yes, I definitely understand what you're running into. You're not the first to report this either. Independent Custom Capabilities are a relatively new feature for s2Member, and while the structural design for Independent EOT Times has also been implemented, it's not 100% ready to go yet.

This IS definitely something that's coming before the end of 2011 though. It's the top thing on our TODO list at the moment, along with other improvements related to EOT Times and email notifications.


There is NOT currently a way to hack s2Member in this regard. At least, NOT without modifying the source code directly. However, given the updates coming soon in this area, I wouldn't fret too much over that; because you're going to see new UI panel controls over this aspect of s2Member in a future release.

Until then, here is how you can deal with your immediate issue.

Open this file in your installation of s2Member v111017:
/s2member/includes/classes/auto-eots.inc.php, at line #148 find this section of code:
Code:
foreach ($user->allcaps as $cap => $cap_enabled)
    if (preg_match ("/^access_s2member_ccap_/", $cap))
        $user->remove_cap ($ccap = $cap); 
And comment this out to achieve what you need:
Code:
#foreach ($user->allcaps as $cap => $cap_enabled)
    #if (preg_match ("/^access_s2member_ccap_/", $cap))
        #$user->remove_cap ($ccap = $cap);                 
* This way Custom Capabilities are NOT lost during an EOT event. They will remain.


Moving forward, please keep an eye on our Changelog with each update. When this is ready-to-go, we'll make a prominent announcement in the Changelog, and also here: viewforum.php?f=46

Statistics: Posted by Jason Caldwell — October 25th, 2011, 5:37 pm


]]>
2011-10-24T13:58:27-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48673#p48673 <![CDATA[Re: Can't crack the structure I need here. Help?]]> actually independent, since they are affected by an EOT regardless of whether that ccap was purchased in conjunction with the level subscription that has the EOT. I've really wanted to use s2member and I've dived in deep integrating it into my wordpress site by writing automated button creation and ccap permissions.

But, unfortunately, it looks like s2member isn't quite ready to accommodate the setup I need. (I really hope I'm wrong.)

I've been able to refine the scenario explanation a bit. Here's what I need:
1. Sell individual posts (using a ccap, one-time payment, lifetime access)
2. Sell access to all of those posts (subscription level, recurring payment)
3. Sell access to a separate group of posts, not included with a subscription from #2. (ccap, one-time payment, lifetime access)

The problem is this, for example: A customer purchases some posts individually, then buys a monthly subscription access. After a month, they decide not to renew their subscripion, so it hits an EOT. What the user would expect to happen is that their account reverts to a Level 0 account and retains the ccaps they purchased previously (before becoming a subscriber). But what really happens is that the EOT triggers the loss of all ccaps, and now they're mad because they don't have access to what they already paid for.

Even if I could that issue, the second problem is, for example: A monthly subscriber with recurring payments decides to purchase #3, a ccap for another group of posts not included in their subscription. Then they don't renew their monthly subscription, so their account hits an EOT. Because of the EOT, the ccap they purchased while a subscriber is now lost, resulting in an angry customer.

I sure hope I'm wrong because I love the flexibility of s2member, but I can't see a way around it. I've been digging in for weeks now and I'm at my wit's end.

If there's not out-of-the-box solution, is there a way I can turn off the loss of ccaps with an EOT (that won't be overwritten with future upgrades to s2member core files)?

Thanks, Jason.

Kenny

Statistics: Posted by kennymcnett — October 24th, 2011, 1:58 pm


]]>
2011-10-22T17:04:29-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48568#p48568 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Thanks for the follow-up.

The term "Primary Subscription" in this context is referring to
the Subscription ID that s2Member records in the Customer's Paid Subscr. ID field ( screenshot below ).

Specific Post/Page purchases, and Independent Custom Capability purchases are one-off purchases, and s2Member will not record a Paid Subscr. ID for those types of transactions. A Paid Subscr. ID is only recorded by s2Member, when/if a Customer pays you for Membership "Level-based" access.

SNAG-0051.png
When we refer to a "Primary Subscription" in this context, we're talking about any payment plan that a Customer signs up for, which provides the Customer with Membership "Level-based" access to your site, on a fixed-term, recurring basis, or is otherwise connected to a possible EOT ( End Of Term ) event.

For instance, if a Customer is paying for Level #1 access on a monthly basis; they might cancel at some point in the future, which would result in an EOT ( End Of Term ), and an EOT event will cause a loss of all Custom Capabilities. Or, if you sell a Customer Buy Now access to Level #1, good for 6 months only, an EOT event would be triggered six months later, also causing all Custom Capabilities to be lost.

Rule of thumb. If your Customer is going to trigger an EOT event, they will eventually lose all of their Custom Capabilities, whenever the EOT event occurs. Otherwise, they will have their Custom Capabilities forever. Upgrading/downgrading from one Memership Level to another does NOT cause a loss of Custom Capabilities. The only thing that causes a loss of Custom Capabilities, is an EOT event.

Statistics: Posted by Jason Caldwell — October 22nd, 2011, 5:04 pm


]]>
2011-10-21T18:29:41-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48549#p48549 <![CDATA[Re: Can't crack the structure I need here. Help?]]> first subscription, then I'm in the clear because their ccaps will never expire unless they cancel their account completely, even if they upgrade/downgrade to other tiers. However, if their Primary Subscription is equal to whatever their current membership level is at the time they purchase a Buy Now ccap, then I see they would lose that ccap if they modified their subscription level.

So, back to the question: what is the "Primary Subscription" exactly?

Thanks!

Statistics: Posted by kennymcnett — October 21st, 2011, 6:29 pm


]]>
2011-10-21T17:42:53-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48540#p48540 <![CDATA[Re: Can't crack the structure I need here. Help?]]>
kennymcnett wrote:
I've sort of worked out another solution, but I still have the ccap downgrade question:

If a user has ccaps purchased via Buy Now buttons while a Level 1 subscriber, and that user downgrades his account from Level 1 to Level 0, does the subscriber lose those Buy Now ccaps?

This is VERY advanced. For further details, please check your Dashboard:
s2Member -> API Scripting -> Custom Capabiities.

Dashboard, see: s2Member -> PayPal Buttons -> Independent Custom Capabilities
With s2Member, you can sell one or more Custom Capabilities using Buy Now functionality, to "existing" Users/Members, regardless of which Membership Level they have on your site ( i.e. you could even sell Independent Custom Capabilities to Users at Membership Level #0, normally referred to as Free Subscribers, if you like ). So this is quite flexible.

Independent Custom Capabilities do NOT rely on any specific Membership Level. That's why s2Member refers to these as `Independent` Custom Capabilities, because you can sell Capabilities this way, through Buy Now functionality, and the Customer's Membership Level Access, along with any existing paid Subscription they may already have with you, will remain completely unaffected. That being said, if you intend to charge a recurring fee for Custom Capabilities, please use a Subscr. Modification Button instead; because Independent Custom Capabilities can only be sold through Buy Now functionality.

Related specifically to your question... ( the answer is yes )
Independent Custom Capabilities are added to a Customer's account immediately after checkout, and the Customer will have the Custom Capabilities for as long as their Membership lasts, based on their primary Subscription with your site, and/or forever, if they have a Lifetime account with you.

In other words, Independent Custom Capabilities will exist on the Customer's account forever, or until an EOT ( End Of Term ) occurs on their primary Subscription with you; in which case s2Member would demote or delete the Customer's account ( based on your EOT configuration ), and all Custom Capabilities are removed as well.

Statistics: Posted by Jason Caldwell — October 21st, 2011, 5:42 pm


]]>
2011-10-21T14:13:03-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48524#p48524 <![CDATA[Re: Can't crack the structure I need here. Help?]]> viewtopic.php?f=4&t=15423&p=44833&hilit=conflict#p44833

Hope this helps. :)

Statistics: Posted by Eduan — October 21st, 2011, 2:13 pm


]]>
2011-10-21T14:01:04-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48521#p48521 <![CDATA[Re: Can't crack the structure I need here. Help?]]>
If a user has ccaps purchased via Buy Now buttons while a Level 1 subscriber, and that user downgrades his account from Level 1 to Level 0, does the subscriber lose those Buy Now ccaps?

Statistics: Posted by kennymcnett — October 21st, 2011, 2:01 pm


]]>
2011-10-21T13:58:52-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48518#p48518 <![CDATA[Re: Can't crack the structure I need here. Help?]]> Statistics: Posted by kennymcnett — October 21st, 2011, 1:58 pm


]]>
2011-10-20T23:01:32-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48462#p48462 <![CDATA[Re: Can't crack the structure I need here. Help?]]> http://www.s2member.com/specific-posts-pages-video/

Statistics: Posted by Eduan — October 20th, 2011, 11:01 pm


]]>
2011-10-20T17:05:49-05:00 http://www.primothemes.com/forums/viewtopic.php?t=15597&p=48425#p48425 <![CDATA[Can't crack the structure I need here. Help?]]>
Scenario:
1. Sell single post access each for 4 days.
2. Sell "Special" access to some posts forever (or for a time limit--say, 30 days--it doesn't matter).
3. Sell "Premium" access to all posts--*except* "Special" posts--for 60 days.

My solution
1. Needs an EOT, so I have to use a subscription modification button + ccap. It goes from (Level 0) to (Level 1+ ccap).
2. PROBLEM: Need to use a ccap for "Special", I don't see how to limit this to 30 days without affecting the ccaps from #1. If I use a Buy Now ccap for this, and the user is currently Level 1, it will disappear when the user downgrades (which is automatically 4 days after a #1 purchase). Alternately, if I use a sub mod button + ccap, the ccaps from #1 will last as long as #2 is in effect.
3. Upgrade via sub mod button to Level 4. My php grants access to any post if the user has Level 4 and the post does NOT have the #2 "Special" ccap. Alternately, I could make this just like #1, but with a one-year EOT.

Downgrading is a problem because it causes the ccaps to disappear. If a user buys a ccap at Level 1, then later upgrades to Level 4, then downgrades back to Level 0, does the user keep the ccaps? What if they downgrade back to Level 1?

What am I missing here? Thank you in advance!

Statistics: Posted by kennymcnett — October 20th, 2011, 5:05 pm


]]>