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.

disable_inactive_users.php 2.0KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. <?php
  2. declare(strict_types=1);
  3. /*
  4. $ENV = ENV::go();
  5. # The SQL query's lines below controls the notification clock
  6. # AND um.LastAccess < (NOW() - INTERVAL 110 DAY)
  7. # AND um.LastAccess > (NOW() - INTERVAL 111 DAY)
  8. if (apcu_exists('DBKEY')) {
  9. # Send email
  10. $DB->query("
  11. SELECT
  12. um.`Username`,
  13. um.`Email`
  14. FROM
  15. `users_info` AS ui
  16. JOIN `users_main` AS um
  17. ON
  18. um.`ID` = ui.`UserID`
  19. LEFT JOIN `users_levels` AS ul
  20. ON
  21. ul.`UserID` = um.`ID` AND ul.`PermissionID` = '".CELEB."'
  22. WHERE
  23. um.`PermissionID` IN('".USER."', '".MEMBER ."')
  24. AND um.`LastAccess` <(NOW() - INTERVAL 355 DAY)
  25. AND um.`LastAccess` >(NOW() - INTERVAL 356 DAY)
  26. AND um.`LastAccess` IS NOT NULL
  27. AND ui.`Donor` = '0'
  28. AND um.`Enabled` != '2'
  29. AND ul.`UserID` IS NULL
  30. GROUP BY
  31. um.`ID`
  32. ");
  33. while (list($Username, $Email) = $DB->next_record()) {
  34. $Email = Crypto::decrypt($Email);
  35. $Body = "Hi $Username,\n\nIt has been almost a year since you used your account at ".site_url().". This is an automated email to inform you that your account will be disabled in 10 days if you do not sign in.";
  36. Misc::send_email($Email, "Your $ENV->SITE_NAME account is about to be disabled", $Body);
  37. }
  38. # The actual deletion clock
  39. # AND um.LastAccess < (NOW() - INTERVAL 120 DAY)
  40. $DB->query("
  41. SELECT
  42. um.`ID`
  43. FROM
  44. `users_info` AS ui
  45. JOIN `users_main` AS um
  46. ON
  47. um.`ID` = ui.`UserID`
  48. LEFT JOIN `users_levels` AS ul
  49. ON
  50. ul.`UserID` = um.`ID` AND ul.`PermissionID` = '".CELEB."'
  51. WHERE
  52. um.`PermissionID` IN('".USER."', '".MEMBER ."')
  53. AND um.`LastAccess` <(NOW() - INTERVAL 365 DAY)
  54. AND um.`LastAccess` IS NOT NULL
  55. AND ui.`Donor` = '0'
  56. AND um.`Enabled` != '2'
  57. AND ul.`UserID` IS NULL
  58. GROUP BY
  59. um.`ID`
  60. ");
  61. if ($DB->has_results()) {
  62. Tools::disable_users($DB->collect('ID'), 'Disabled for inactivity.', 3);
  63. }
  64. }
  65. */