import.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117
  1. <?php
  2. require_once 'includes/common.inc.php';
  3. // This mess could need some cleanup!
  4. if (isset($_POST['commands'])) {
  5. // Append some spaces at the end to make sure we always have enough arguments for the last function.
  6. $commands = str_getcsv(str_replace(array("\r", "\n"), array('', ' '), $_POST['commands']) . ' ', ' ');
  7. foreach ($commands as &$command) {
  8. $command = stripslashes($command);
  9. }
  10. unset($command);
  11. for ($i = 0; $i < count($commands); ++$i) {
  12. if (empty($commands[$i])) {
  13. continue;
  14. }
  15. $commands[$i] = strtoupper($commands[$i]);
  16. switch ($commands[$i]) {
  17. case 'SET': {
  18. $redis->set($commands[$i + 1], $commands[$i + 2]);
  19. $i += 2;
  20. break;
  21. }
  22. case 'HSET': {
  23. $redis->hSet($commands[$i + 1], $commands[$i + 2], $commands[$i + 3]);
  24. $i += 3;
  25. break;
  26. }
  27. case 'LPUSH': {
  28. $redis->lPush($commands[$i + 1], $commands[$i + 2]);
  29. $i += 2;
  30. break;
  31. }
  32. case 'RPUSH': {
  33. $redis->rPush($commands[$i + 1], $commands[$i + 2]);
  34. $i += 2;
  35. break;
  36. }
  37. case 'LSET': {
  38. $redis->lSet($commands[$i + 1], $commands[$i + 2], $commands[$i + 3]);
  39. $i += 3;
  40. break;
  41. }
  42. case 'SADD': {
  43. $redis->sAdd($commands[$i + 1], $commands[$i + 2]);
  44. $i += 2;
  45. break;
  46. }
  47. case 'ZADD': {
  48. $redis->zAdd($commands[$i + 1], $commands[$i + 2], $commands[$i + 3]);
  49. $i += 3;
  50. break;
  51. }
  52. }
  53. }
  54. // Refresh the top so the key tree is updated.
  55. require 'includes/header.inc.php';
  56. ?>
  57. <script>
  58. top.location.href = top.location.pathname + '?overview&s=<?php echo $server['id'] ?>&d=<?php echo $server['db'] ?>';
  59. </script>
  60. <?php
  61. require 'includes/footer.inc.php';
  62. die;
  63. }
  64. $page['css'][] = 'frame';
  65. $page['js'][] = 'frame';
  66. require 'includes/header.inc.php';
  67. ?>
  68. <h2>Import</h2>
  69. <form action="<?php echo format_html($_SERVER['REQUEST_URI']) ?>" method="post">
  70. <p>
  71. <label for="commands">Commands:<br>
  72. <br>
  73. <span class="info">
  74. Valid are:<br>
  75. SET<br>
  76. HSET<br>
  77. LPUSH<br>
  78. RPUSH<br>
  79. LSET<br>
  80. SADD<br>
  81. ZADD
  82. </span>
  83. </label>
  84. <textarea name="commands" id="commands" cols="80" rows="20"></textarea>
  85. </p>
  86. <p>
  87. <input type="submit" class="button" value="Import">
  88. </p>
  89. </form>
  90. <?php
  91. require 'includes/footer.inc.php';
  92. ?>