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.

class_demotions.php 2.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. #declare(strict_types=1);
  3. $ENV = ENV::go();
  4. # Prevent demotion on dev site
  5. # (higher perms for testing)
  6. if (!$ENV->DEV) {
  7. $Query = $DB->query('
  8. SELECT ID
  9. FROM users_main
  10. WHERE PermissionID IN('.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  11. AND Uploaded / Downloaded < 0.95
  12. OR PermissionID IN('.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  13. AND Uploaded < 25 * 1024 * 1024 * 1024');
  14. echo "demoted 1\n";
  15. $DB->query('
  16. UPDATE users_main
  17. SET PermissionID = '.MEMBER.'
  18. WHERE PermissionID IN('.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  19. AND Uploaded / Downloaded < 0.95
  20. OR PermissionID IN('.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  21. AND Uploaded < 25 * 1024 * 1024 * 1024');
  22. $DB->set_query_id($Query);
  23. while (list($UserID) = $DB->next_record()) {
  24. $Cache->begin_transaction("user_info_$UserID");
  25. $Cache->update_row(false, array('PermissionID' => MEMBER));
  26. $Cache->commit_transaction(2592000);
  27. $Cache->delete_value("user_info_$UserID");
  28. $Cache->delete_value("user_info_heavy_$UserID");
  29. Misc::send_pm($UserID, 0, 'You have been demoted to '.Users::make_class_string(MEMBER), "You now only meet the requirements for the \"".Users::make_class_string(MEMBER)."\" user class.\n\nTo read more about ".$ENV->SITE_NAME."'s user classes, read [url=".site_url()."wiki.php?action=article&amp;name=userclasses]this wiki article[/url].");
  30. }
  31. echo "demoted 2\n";
  32. $Query = $DB->query('
  33. SELECT ID
  34. FROM users_main
  35. WHERE PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  36. AND Uploaded / Downloaded < 0.65');
  37. echo "demoted 3\n";
  38. $DB->query('
  39. UPDATE users_main
  40. SET PermissionID = '.USER.'
  41. WHERE PermissionID IN('.MEMBER.', '.POWER.', '.ELITE.', '.TORRENT_MASTER.')
  42. AND Uploaded / Downloaded < 0.65');
  43. $DB->set_query_id($Query);
  44. while (list($UserID) = $DB->next_record()) {
  45. $Cache->begin_transaction("user_info_$UserID");
  46. $Cache->update_row(false, array('PermissionID' => USER));
  47. $Cache->commit_transaction(2592000);
  48. $Cache->delete_value("user_info_$UserID");
  49. $Cache->delete_value("user_info_heavy_$UserID");
  50. Misc::send_pm($UserID, 0, 'You have been demoted to '.Users::make_class_string(USER), "You now only meet the requirements for the \"".Users::make_class_string(USER)."\" user class.\n\nTo read more about ".$ENV->SITE_NAME."'s user classes, read [url=".site_url()."wiki.php?action=article&amp;name=userclasses]this wiki article[/url].");
  51. }
  52. echo "demoted 4\n";
  53. }