$secs") or sqlerr(__FILE__, __LINE__);
while ($arr = mysql_fetch_assoc($res))
mysql_query("UPDATE topics SET locked='yes' WHERE id=$arr[id]") or sqlerr(__FILE__, __LINE__);
}
// remove expired warnings
$res = mysql_query("SELECT id,username FROM users WHERE warned='yes' AND warneduntil < NOW() AND warneduntil <> '0000-00-00 00:00:00'") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0) {
$dt = sqlesc(get_date_time());
$msg = "Deine Verwarnung wurde automatisch entfernt, und die Moderatoren darüber informiert, um evtl. gestellte Bedingungen erneut zu prüfen.\n";
while ($arr = mysql_fetch_assoc($res)) {
$mod_msg = "[b]Eine Verwarnung ist abgelaufen![/b]\n\nBenutzer [url=userdetails.php?id=$arr[id]]" . $arr["username"] . "[/url] (".$GLOBALS["DEFAULTBASEURL"]."/userdetails.php?id=$arr[id])\n\nBitte die Verwarnungsbedingungen erneut prüfen und entsprechend reagieren.";
mysql_query("UPDATE users SET warned = 'no', warneduntil = '0000-00-00 00:00:00' WHERE id = $arr[id]") or sqlerr(__FILE__, __LINE__);
sendPersonalMessage(0, $arr["id"], "Deine Verwarnung ist abgelaufen", $msg, PM_FOLDERID_SYSTEM, 0);
sendPersonalMessage(0, 0, "Die Verwarnung für '$arr[username]' ist abgelaufen", $mod_msg, PM_FOLDERID_MOD, 0, "open");
write_log("remwarn", "Die Verwarnung für Benutzer '$arr[username]' ist abgelaufen und wurde vom System zurückgenommen.");
write_modcomment($arr["id"], 0, "Verwarnung abgelaufen.");
}
}
// promote power users
$limit = 25 * 1024 * 1024 * 1024;
$minratio = 1.05;
$maxdt = sqlesc(get_date_time(time() - 86400 * 28));
$res = mysql_query("SELECT id,username FROM users WHERE class = 0 AND uploaded >= $limit AND uploaded / downloaded >= $minratio AND added < $maxdt") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0) {
$dt = sqlesc(get_date_time());
$msg = sqlesc("Glückwunsch, Du wurdest automatisch zum [b]Power User[/b] befördert. :)\nDu kannst Dir nun NFOs ansehen.\n");
while ($arr = mysql_fetch_assoc($res)) {
mysql_query("UPDATE users SET class = 1 WHERE id = $arr[id]") or sqlerr(__FILE__, __LINE__);
sendPersonalMessage(0, $arr["id"], "Du wurdest zum 'Power User' befördert", $msg, PM_FOLDERID_SYSTEM, 0);
write_log("promotion", "Der Benutzer '$arr[username]' wurde automatisch zum Power User befördert.");
write_modcomment($arr["id"], 0, "Automatische Beförderung zum Power User.");
}
}
// demote power users
$minratio = 0.95;
$res = mysql_query("SELECT id,username FROM users WHERE class = 1 AND uploaded / downloaded < $minratio") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0) {
$dt = sqlesc(get_date_time());
$msg = sqlesc("Du wurdest automatisch vom [b]Power User[/b] zum [b]User[/b] degradiert, da Deine Share-Ratio unter $minratio gefallen ist.\n");
while ($arr = mysql_fetch_assoc($res)) {
mysql_query("UPDATE users SET class = 0 WHERE id = $arr[id]") or sqlerr(__FILE__, __LINE__);
sendPersonalMessage(0, $arr["id"], "Du wurdest zum 'User' degradiert", $msg, PM_FOLDERID_SYSTEM, 0);
write_log("demotion", "Der Benutzer '$arr[username]' wurde automatisch zum User degradiert.");
write_modcomment($arr["id"], 0, "Automatische Degradierung zum User.");
}
}
// Update stats
$seeders = get_row_count("peers", "WHERE seeder='yes'");
$leechers = get_row_count("peers", "WHERE seeder='no'");
mysql_query("UPDATE avps SET value_u=$seeders WHERE arg='seeders'") or sqlerr(__FILE__, __LINE__);
mysql_query("UPDATE avps SET value_u=$leechers WHERE arg='leechers'") or sqlerr(__FILE__, __LINE__);
// update forum post/topic count
$forums = mysql_query("select id from forums");
while ($forum = mysql_fetch_assoc($forums)) {
$postcount = 0;
$topiccount = 0;
$topics = mysql_query("select id from topics where forumid=$forum[id]");
while ($topic = mysql_fetch_assoc($topics)) {
$res = mysql_query("select count(*) from posts where topicid=$topic[id]");
$arr = mysql_fetch_row($res);
$postcount += $arr[0];
++$topiccount;
}
mysql_query("update forums set postcount=$postcount, topiccount=$topiccount where id=$forum[id]");
}
/////////Update Seederbonus/////////
$res = mysql_query("SELECT DISTINCT userid FROM peers WHERE seeder = 'yes'") or sqlerr(__FILE__, __LINE__);
if (mysql_num_rows($res) > 0)
{
while ($arr = mysql_fetch_assoc($res))
{
mysql_query("UPDATE users SET seedbonus = seedbonus+0.250 WHERE id = $arr[userid]") or sqlerr(__FILE__, __LINE__);
}
}
/////////Update Seederbonus End////////
// Delete old/dead and not activated torrents
if ($GLOBALS["MAX_TORRENT_TTL"]) {
$days = $GLOBALS["MAX_TORRENT_TTL"];
$dt = sqlesc(get_date_time(time() - ($days * 86400)));
$deadtime = deadtime() - $GLOBALS["MAX_DEAD_TORRENT_TIME"] * 86400;
$res = mysql_query("SELECT id, name, owner FROM torrents WHERE (added < $dt OR `activated`='no') AND `last_action` < FROM_UNIXTIME($deadtime)");
mysql_query("DELETE FROM snatched WHERE torrentid =$arr[id]");
while ($arr = mysql_fetch_assoc($res)) {
deletetorrent($arr["id"]);
$msg = sqlesc("Dein Torrent '$arr[name]' wurde automatisch vom System gelöscht. (Inaktiv und älter als $days Tage).\n");
sendPersonalMessage(0, $arr["owner"], "Einer Deiner Torrents wurde gelöscht", $msg, PM_FOLDERID_SYSTEM, 0);
write_log("torrentdelete", "Torrent $arr[id] ($arr[name]) wurde vom System gelöscht (Inaktiv und älter als $days Tage)");
}
}
// Delete old entries from start/stop log
mysql_query("DELETE FROM startstoplog WHERE UNIX_TIMESTAMP(`datetime`) < (UNIX_TIMESTAMP()-864000)");
// Delete orphaned entries from completed list (either torrent or user doesn't exist anymore)
$res = mysql_query("SELECT completed.id FROM completed LEFT JOIN torrents ON completed.torrent_id=torrents.id LEFT JOIN users ON completed.user_id=users.id WHERE torrents.id IS NULL OR users.id IS NULL");
$idlist = "";
while ($id = mysql_fetch_assoc($res)) {
if ($idlist != "") $idlist .= ",";
$idlist .= $id["id"];
}
if ($idlist != "") mysql_query("DELETE FROM completed WHERE id IN ($idlist)");
// Delete orphaned friends
$query = "SELECT `friends`.`id` AS `id` FROM `friends` LEFT JOIN `users` AS `myuser` ON `friends`.`userid`=`myuser`.`id` LEFT JOIN `users` AS `myfriend` ON `friends`.`userid`=`myfriend`.`id` WHERE `myuser`.`username` IS NULL OR `myfriend`.`username` IS NULL";
$res = mysql_query($query);
$idlist = "";
while ($id = mysql_fetch_assoc($res)) {
if ($idlist != "") $idlist .= ",";
$idlist .= $id["id"];
}
if ($idlist != "") mysql_query("DELETE FROM `friends` WHERE `id` IN ($idlist)");
// Delete orphaned mod comments
$res = mysql_query("SELECT `modcomments`.`userid` AS `id` FROM `modcomments` LEFT JOIN `users` ON `modcomments`.`userid`=`users`.`id` WHERE `users`.`id` IS NULL");
$idlist = "";
while ($id = mysql_fetch_assoc($res)) {
if ($idlist != "") $idlist .= ",";
$idlist .= $id["id"];
}
if ($idlist != "") mysql_query("DELETE FROM `modcomments` WHERE `userid` IN ($idlist)");
}
?>