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

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. if (!$Deny) {
  20. $DB->query("
  21. SELECT UserID
  22. FROM users_history_emails
  23. WHERE Email = '$Email'");
  24. if (!$DB->has_results()) {
  25. $Err = "That email doesn't exist.";
  26. } else {
  27. list($UserID) = $DB->next_record();
  28. if ($UserID != $_GET['userid']) {
  29. $Err = "The UserID is incorrect?";
  30. } else {
  31. $DB->query("
  32. SELECT Email
  33. FROM users_history_emails
  34. WHERE UserID = '$UserID'");
  35. $ToDelete = array();
  36. while (list($EncEmail) = $DB->next_record()) {
  37. if (DBCrypt::decrypt($Email) == DBCrypt::decrypt($EncEmail)) {
  38. $ToDelete[] = $EncEmail;
  39. }
  40. }
  41. forEach ($ToDelete as $DelEmail) {
  42. $DB->query("
  43. DELETE FROM users_history_emails
  44. WHERE UserID = $UserID
  45. AND Email = '$DelEmail'");
  46. }
  47. $Succ = "Email deleted.";
  48. 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!");
  49. }
  50. }
  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. $Cache->delete_value('num_email_delete_requests');
  56. }
  57. View::show_header("Email Deletion Requests");
  58. ?>
  59. <div class="header">
  60. <h2>Email Deletion Requests</h2>
  61. </div>
  62. <? if (isset($Err)) { ?>
  63. <span>Error: <?=$Err?></span>
  64. <? } elseif (isset($Succ)) { ?>
  65. <span>Success: <?=$Succ?></span>
  66. <? } ?>
  67. <div class="thin">
  68. <table width="100%">
  69. <tr class="colhead">
  70. <td>User</td>
  71. <td>Email</td>
  72. <td>Reason</td>
  73. <td>Accept</td>
  74. <td>Deny</td>
  75. </tr>
  76. <? foreach ($Requests as $Request) { ?>
  77. <tr>
  78. <td><?=Users::format_username($Request['UserID'])?></td>
  79. <td><?=DBCrypt::decrypt($Request['Email'])?></td>
  80. <td><?=display_str($Request['Reason'])?></td>
  81. <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>
  82. <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>
  83. </tr>
  84. <? } ?>
  85. </table>
  86. </div>
  87. <? View::show_footer(); ?>