diff --git a/core/paginator.class.php b/core/paginator.class.php
deleted file mode 100644
index 463f92d1..00000000
--- a/core/paginator.class.php
+++ /dev/null
@@ -1,52 +0,0 @@
-body = $this->build_paginator($page_number, $total_pages, $page, $query);
- $this->section = "main";
- $this->position = 90;
- }
-
- private function gen_page_link($base_url, $query, $page, $name) {
- $link = make_link("$base_url/$page", $query);
- return "$name";
- }
-
- private function gen_page_link_block($base_url, $query, $page, $current_page, $name) {
- $paginator = "";
- if($page == $current_page) $paginator .= "";
- $paginator .= $this->gen_page_link($base_url, $query, $page, $name);
- if($page == $current_page) $paginator .= "";
- return $paginator;
- }
-
- private function build_paginator($current_page, $total_pages, $base_url, $query) {
- $next = $current_page + 1;
- $prev = $current_page - 1;
- $rand = rand(1, $total_pages);
-
- $at_start = ($current_page <= 1 || $total_pages <= 1);
- $at_end = ($current_page >= $total_pages);
-
- $first_html = $at_start ? "First" : $this->gen_page_link($base_url, $query, 1, "First");
- $prev_html = $at_start ? "Prev" : $this->gen_page_link($base_url, $query, $prev, "Prev");
- $random_html = $this->gen_page_link($base_url, $query, $rand, "Random");
- $next_html = $at_end ? "Next" : $this->gen_page_link($base_url, $query, $next, "Next");
- $last_html = $at_end ? "Last" : $this->gen_page_link($base_url, $query, $total_pages, "Last");
-
- $start = $current_page-5 > 1 ? $current_page-5 : 1;
- $end = $start+10 < $total_pages ? $start+10 : $total_pages;
-
- $pages = array();
- foreach(range($start, $end) as $i) {
- $pages[] = $this->gen_page_link_block($base_url, $query, $i, $current_page, $i);
- }
- $pages_html = implode(" | ", $pages);
-
- return "
$first_html | $prev_html | $random_html | $next_html | $last_html".
- "
<< $pages_html >>
";
- }
-}
diff --git a/ext/comment/theme.php b/ext/comment/theme.php
index ce3f156d..ea6ba677 100644
--- a/ext/comment/theme.php
+++ b/ext/comment/theme.php
@@ -16,7 +16,7 @@ class CommentListTheme extends Themelet {
$page->set_title("Comments");
$page->set_heading("Comments");
$page->add_block(new Block("Navigation", $nav, "left"));
- $page->add_block(new Paginator("comment/list", null, $page_number, $total_pages), 90);
+ $this->display_paginator($page, "comment/list", null, $page_number, $total_pages);
}
public function display_recent_comments($page, $comments) {
diff --git a/ext/index/theme.php b/ext/index/theme.php
index cc9e572e..d80549db 100644
--- a/ext/index/theme.php
+++ b/ext/index/theme.php
@@ -32,7 +32,7 @@ class IndexTheme extends Themelet {
$page->add_block(new Block("Navigation", $nav, "left", 0));
if(count($images) > 0) {
$page->add_block(new Block("Images", $this->build_table($images, $query), "main", 10));
- $page->add_block(new Paginator("post/list", $query, $this->page_number, $this->total_pages));
+ $this->display_paginator($page, "post/list", $query, $this->page_number, $this->total_pages);
}
else {
$page->add_block(new Block("No Images Found", "No images were found to match the search criteria"));
diff --git a/themes/danbooru/comment.theme.php b/themes/danbooru/comment.theme.php
index c90b6260..905be603 100644
--- a/themes/danbooru/comment.theme.php
+++ b/themes/danbooru/comment.theme.php
@@ -16,7 +16,7 @@ class CommentListTheme extends Themelet {
$page->set_title("Comments");
$page->set_heading("Comments");
$page->add_block(new Block("Navigation", $nav, "left"));
- $page->add_block(new Paginator("comment/list", null, $page_number, $total_pages), 90);
+ $this->display_paginator($page, "comment/list", null, $page_number, $total_pages);
$page->disable_left();
}
diff --git a/themes/danbooru/index.theme.php b/themes/danbooru/index.theme.php
index 8d0966b8..d07aadef 100644
--- a/themes/danbooru/index.theme.php
+++ b/themes/danbooru/index.theme.php
@@ -26,7 +26,7 @@ class IndexTheme extends Themelet {
$page->add_block(new Block("Search", $nav, "left", 0));
if(count($images) > 0) {
$page->add_block(new Block("Images", $this->build_table($images, $query), "main", 10));
- $page->add_block(new Paginator("post/list", $query, $this->page_number, $this->total_pages));
+ $this->display_paginator($page, "post/list", $query, $this->page_number, $this->total_pages);
}
else {
$page->add_block(new Block("No Images Found", "No images were found to match the search criteria"));
diff --git a/themes/danbooru/themelet.class.php b/themes/danbooru/themelet.class.php
index 067a99e9..6763598c 100644
--- a/themes/danbooru/themelet.class.php
+++ b/themes/danbooru/themelet.class.php
@@ -7,5 +7,50 @@ class Themelet {
$page->add_block(new NavBlock());
$page->add_block(new Block("Error", $message));
}
+
+ public function display_paginator($page, $base, $query, $page_number, $total_pages) {
+ $body = $this->build_paginator($page_number, $total_pages, $base, $query);
+ $page->add_block(new Block(null, $body, "main", 90));
+ }
+
+ private function gen_page_link($base_url, $query, $page, $name) {
+ $link = make_link("$base_url/$page", $query);
+ return "$name";
+ }
+
+ private function gen_page_link_block($base_url, $query, $page, $current_page, $name) {
+ $paginator = "";
+ if($page == $current_page) $paginator .= "";
+ $paginator .= $this->gen_page_link($base_url, $query, $page, $name);
+ if($page == $current_page) $paginator .= "";
+ return $paginator;
+ }
+
+ private function build_paginator($current_page, $total_pages, $base_url, $query) {
+ $next = $current_page + 1;
+ $prev = $current_page - 1;
+ $rand = rand(1, $total_pages);
+
+ $at_start = ($current_page <= 1 || $total_pages <= 1);
+ $at_end = ($current_page >= $total_pages);
+
+ $first_html = $at_start ? "First" : $this->gen_page_link($base_url, $query, 1, "First");
+ $prev_html = $at_start ? "Prev" : $this->gen_page_link($base_url, $query, $prev, "Prev");
+ $random_html = $this->gen_page_link($base_url, $query, $rand, "Random");
+ $next_html = $at_end ? "Next" : $this->gen_page_link($base_url, $query, $next, "Next");
+ $last_html = $at_end ? "Last" : $this->gen_page_link($base_url, $query, $total_pages, "Last");
+
+ $start = $current_page-5 > 1 ? $current_page-5 : 1;
+ $end = $start+10 < $total_pages ? $start+10 : $total_pages;
+
+ $pages = array();
+ foreach(range($start, $end) as $i) {
+ $pages[] = $this->gen_page_link_block($base_url, $query, $i, $current_page, $i);
+ }
+ $pages_html = implode(" | ", $pages);
+
+ return "$first_html | $prev_html | $random_html | $next_html | $last_html".
+ "
<< $pages_html >>
";
+ }
}
?>
diff --git a/themes/default/themelet.class.php b/themes/default/themelet.class.php
index f01e4c5f..d27b0581 100644
--- a/themes/default/themelet.class.php
+++ b/themes/default/themelet.class.php
@@ -7,5 +7,51 @@ class Themelet {
$page->add_side_block(new NavBlock());
$page->add_main_block(new Block("Error", $message));
}
+
+
+ public function display_paginator($page, $base, $query, $page_number, $total_pages) {
+ $body = $this->build_paginator($page_number, $total_pages, $base, $query);
+ $page->add_block(new Block(null, $body, "main", 90));
+ }
+
+ private function gen_page_link($base_url, $query, $page, $name) {
+ $link = make_link("$base_url/$page", $query);
+ return "$name";
+ }
+
+ private function gen_page_link_block($base_url, $query, $page, $current_page, $name) {
+ $paginator = "";
+ if($page == $current_page) $paginator .= "";
+ $paginator .= $this->gen_page_link($base_url, $query, $page, $name);
+ if($page == $current_page) $paginator .= "";
+ return $paginator;
+ }
+
+ private function build_paginator($current_page, $total_pages, $base_url, $query) {
+ $next = $current_page + 1;
+ $prev = $current_page - 1;
+ $rand = rand(1, $total_pages);
+
+ $at_start = ($current_page <= 1 || $total_pages <= 1);
+ $at_end = ($current_page >= $total_pages);
+
+ $first_html = $at_start ? "First" : $this->gen_page_link($base_url, $query, 1, "First");
+ $prev_html = $at_start ? "Prev" : $this->gen_page_link($base_url, $query, $prev, "Prev");
+ $random_html = $this->gen_page_link($base_url, $query, $rand, "Random");
+ $next_html = $at_end ? "Next" : $this->gen_page_link($base_url, $query, $next, "Next");
+ $last_html = $at_end ? "Last" : $this->gen_page_link($base_url, $query, $total_pages, "Last");
+
+ $start = $current_page-5 > 1 ? $current_page-5 : 1;
+ $end = $start+10 < $total_pages ? $start+10 : $total_pages;
+
+ $pages = array();
+ foreach(range($start, $end) as $i) {
+ $pages[] = $this->gen_page_link_block($base_url, $query, $i, $current_page, $i);
+ }
+ $pages_html = implode(" | ", $pages);
+
+ return "$first_html | $prev_html | $random_html | $next_html | $last_html".
+ "
<< $pages_html >>
";
+ }
}
?>