calmoim3 wrote:
boRg,
I wish I had found this thread sooner. We tried to do this on our own and wound up locking everyone out! Ouch.
Is there a way to make membership and forum access time limited? We are setting up a support forum that will be subscription based and we were planning to require authorization for new members, then track subscription status manually. Upon expiration, we plan to send a tickler email, and if the user declines remove them from the forum.
This adds a couple of layers I would just as soon not administer.
Is there a better way?
thanks |
If I am understanding what you want correctly, there are a couple ways to do it:
If you are using your own login system and using Borg's method of integration you can do this:
- In a table in the database you will need to store their subscription expiration date. (It doesn't matter where.)
- When they login, do a quick query to see if their subscription has expired.
- If it has expired, then check if they have access to the support forums and if so do an update query on the database that changes their status in the forum so they can't access it anymore. You would probably do this by changing the permissions of that particular user.
- If it has not expired, then do nothing.
- Continue the login process like normal.
This way users with expired subscriptions will automatically be restricted from accessing the forums.
An alternate way would be to:
- In a table in the database you will need to store their subscription expiration date. (It doesn't matter where.)
- Create a script that checks a user's subscription expiration date.
- If their subscription is expired and they still have access, change their permissions in the forum.
- Else do nothing.
- Create a scheduled task that runs this script once a day.
Some Notes:
You may want to create some additional error checking and optimization into this. What I described is simple and uses more resources than necessary, but would work.
Additional Ideas:
You could also make it so that it sends out the tickler as well. You would just need to make sure that it records that it was sent out to prevent it from being sent multiple times.
Hope that helps.