public function run() { if ($_SERVER['SERVER_ADDR'] != $_SERVER["REMOTE_ADDR"]) { throw new Exception("Must be run by server.", 401); } $totusers = 0; $totbonus = 0; function up2gb($siffra) { return round($siffra / 1024 / 1024 / 1024); } $this->db->query("UPDATE users SET pokal = 0"); $res = $this->db->query("SELECT arkiv_seed, id FROM users WHERE class >= 2 ORDER BY arkiv_seed DESC LIMIT 25"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $this->db->query("UPDATE users SET pokal = 1 WHERE id = " . $ros["id"]); } $res = $this->db->query("SELECT nytt_seed, id FROM users WHERE class >= 2 ORDER BY nytt_seed DESC LIMIT 25"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $this->db->query("UPDATE users SET pokal = 1 WHERE id = " . $ros["id"]); } $datum = date("Y-m-d H:i:s", time() - 604800); $datumnix = time() - 604800; $datumr = date("Y-m-d H:i:s", time()); $bonusp = 0; $res = $this->db->query("SELECT uploaded, arkiv_seed, id, nytt_seed, username FROM users WHERE class > 0 AND enabled = 'yes'"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $torrp = 0; $requestReward = 0; if ($ros["arkiv_seed"] <= 0) { $bonusp = 0; $bonus_nytt = up2gb($ros["nytt_seed"]); } else { $bonusp = up2gb($ros["arkiv_seed"]); $bonus_nytt = up2gb($ros["nytt_seed"]); } $bonusu = $bonusp; if ($bonusp > 50) { $bonusp = 50; } $subs = $this->db->query("SELECT * FROM subs WHERE datum > {$datumnix} AND userid = {$ros['id']} GROUP BY torrentid;"); $antalsubs = $subs->rowCount(); $subp = 0; while ($sub = $subs->fetch(PDO::FETCH_ASSOC)) { $subp += 2; } $torrb = $this->db->query("SELECT owner, reqid, id, UNIX_TIMESTAMP(added) as added1, category FROM torrents WHERE added > '{$datum}' AND owner = {$ros['id']} AND reqid <> 1;"); $torrantal = 0; $torrantal = $torrb->rowCount(); while ($torr = $torrb->fetch(PDO::FETCH_ASSOC)) { if ($torr["reqid"] > 1) { $req = $this->db->query("SELECT UNIX_TIMESTAMP(requests.added) as added2, (SELECT SUM(krydda) FROM reqvotes WHERE reqid = requests.id) AS krydda FROM requests WHERE id = {$torr['reqid']}"); $reg = $req->fetch(PDO::FETCH_ASSOC); $hitte = $torr["added1"] - $reg["added2"]; $hitte = round($hitte / 86400); $hitte += 2; $requestReward += $reg["krydda"] + $hitte; } else { if ($torr["reqid"] == 0) { if ($torr["category"] > 5) { $torrp += 5; } else { $torrp += 10; } } } } $slutbonus = $bonusp + $torrp + $subp + $requestReward; if ($slutbonus > 0 || $bonus_nytt > 0 || $subp > 0) { $totusers++; $totbonus += $slutbonus; $msg = "Bonusutdelning. "; if ($bonusp > 0 || $bonus_nytt > 0) { $msg .= $bonusp . "p för " . ($bonusu + $bonus_nytt) . "GB uppladdat, " . $bonusu . "GB på arkiv, " . $bonus_nytt . "GB på nytt. "; } if ($torrantal > 0) { $msg .= $torrp . "p för {$torrantal} st uppladdad" . ($torrantal == 1 ? '' : 'e') . " nya torrents. "; } if ($requestReward > 0) { $msg .= $requestReward . "p för hittelön på uppladdade requests. "; } if ($subp > 0) { $msg .= $subp . "p för {$antalsubs} st uppladdad" . ($antalsubs == 1 ? '' : 'e') . " undertexter. "; } $this->user->bonusLog($slutbonus, $msg, $ros["id"]); } } $this->db->query("UPDATE users SET nytt_seed = 0, arkiv_seed = 0"); $this->log->log(0, "Bonusutdelning utförd. Totalt [b]{$totbonus}p[/b] till {$totusers} användare.", $this->user->getId()); }
public function run() { if ($_SERVER['SERVER_ADDR'] != $_SERVER["REMOTE_ADDR"]) { throw new Exception(L::get("MUST_BE_RUN_BY_SERVER_ERROR"), 401); } $totusers = 0; $totbonus = 0; function up2gb($siffra) { return round($siffra / 1024 / 1024 / 1024); } $this->db->query("UPDATE users SET pokal = 0"); $res = $this->db->query("SELECT arkiv_seed, id FROM users WHERE class >= 2 ORDER BY arkiv_seed DESC LIMIT 25"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $this->db->query("UPDATE users SET pokal = 1 WHERE id = " . $ros["id"]); } $res = $this->db->query("SELECT nytt_seed, id FROM users WHERE class >= 2 ORDER BY nytt_seed DESC LIMIT 25"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $this->db->query("UPDATE users SET pokal = 1 WHERE id = " . $ros["id"]); } $datum = date("Y-m-d H:i:s", time() - 604800); $datumnix = time() - 604800; $datumr = date("Y-m-d H:i:s", time()); $bonusp = 0; $res = $this->db->query("SELECT uploaded, arkiv_seed, id, nytt_seed, username FROM users WHERE class > 0 AND enabled = 'yes'"); while ($ros = $res->fetch(PDO::FETCH_ASSOC)) { $torrp = 0; $requestReward = 0; if ($ros["arkiv_seed"] <= 0) { $bonusp = 0; $bonusNew = up2gb($ros["nytt_seed"]); } else { $bonusp = up2gb($ros["arkiv_seed"]); $bonusNew = up2gb($ros["nytt_seed"]); } $bonusu = $bonusp; if ($bonusp > 50) { $bonusp = 50; } $subs = $this->db->query("SELECT * FROM subs WHERE datum > {$datumnix} AND userid = {$ros['id']} GROUP BY torrentid;"); $antalsubs = $subs->rowCount(); $subp = 0; while ($sub = $subs->fetch(PDO::FETCH_ASSOC)) { $subp += 2; } $torrb = $this->db->query("SELECT owner, reqid, section, id, UNIX_TIMESTAMP(added) as added1, category FROM torrents WHERE added > '{$datum}' AND owner = {$ros['id']};"); $torrantal = 0; $torrantal = $torrb->rowCount(); while ($torr = $torrb->fetch(PDO::FETCH_ASSOC)) { if ($torr["reqid"] > 0) { $req = $this->db->query("SELECT UNIX_TIMESTAMP(requests.added) as added2, (SELECT SUM(krydda) FROM reqvotes WHERE reqid = requests.id) AS krydda FROM requests WHERE id = {$torr['reqid']}"); $reg = $req->fetch(PDO::FETCH_ASSOC); $hitte = $torr["added1"] - $reg["added2"]; $hitte = round($hitte / 86400); $hitte += 2; $requestReward += $reg["krydda"] + $hitte; } else { if ($torr["section"] == 'new') { if ($torr["category"] > Config::$categories["MOVIE_1080P"]["id"] || $torr["category"] == Config::$categories["BLURAY"]["id"]) { $torrp += 5; } else { $torrp += 10; } } } } $finalBonus = $bonusp + $torrp + $subp + $requestReward; if ($finalBonus > 0 || $bonusNew > 0 || $subp > 0) { $totusers++; $totbonus += $finalBonus; $msg = L::get("BONUS_PAYOUT") . " "; if ($bonusp > 0 || $bonusNew > 0) { $msg .= L::get("BONUS_PAYOUT_ROW", [$bonusp, $bonusu + $bonusNew, $bonusu, $bonusNew]); } if ($torrantal > 0) { $msg .= L::get("BONUS_PAYOUT_TORRENTS", [$torrp, $torrantal]); } if ($requestReward > 0) { $msg .= L::get("BONUS_PAYOUT_REQUESTS", [$requestReward]); } if ($subp > 0) { $msg .= L::get("BONUS_PAYOUT_SUBTITLES", [$subp, $antalsubs]); } $this->user->bonusLog($finalBonus, $msg, $ros["id"]); } } $this->db->query("UPDATE users SET nytt_seed = 0, arkiv_seed = 0"); $this->log->log(0, L::get("BONUS_PAYOUT_LOG", [$totbonus, $totusers]), $this->user->getId()); }