Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/erikdubbelboer/phpRedisAdmin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKuvakin Sergey <kuvakin@gmail.com>2013-07-25 23:07:57 +0400
committerKuvakin Sergey <kuvakin@gmail.com>2013-07-25 23:07:57 +0400
commit7e603a5feaf45ed5824d0c93e3221cbf9130e298 (patch)
treeb4629b027d528521fbcc1495c7c4b29a4c6d16c9 /view.php
parente258b0d18df8ab4389d614298b0f2b04bab6e074 (diff)
add pagging for hash, set, zset
Diffstat (limited to 'view.php')
-rw-r--r--view.php40
1 files changed, 34 insertions, 6 deletions
diff --git a/view.php b/view.php
index c023fc9..e814e3f 100644
--- a/view.php
+++ b/view.php
@@ -2,8 +2,9 @@
require_once 'includes/common.inc.php';
-
-
+$count_elements_page = isset($config['count_elements_page']) ? $config['count_elements_page'] : false;
+$page_num_request = isset($_GET['page']) ? (int)$_GET['page'] : 1;
+$page_num_request = $page_num_request === 0 ? 1 : $page_num_request;
$page['css'][] = 'frame';
$page['js'][] = 'frame';
@@ -67,6 +68,9 @@ switch ($type) {
case 'hash':
$values = $redis->hGetAll($_GET['key']);
$size = count($values);
+ if($count_elements_page !== false) {
+ $values = array_slice($values, $count_elements_page*($page_num_request-1), $count_elements_page);
+ }
break;
case 'list':
@@ -76,11 +80,17 @@ switch ($type) {
case 'set':
$values = $redis->sMembers($_GET['key']);
$size = count($values);
+ if($count_elements_page !== false) {
+ $values = array_slice($values, $count_elements_page*($page_num_request-1), $count_elements_page);
+ }
break;
case 'zset':
$values = $redis->zRange($_GET['key'], 0, -1);
$size = count($values);
+ if($count_elements_page !== false) {
+ $values = array_slice($values, $count_elements_page*($page_num_request-1), $count_elements_page);
+ }
break;
}
@@ -103,7 +113,26 @@ switch ($type) {
<p>
<?php
+$pagging = '';
+// make pagging div
+if($count_elements_page !== false && in_array($type, array('hash', 'set', 'zset')) && $size > $count_elements_page) {
+ $pagging .= '<div style="width: inherit; word-wrap: break-word;">';
+ $url = preg_replace('/&page=(\d+)/i', '', $_SERVER['REQUEST_URI']);
+ for ($i = 0; $i < ceil($size/$count_elements_page); ++$i) {
+ $page_num = $i+1;
+ if($page_num === $page_num_request) {
+ $pagging .= $page_num.'&nbsp;';
+ }
+ else {
+ $pagging .= '<a href="'.$url.'&page='.$page_num.'">'.$page_num."</a>&nbsp;";
+ }
+ }
+ $pagging .= '</div>';
+}
+if(!empty($pagging)) {
+ echo $pagging;
+}
// String
if ($type == 'string') { ?>
@@ -137,7 +166,6 @@ else if ($type == 'hash') { ?>
<?php }
-
// List
else if ($type == 'list') { ?>
@@ -197,9 +225,6 @@ else if ($type == 'zset') { ?>
<?php }
-
-
-
if ($type != 'string') { ?>
</table>
@@ -208,6 +233,9 @@ if ($type != 'string') { ?>
</p>
<?php }
+if(!empty($pagging)) {
+ echo $pagging;
+}
require 'includes/footer.inc.php';