BioTorrents.de’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.

manage_handle.php 1.8KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. #declare(strict_types=1);
  3. authorize();
  4. $CollageID = $_POST['collageid'];
  5. if (!is_number($CollageID)) {
  6. error(404);
  7. }
  8. $DB->query("
  9. SELECT UserID, CategoryID
  10. FROM collages
  11. WHERE ID = '$CollageID'");
  12. list($UserID, $CategoryID) = $DB->next_record();
  13. if ($CategoryID === '0' && $UserID != $LoggedUser['ID'] && !check_perms('site_collages_delete')) {
  14. error(403);
  15. }
  16. $GroupID = $_POST['groupid'];
  17. if (!is_number($GroupID)) {
  18. error(404);
  19. }
  20. if ($_POST['submit'] === 'Remove') {
  21. $DB->query("
  22. DELETE FROM collages_torrents
  23. WHERE CollageID = '$CollageID'
  24. AND GroupID = '$GroupID'");
  25. $Rows = $DB->affected_rows();
  26. $DB->query("
  27. UPDATE collages
  28. SET NumTorrents = NumTorrents - $Rows
  29. WHERE ID = '$CollageID'");
  30. $Cache->delete_value("torrents_details_$GroupID");
  31. $Cache->delete_value("torrent_collages_$GroupID");
  32. $Cache->delete_value("torrent_collages_personal_$GroupID");
  33. } elseif (isset($_POST['drag_drop_collage_sort_order'])) {
  34. @parse_str($_POST['drag_drop_collage_sort_order'], $Series);
  35. $Series = @array_shift($Series);
  36. if (is_array($Series)) {
  37. $SQL = [];
  38. foreach ($Series as $Sort => $GroupID) {
  39. if (is_number($Sort) && is_number($GroupID)) {
  40. $Sort = ($Sort + 1) * 10;
  41. $SQL[] = sprintf('(%d, %d, %d)', $GroupID, $Sort, $CollageID);
  42. }
  43. }
  44. $SQL = '
  45. INSERT INTO collages_torrents
  46. (GroupID, Sort, CollageID)
  47. VALUES
  48. ' . implode(', ', $SQL) . '
  49. ON DUPLICATE KEY UPDATE
  50. Sort = VALUES (Sort)';
  51. $DB->query($SQL);
  52. }
  53. } else {
  54. $Sort = $_POST['sort'];
  55. if (!is_number($Sort)) {
  56. error(404);
  57. }
  58. $DB->query("
  59. UPDATE collages_torrents
  60. SET Sort = '$Sort'
  61. WHERE CollageID = '$CollageID'
  62. AND GroupID = '$GroupID'");
  63. }
  64. $Cache->delete_value("collage_$CollageID");
  65. header("Location: collages.php?action=manage&collageid=$CollageID");