$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)"); } ?>