I add this code before function getscrapedata
Code:
/*Auto Prommote system By joeroberts
To Use call to function in clean up You Must use a new call for each level you want to Promote
autopromote(10,2,1.1,"Power User","user");
autpromote(
$upload = user with upload equle or greater then
$bite = Type of byte Meg Gig Tera
$ratio = user with ratio equle or better then
$new_level = New level to promote to
$old_level = select from user in this level
)
*/
function autopromote($upload, $bite="1", $ratio, $new_level, $old_level){
global $db, $db_prefix;
$mb = 1024*1024;
$gb = 1024*1024*1024;
$tb = 1024*1024*1024*1024;
if ($bite == '1')
$upload = $mb*$upload;
elseif ($bite == '2')
$upload = $gb*$upload;
elseif ($bite == '3')
$upload = $tb*$upload;
else return;
$res1 ="SELECT id FROM ".$db_prefix."_users WHERE can_do = '".$old_level."' AND active = 1 AND uploaded >= $upload AND uploaded / downloaded >= $ratio AND warned = '0'" ;
$res =$db->sql_query($res1)or btsqlerror($res1);
$prouser = array();
while ($arr = $db->sql_fetchrow($res))
{
$prouser[] = $arr['id'];
}
$db->sql_freeresult($res);
if(count($prouser) > 0)
$db->sql_query("UPDATE ".$db_prefix."_users SET can_do ='".$new_level."' WHERE id IN ( '".implode("','",$prouser)."')") or btsqlerror("UPDATE ".$db_prefix."_users SET can_do ='".$level."' WHERE id IN ( '".implode("','",$prouser)."')");
}
/*Auto Demotion system By joeroberts
To Use call to function in clean up You Must use a new call for each level you want to demote
autodemote(1.0, "user", "Power User");
autodemote(
$ratio = user with ratio less then
$new_level New Level for user
$old_level Level From sich to demote from
)
*/
function autodemote($ratio, $new_level, $old_level){
global $db, $db_prefix;
$res1 ="SELECT id FROM ".$db_prefix."_users WHERE can_do = '".$old_level."' AND active = 1 AND uploaded / downloaded < $ratio AND warned = '0'" ;
$res =$db->sql_query($res1)or btsqlerror($res1);
$prouser = array();
while ($arr = $db->sql_fetchrow($res))
{
$prouser[] = $arr['id'];
}
$db->sql_freeresult($res);
if(count($prouser) > 0)
$db->sql_query("UPDATE ".$db_prefix."_users SET can_do ='".$new_level."' WHERE id IN ( '".implode("','",$prouser)."')") or btsqlerror("UPDATE ".$db_prefix."_users SET can_do ='".$level."' WHERE id IN ( '".implode("','",$prouser)."')");
}
and before autoclean i add
Code:
autopromote(25,2,1.0,"power_user","user");
autodemote(0.9, "user", "power_user");
autopromote(100,2,2.0,"super_user","power_user");
autodemote(1.9, "power_user", "super_user");
autopromote(500,2,3.0,"elite_user","super_user");
autodemote(2.9, "super_user", "elite_user");
I promote manualy user to power user who had only 10 GB upload, and system don't demote him.