From a69d1086ecae0964e10039d92f89e151fb63b503 Mon Sep 17 00:00:00 2001 From: Shish Date: Tue, 25 Aug 2009 02:36:00 +0100 Subject: [PATCH] paginated aliases --- ext/alias_editor/main.php | 24 +++++++++++++++++++++--- ext/alias_editor/theme.php | 4 +++- 2 files changed, 24 insertions(+), 4 deletions(-) diff --git a/ext/alias_editor/main.php b/ext/alias_editor/main.php index 35eb0b9c..6c794061 100644 --- a/ext/alias_editor/main.php +++ b/ext/alias_editor/main.php @@ -46,9 +46,27 @@ class AliasEditor implements Extension { } } else if($event->get_arg(0) == "list") { - $this->theme->display_aliases($page, - $database->db->GetAssoc("SELECT oldtag, newtag FROM aliases ORDER BY newtag"), - $user->is_admin()); + $page_number = $event->get_arg(1); + if(is_null($page_number) || !is_numeric($page_number)) { + $page_number = 0; + } + else if ($page_number <= 0) { + $page_number = 0; + } + else { + $page_number--; + } + + $alias_per_page = $config->get_int('alias_items_per_page', 30); + + $alias = $database->db->GetAssoc( + "SELECT oldtag, newtag FROM aliases ORDER BY newtag ASC LIMIT ?, ?", + array($page_number * $alias_per_page, $alias_per_page) + ); + + $total_pages = ceil($database->db->GetOne("SELECT COUNT(*) FROM aliases") / $alias_per_page); + + $this->theme->display_aliases($page, $alias, $user->is_admin(), $page_number + 1, $total_pages); } else if($event->get_arg(0) == "export") { $page->set_mode("data"); diff --git a/ext/alias_editor/theme.php b/ext/alias_editor/theme.php index c92f9f3f..aa3a52fb 100644 --- a/ext/alias_editor/theme.php +++ b/ext/alias_editor/theme.php @@ -7,7 +7,7 @@ class AliasEditorTheme extends Themelet { * $aliases = an array of ($old_tag => $new_tag) * $is_admin = whether things like "add new alias" should be shown */ - public function display_aliases(Page $page, $aliases, $is_admin) { + public function display_aliases(Page $page, $aliases, $is_admin, $pageNumber, $totalPages) { if($is_admin) { $action = "Action"; $add = " @@ -73,6 +73,8 @@ class AliasEditorTheme extends Themelet { if($is_admin) { $page->add_block(new Block("Bulk Upload", $bulk_html, "main", 51)); } + + $this->display_paginator($page, "alias/list", null, $pageNumber, $totalPages); } } ?>