paginated aliases

This commit is contained in:
Shish 2009-08-25 02:36:00 +01:00
parent 15d7a76799
commit a69d1086ec
2 changed files with 24 additions and 4 deletions

View File

@ -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");

View File

@ -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 = "<th width='10%'>Action</th>";
$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);
}
}
?>