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.

take_delete_ip.php 1.5KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. <?
  2. enforce_login();
  3. authorize();
  4. if (!isset($_POST['ips']) || !is_array($_POST['ips'])) {
  5. error("Stop that.");
  6. }
  7. if (!apcu_exists('DBKEY')) {
  8. error(403);
  9. }
  10. $EncIPs = $_POST['ips'];
  11. $Reason = $_POST['reason'] ?? '';
  12. forEach ($EncIPs as $EncIP) {
  13. $DB->query("
  14. SELECT UserID
  15. FROM users_history_ips
  16. WHERE IP = '".db_string($EncIP)."'");
  17. if (!$DB->has_results()) {
  18. error('IP not found');
  19. }
  20. list($UserID) = $DB->next_record();
  21. if (!check_perms('users_mod') && ($UserID != $LoggedUser['ID'])) {
  22. error(403);
  23. }
  24. $DB->query("
  25. SELECT IP
  26. FROM users_main
  27. WHERE ID = '$UserID'");
  28. if (!$DB->has_results()) {
  29. error(404);
  30. }
  31. list($Curr) = $DB->next_record();
  32. $Curr = DBCrypt::decrypt($Curr);
  33. if ($Curr == DBCrypt::decrypt($EncIP)) {
  34. error("You can't delete your current IP.");
  35. }
  36. }
  37. //Okay I think everything checks out.
  38. $DB->query("
  39. INSERT INTO deletion_requests
  40. (UserID, Type, Value, Reason, Time)
  41. VALUES
  42. ('$UserID', 'IP', '".db_string($EncIPs[0])."', '".db_string($Reason)."', NOW())");
  43. $Cache->delete_value('num_deletion_requests');
  44. View::show_header('IP Address Deletion Request');
  45. ?>
  46. <div class="thin">
  47. <h2 id="general">IP Address Deletion Request</h2>
  48. <div class="box pad" style="padding: 10px 10px 10px 20px;">
  49. <p>Your request has been sent. Please wait for it to be acknowledged.</p>
  50. <p>After it's accepted or denied by staff, you will receive a PM response.</p>
  51. <p><a href="/index.php">Return</a></p>
  52. </div>
  53. </div>
  54. <? View::show_footer(); ?>