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.

take_unfill.php 5.0KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127
  1. <?
  2. //******************************************************************************//
  3. //--------------- Take unfill request ------------------------------------------//
  4. authorize();
  5. $RequestID = $_POST['id'];
  6. if (!is_number($RequestID)) {
  7. error(0);
  8. }
  9. $DB->query("
  10. SELECT
  11. r.CategoryID,
  12. r.UserID,
  13. r.FillerID,
  14. r.Title,
  15. u.Uploaded,
  16. r.GroupID,
  17. t.UserID,
  18. u2.Uploaded
  19. FROM requests AS r
  20. LEFT JOIN torrents AS t ON t.ID = TorrentID
  21. LEFT JOIN users_main AS u ON u.ID = FillerID
  22. LEFT JOIN users_main AS u2 ON u2.ID = t.UserID
  23. WHERE r.ID = $RequestID");
  24. list($CategoryID, $UserID, $FillerID, $Title, $Uploaded, $GroupID, $UploaderID, $UploaderUploaded) = $DB->next_record();
  25. if (!$UploaderID) {
  26. // If the torrent was deleted and we don't know who the uploader was, just assume it was the filler
  27. $UploaderID = $FillerID;
  28. }
  29. if ((($LoggedUser['ID'] !== $UserID && $LoggedUser['ID'] !== $FillerID) && !check_perms('site_moderate_requests')) || $FillerID === '0') {
  30. error(403);
  31. }
  32. // Unfill
  33. $DB->query("
  34. UPDATE requests
  35. SET TorrentID = 0,
  36. FillerID = 0,
  37. TimeFilled = '0000-00-00 00:00:00',
  38. Visible = 1
  39. WHERE ID = $RequestID");
  40. $CategoryName = $Categories[$CategoryID - 1];
  41. if ($CategoryName != 'Other') {
  42. $ArtistForm = Requests::get_artists($RequestID);
  43. $ArtistName = Artists::display_artists($ArtistForm, false, true);
  44. $FullName = $ArtistName.$Title;
  45. } else {
  46. $FullName = $Title;
  47. }
  48. $RequestVotes = Requests::get_votes_array($RequestID);
  49. //Remove Filler portion of bounty
  50. if (intval($RequestVotes['TotalBounty']*(1/4)) > $Uploaded) {
  51. // If we can't take it all out of upload, zero that out and add whatever is left as download.
  52. $DB->query("
  53. UPDATE users_main
  54. SET Uploaded = 0
  55. WHERE ID = $FillerID");
  56. $DB->query('
  57. UPDATE users_main
  58. SET Downloaded = Downloaded + '.intval($RequestVotes['TotalBounty']*(1/4) - $Uploaded)."
  59. WHERE ID = $FillerID");
  60. } else {
  61. $DB->query('
  62. UPDATE users_main
  63. SET Uploaded = Uploaded - '.intval($RequestVotes['TotalBounty']*(1/4))."
  64. WHERE ID = $FillerID");
  65. }
  66. //Remove Uploader portion of bounty
  67. if (intval($RequestVotes['TotalBounty']*(3/4)) > $UploaderUploaded) {
  68. // If we can't take it all out of upload, zero that out and add whatever is left as download.
  69. $DB->query("
  70. UPDATE users_main
  71. SET Uploaded = 0
  72. WHERE ID = $UploaderID");
  73. $DB->query('
  74. UPDATE users_main
  75. SET Downloaded = Downloaded + '.intval($RequestVotes['TotalBounty']*(3/4) - $UploaderUploaded)."
  76. WHERE ID = $UploaderID");
  77. } else {
  78. $DB->query('
  79. UPDATE users_main
  80. SET Uploaded = Uploaded - '.intval($RequestVotes['TotalBounty']*(3/4))."
  81. WHERE ID = $UploaderID");
  82. }
  83. Misc::send_pm($FillerID, 0, 'A request you filled has been unfilled', "The request \"[url=".site_url()."requests.php?action=view&amp;id=$RequestID]$FullName"."[/url]\" was unfilled by [url=".site_url().'user.php?id='.$LoggedUser['ID'].']'.$LoggedUser['Username'].'[/url] for the reason: [quote]'.$_POST['reason']."[/quote]\nIf you feel like this request was unjustly unfilled, please [url=".site_url()."reports.php?action=report&amp;type=request&amp;id=$RequestID]report the request[/url] and explain why this request should not have been unfilled.");
  84. if ($UploaderID != $FillerID) {
  85. Misc::send_pm($UploaderID, 0, 'A request filled with your torrent has been unfilled', "The request \"[url=".site_url()."requests.php?action=view&amp;id=$RequestID]$FullName"."[/url]\" was unfilled by [url=".site_url().'user.php?id='.$LoggedUser['ID'].']'.$LoggedUser['Username'].'[/url] for the reason: [quote]'.$_POST['reason']."[/quote]\nIf you feel like this request was unjustly unfilled, please [url=".site_url()."reports.php?action=report&amp;type=request&amp;id=$RequestID]report the request[/url] and explain why this request should not have been unfilled.");
  86. }
  87. $Cache->delete_value("user_stats_$FillerID");
  88. if ($UserID !== $LoggedUser['ID']) {
  89. Misc::send_pm($UserID, 0, 'A request you created has been unfilled', "The request \"[url=".site_url()."requests.php?action=view&amp;id=$RequestID]$FullName"."[/url]\" was unfilled by [url=".site_url().'user.php?id='.$LoggedUser['ID'].']'.$LoggedUser['Username']."[/url] for the reason: [quote]".$_POST['reason'].'[/quote]');
  90. }
  91. Misc::write_log("Request $RequestID ($FullName), with a ".Format::get_size($RequestVotes['TotalBounty']).' bounty, was unfilled by user '.$LoggedUser['ID'].' ('.$LoggedUser['Username'].') for the reason: '.$_POST['reason']);
  92. $Cache->delete_value("request_$RequestID");
  93. $Cache->delete_value("request_artists_$RequestID");
  94. if ($GroupID) {
  95. $Cache->delete_value("requests_group_$GroupID");
  96. }
  97. Requests::update_sphinx_requests($RequestID);
  98. if (!empty($ArtistForm)) {
  99. foreach ($ArtistForm as $Artist) {
  100. $Cache->delete_value('artists_requests_'.$Artist['id']);
  101. }
  102. }
  103. $SphQL = new SphinxqlQuery();
  104. $SphQL->raw_query("
  105. UPDATE requests, requests_delta
  106. SET torrentid = 0, fillerid = 0
  107. WHERE id = $RequestID", false);
  108. header("Location: requests.php?action=view&id=$RequestID");
  109. ?>