Page 1 of 1

Custom Capabilities and Subscription Modifications

PostPosted: January 5th, 2011, 7:58 am
by svenl77
I use Custom Capabilities to sell my software products. I do it exactly like in the video described.
All paid members are level 1 and the packages are created via Custom Capabilities.

So I generate paypal buttons like this:

product no updates
product + updates 3 month
product + updates 6 month
product + updates 1 Year

All is great so far, but now I'm getting into big trouble providing updates for a product.

If a user bought the product without updates, and then wants to get updates, he needs to buy the product again with updates, instead of just paying for the update and not the product again. There is no way, just to buy updates for a product.

If I want to offer updates, I need to know if a user has already payed the Custom Capability in the past.
In this case, I would like to show update buttons, instead of buttons to pay the full price again.

under Scripting / Content Dripping , I have found
S2MEMBER_CURRENT_USER_PAID_REGISTRATION_DAYS
s2member_paid_registration_time ();
s2member_paid_registration_time ("level1");

but this doesn't help me,
I need something like s2member_paid_registration_time ("Capability");

I know how to ask, if a user has a Custom Capability
current_user_can("access_s2member_ccap_music")

but I need to know, if a user had a Custom Capability in the past. Also if he does not have this Capability anymore.

Otherwise I cannot show this members update buttons instead of the full price buttons. And I need to offer this. My customers are asking this question. They are wondering how they get their product updates.

Looking forward that someone can help me.
Thanks Sven

Re: Custom Capabilities and Subscription Modifications

PostPosted: January 6th, 2011, 12:12 pm
by Cristián Lávaque
From what I could find going into the database and searching this forum, it seems s2Member doesn't store custom capabilities times. It only stores the times available with the constants.

One solution suggested was to add a time stamp as a custom capability.

viewtopic.php?p=2620#p2620

But in your case it doesn't help cause they already haven't got it. You could fix it going and adding them by hand to all your members from your payment logs in PayPal, though.

And I couldn't find a log that shows when custom capabilities were had and expired, which is a more advanced thing than just having the custom's last creation time.

It looks like it'd be good to store the time of any change that affects access to content, historic and current, to have much better control over time related access.