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.

clear_cache.php 2.6KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. <?
  2. if (!check_perms('users_mod') || !check_perms('admin_clear_cache')) {
  3. error(403);
  4. }
  5. View::show_header('Clear a cache key');
  6. //Make sure the form was sent
  7. if (!empty($_GET['key'])) {
  8. if (isset($_GET['submit']) && $_GET['submit'] == 'Multi') {
  9. $Keys = array_map('trim', preg_split('/\s+/', $_GET['key']));
  10. } else {
  11. $Keys = [trim($_GET['key'])];
  12. }
  13. }
  14. if (isset($Keys) && $_GET['type'] == 'clear') {
  15. foreach ($Keys as $Key) {
  16. if (preg_match('/(.*?)(\d+)\.\.(\d+)$/', $Key, $Matches) && is_number($Matches[2]) && is_number($Matches[3])) {
  17. for ($i = $Matches[2]; $i <= $Matches[3]; $i++) {
  18. $Cache->delete_value($Matches[1].$i);
  19. }
  20. } else {
  21. $Cache->delete_value($Key);
  22. }
  23. }
  24. echo '<div class="save_message">Key(s) ' . implode(', ', array_map('display_str', $Keys)) . ' cleared!</div>';
  25. }
  26. $MultiKeyTooltip = 'Enter cache keys delimited by any amount of whitespace.';
  27. ?>
  28. <div class="header">
  29. <h2>Clear a cache key</h2>
  30. </div>
  31. <table class="layout" cellpadding="2" cellspacing="1" border="0" align="center">
  32. <tr>
  33. <td>Key</td>
  34. <td>
  35. <form class="manage_form" name="cache" method="get" action="">
  36. <input type="hidden" name="action" value="clear_cache" />
  37. <select name="type">
  38. <option value="view">View</option>
  39. <option value="clear">Clear</option>
  40. </select>
  41. <input type="text" name="key" id="key" class="inputtext" value="<?=(isset($_GET['key']) && (isset($_GET['submit']) && $_GET['submit'] != 'Multi') ? display_str($_GET['key']) : '')?>" />
  42. <input type="submit" name="submit" value="Single" class="submit" />
  43. </form>
  44. </td>
  45. </tr>
  46. <tr class="tooltip" title="<?=$MultiKeyTooltip?>">
  47. <td>Multi-key</td>
  48. <td>
  49. <form class="manage_form" name="cache" method="get" action="">
  50. <input type="hidden" name="action" value="clear_cache" />
  51. <select name="type">
  52. <option value="view">View</option>
  53. <option value="clear">Clear</option>
  54. </select>
  55. <textarea type="text" name="key" id="key" class="inputtext"><?=((isset($_GET['key']) && (isset($_GET['submit']) && $_GET['submit'] == 'Multi')) ? display_str($_GET['key']) : '')?></textarea>
  56. <input type="submit" name="submit" value="Multi" class="submit" />
  57. </form>
  58. </td>
  59. </tr>
  60. </table>
  61. <?
  62. if (isset($Keys) && $_GET['type'] == 'view') {
  63. ?>
  64. <table class="layout" cellpadding="2" cellspacing="1" border="0" align="center" style="margin-top: 1em;">
  65. <?
  66. foreach ($Keys as $Key) {
  67. ?>
  68. <tr>
  69. <td><?=display_str($Key)?></td>
  70. <td>
  71. <pre><? var_dump($Cache->get_value($Key)); ?></pre>
  72. </td>
  73. </tr>
  74. <? } ?>
  75. </table>
  76. <?
  77. }
  78. View::show_footer();