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.

email_delete_requests.php 2.9KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104
  1. <?
  2. if (!check_perms('users_mod')) {
  3. error(403);
  4. }
  5. $QueryID = $DB->query("
  6. SELECT SQL_CALC_FOUND_ROWS *
  7. FROM email_delete_requests");
  8. $DB->query("SELECT FOUND_ROWS()");
  9. list($NumResults) = $DB->next_record();
  10. $DB->set_query_id($QueryID);
  11. $Requests = $DB->to_array();
  12. if (isset($_GET['deny']) && isset($_GET['email'])) {
  13. authorize();
  14. $Deny = ($_GET['deny'] == "true");
  15. $Email = db_string($_GET['email']);
  16. $DB->query("
  17. DELETE FROM email_delete_requests
  18. WHERE Email = '$Email'");
  19. $DB->query("
  20. SELECT UserID
  21. FROM users_history_emails
  22. WHERE Email = '$Email'");
  23. if ($DB->has_results()) {
  24. list($UserID) = $DB->next_record();
  25. if ($UserID != $_GET['userid']) {
  26. $Err = "The UserID is incorrect?";
  27. }
  28. } else {
  29. $Err = "That email doesn't exist.";
  30. }
  31. if (empty($Err)) {
  32. if (!$Deny) {
  33. $DB->query("
  34. SELECT Email
  35. FROM users_history_emails
  36. WHERE UserID = '$UserID'");
  37. $ToDelete = array();
  38. while (list($EncEmail) = $DB->next_record()) {
  39. if (DBCrypt::decrypt($Email) == DBCrypt::decrypt($EncEmail)) {
  40. $ToDelete[] = $EncEmail;
  41. }
  42. }
  43. forEach ($ToDelete as $DelEmail) {
  44. $DB->query("
  45. DELETE FROM users_history_emails
  46. WHERE UserID = $UserID
  47. AND Email = '$DelEmail'");
  48. }
  49. $Succ = "Email deleted.";
  50. Misc::send_pm($UserID, 0, "Email Deletion Request Accepted.", "Your email deletion request has been accepted. What email? I don't know! We don't have it anymore!");
  51. } else {
  52. $Succ = "Request denied.";
  53. Misc::send_pm($UserID, 0, "Email Deletion Request Denied.", "Your email deletion request has been denied.\n\nIf you wish to discuss this matter further, please create a staff PM, or join #oppaitime-help on IRC to speak with a staff member.");
  54. }
  55. }
  56. $Cache->delete_value('num_email_delete_requests');
  57. }
  58. View::show_header("Email Deletion Requests");
  59. ?>
  60. <div class="header">
  61. <h2>Email Deletion Requests</h2>
  62. </div>
  63. <? if (isset($Err)) { ?>
  64. <span>Error: <?=$Err?></span>
  65. <? } elseif (isset($Succ)) { ?>
  66. <span>Success: <?=$Succ?></span>
  67. <? } ?>
  68. <div class="thin">
  69. <table width="100%">
  70. <tr class="colhead">
  71. <td>User</td>
  72. <td>Email</td>
  73. <td>Reason</td>
  74. <td>Accept</td>
  75. <td>Deny</td>
  76. </tr>
  77. <? foreach ($Requests as $Request) { ?>
  78. <tr>
  79. <td><?=Users::format_username($Request['UserID'])?></td>
  80. <td><?=DBCrypt::decrypt($Request['Email'])?></td>
  81. <td><?=display_str($Request['Reason'])?></td>
  82. <td><a href="tools.php?action=delete_email&auth=<?=$LoggedUser['AuthKey']?>&email=<?=urlencode($Request['Email'])?>&userid=<?=$Request['UserID']?>&deny=false" class="brackets">Accept</a></td>
  83. <td><a href="tools.php?action=delete_email&auth=<?=$LoggedUser['AuthKey']?>&email=<?=urlencode($Request['Email'])?>&userid=<?=$Request['UserID']?>&deny=true" class="brackets">Deny</a></td>
  84. </tr>
  85. <? } ?>
  86. </table>
  87. </div>
  88. <? View::show_footer(); ?>