PDA

View Full Version : Hack to change member group after certain time period


magna
03-16-2003, 11:09 PM
There are many forums that offer a priemium or paid for section. I have looked and looked to see if there is a hack to automaticly change that member back to normal status after a certain time period.

Lets say they pay for 3 months access to a prefered section, is there any way to make a hack to automatically pm or email say 5 days before there prefered status is to run out and then have then automatically revert to a specific group or the group they were previously at.

Hope that makes sense, but I know there are many forums that would benifit by a mod like this.

Thanks

Quest4DSS
03-19-2003, 02:25 PM
I would sure use a hack like this.

An example would be...

Joe is a reguler member and then he pays for XX days to my private area.
I add him and when the XX days are up it automatically puts him back.

Great Idea.

Dpcows
03-19-2003, 03:15 PM
You would have to be able to use cron jobs,

but i'll look into it.

Quest4DSS
03-19-2003, 04:11 PM
Cool, thanks

magna
03-19-2003, 07:43 PM
yes

Thanks very much

filburt1
03-19-2003, 11:26 PM
Cron this script:

<?
require("./global.php");
$DB_site->query("UDPATE user SET usergroupid = new ugid WHERE usergroupid = old ugid");
?>

magna
03-20-2003, 01:18 AM
Thanks for your help

Where do we input the time to change them back

Thanks again for your help

N!ck
03-20-2003, 03:50 AM
Today at 08:18 PM magna said this in Post #7 (https://vborg.vbsupport.ru/showthread.php?postid=369708#post369708)
Where do we input the time to change them back

That is a matter of the way you set up the cron job.

Now, for my subscription system, I have the following script running via a cron job, just so you have another example:


<?php
if ($action=="renew") {
header("Location: https://www.paypal.com/xclick/business=lebeldc%40yahoo.com&item_name=V-Driveboat.com+Insider+Renewal+-+1+year+-+".$user."&item_number=01005&amount=15.00&no_note=1&currency_code=USD");
exit;
}
mysql_connect("localhost","*****","*****");
mysql_select_db("*****");
mysql_query("UPDATE user SET usergroupid='2', iexpire='0' WHERE usergroupid='8' AND iexpire < ".time());
$month=time()+2592000;
$renewusers=mysql_query("SELECT * FROM user WHERE usergroupid='8' AND iexpire < $month");
while ($user=mysql_fetch_array($renewusers)) {
$email=stripslashes($user[username]).",\n\n";
$email.="Your V-Driveboat.com Insider subscription is going to expire in approximately one month. To ensure uninterrupted access, please renew your subscription as soon as possible. You can instantly renew with a credit card by going to the following address:\n\n";
$email.="http://www.v-driveboat.com/imanage.php?action=renew&user=".urlencode(stripslashes($user[username]))."\n\n";
$email.="If you prefer, you are also welcome to mail your $15.00 renewal fee (be sure to include your username) to:\n";
$email.="V-Driveboat.com Insider\n";
$email.="P.O. Box 1576\n";
$email.="Lake Havasu City, AZ 86405-1576\n\n";
$email.="Thank you for your continued support of V-Driveboat.com, the web's first and leading v-drive enthusiast community.\n\n";
$email.="Regards,\n";
$email.="Nick Saunders\n";
$email.="nick@v-driveboat.com";
mail($user[email],"Your subscription is almost expired",$email,"From: \"V-Driveboat.com Insider\" <insider@v-driveboat.com>");
if ($show=="y") {
echo $month."<br>";
echo stripslashes($user[username])."<br>";
}
}
mysql_close();
echo "<br>Done.";
?>


Hope that helps.

magna
03-20-2003, 04:48 AM
I will try it

Does vb have a crono element?

Quest4DSS
03-22-2003, 10:13 PM
This looks like a good one!

magna
03-26-2003, 06:53 AM
N!ck

Can you give us a bit more help on how to execute the cron jobs?

Sorry to ask but having a bit of trouble figuring out how to implement this. Do you run this each time you ad a user. Guess I am just not following how it works.

thanks