Oppaitime's version of Gazelle
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

ocelot.php 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. <?
  2. $Key = $_REQUEST['key'];
  3. $Type = $_REQUEST['type'];
  4. if (($Key != TRACKER_SECRET) || $_SERVER['REMOTE_ADDR'] != TRACKER_HOST) {
  5. send_irc('PRIVMSG '.LAB_CHAN.' :Ocelot Auth Failure '.$_SERVER['REMOTE_ADDR']);
  6. error(403);
  7. }
  8. switch ($Type) {
  9. case 'expiretoken':
  10. if (isset($_GET['tokens'])) {
  11. $Tokens = explode(',', $_GET['tokens']);
  12. if (empty($Tokens)) {
  13. error(0);
  14. }
  15. $Cond = $UserIDs = array();
  16. foreach ($Tokens as $Key => $Token) {
  17. list($UserID, $TorrentID) = explode(':', $Token);
  18. if (!is_number($UserID) || !is_number($TorrentID)) {
  19. continue;
  20. }
  21. $Cond[] = "(UserID = $UserID AND TorrentID = $TorrentID)";
  22. $UserIDs[] = $UserID;
  23. }
  24. if (!empty($Cond)) {
  25. $Query = "
  26. UPDATE users_freeleeches
  27. SET Expired = TRUE
  28. WHERE ".implode(" OR ", $Cond);
  29. $DB->query($Query);
  30. foreach ($UserIDs as $UserID) {
  31. $Cache->delete_value("users_tokens_$UserID");
  32. }
  33. }
  34. } else {
  35. $TorrentID = $_REQUEST['torrentid'];
  36. $UserID = $_REQUEST['userid'];
  37. if (!is_number($TorrentID) || !is_number($UserID)) {
  38. error(403);
  39. }
  40. $DB->query("
  41. UPDATE users_freeleeches
  42. SET Expired = TRUE
  43. WHERE UserID = $UserID
  44. AND TorrentID = $TorrentID");
  45. $Cache->delete_value("users_tokens_$UserID");
  46. }
  47. break;
  48. }
  49. ?>