diff --git a/contrib/autocomplete/main.php b/contrib/autocomplete/main.php
index 91b18952..461dbd6f 100644
--- a/contrib/autocomplete/main.php
+++ b/contrib/autocomplete/main.php
@@ -8,10 +8,10 @@
class AutoComplete implements Extension {
public function receive_event(Event $event) {
- if(($event instanceof PageRequestEvent) && ($event->page_name == "index" || $event->page_name == "view")) {
+ if(($event instanceof PageRequestEvent) && ($event->page_matches("index") || $event->page_matches("view"))) {
$event->page->add_header("");
}
- if(($event instanceof PageRequestEvent) && ($event->page_name == "autocomplete")) {
+ if(($event instanceof PageRequestEvent) && $event->page_matches("autocomplete")) {
$event->page->set_mode("data");
$event->page->set_type("text/plain");
$event->page->set_data($this->get_completions($event->get_arg(0)));
diff --git a/contrib/browser_search/main.php b/contrib/browser_search/main.php
index f2e3cd21..6be6dd33 100755
--- a/contrib/browser_search/main.php
+++ b/contrib/browser_search/main.php
@@ -30,7 +30,7 @@ class BrowserSearch implements Extension {
}
// The search.xml file that is generated on the fly
- if(($event instanceof PageRequestEvent) && ($event->page_name == "browser_search") && $event->get_arg(0) == "please_dont_use_this_tag_as_it_would_break_stuff__search.xml") {
+ if(($event instanceof PageRequestEvent) && $event->page_matches("browser_search/please_dont_use_this_tag_as_it_would_break_stuff__search.xml")) {
// First, we need to build all the variables we'll need
$search_title = $config->get_string('title');
@@ -58,7 +58,12 @@ class BrowserSearch implements Extension {
$page->set_mode("data");
$page->set_type("text/xml");
$page->set_data($xml);
- } else if(($event instanceof PageRequestEvent) && ($event->page_name == "browser_search") && !$config->get_bool("disable_search_suggestions")) { // We need to return results!
+ }
+
+ else if(($event instanceof PageRequestEvent) && (
+ $event->page_matches("browser_search") &&
+ !$config->get_bool("disable_search_suggestions")
+ )) {
global $database;
// We have to build some json stuff
diff --git a/contrib/image_hash_ban/main.php b/contrib/image_hash_ban/main.php
index 6f407830..4be7f918 100644
--- a/contrib/image_hash_ban/main.php
+++ b/contrib/image_hash_ban/main.php
@@ -83,7 +83,11 @@ class ImageBan implements Extension {
}
}
else if($event->get_arg(0) == "list") {
- $this->theme->display_Image_hash_Bans($event->page, $this->get_image_hash_bans());
+ $page_num = 0;
+ if($event->count_args() == 2) {
+ $page_num = int_escape($event->get_arg(1));
+ }
+ $this->theme->display_Image_hash_Bans($event->page, $page_num, $this->get_image_hash_bans($page_num));
}
}
}
@@ -124,10 +128,12 @@ class ImageBan implements Extension {
// DB funness
- public function get_image_hash_bans() {
+ public function get_image_hash_bans($page, $size=1000) {
// FIXME: many
+ $size_i = int_escape($size);
+ $offset_i = int_escape($page)*$size_i;
global $database;
- $bans = $database->get_all("SELECT * FROM image_bans");
+ $bans = $database->get_all("SELECT * FROM image_bans LIMIT $size_i OFFSET $offset_i");
if($bans) {return $bans;}
else {return array();}
}
diff --git a/contrib/image_hash_ban/theme.php b/contrib/image_hash_ban/theme.php
index 601b57da..2f978d15 100644
--- a/contrib/image_hash_ban/theme.php
+++ b/contrib/image_hash_ban/theme.php
@@ -20,7 +20,7 @@ class ImageBanTheme extends Themelet {
* 'date' => when the ban started
* )
*/
- public function display_image_hash_bans($page, $bans) {
+ public function display_image_hash_bans($page, $page_number, $bans) {
$h_bans = "";
foreach($bans as $ban) {
$h_bans .= "
@@ -49,10 +49,20 @@ class ImageBanTheme extends Themelet {
";
+
+ $prev = $page_number - 1;
+ $next = $page_number + 1;
+
+ $h_prev = ($page_number <= 1) ? "Prev" : "Prev";
+ $h_index = "Index";
+ $h_next = "Next";
+
+ $nav = "$h_prev | $h_index | $h_next";
+
$page->set_title("Image Bans");
$page->set_heading("Image Bans");
- $page->add_block(new NavBlock());
$page->add_block(new Block("Edit Image Bans", $html));
+ $page->add_block(new Block("Navigation", $nav, "left", 0));
}
/*
diff --git a/contrib/tagger/main.php b/contrib/tagger/main.php
index a069d4e5..f65a0935 100644
--- a/contrib/tagger/main.php
+++ b/contrib/tagger/main.php
@@ -9,7 +9,7 @@
class Tagger implements Extension {
var $theme;
- public function receive_event ($event) {
+ public function receive_event(Event $event) {
if(is_null($this->theme))
$this->theme = get_theme_object($this);
@@ -43,10 +43,7 @@ add_event_listener(new Tagger());
// Tagger AJAX back-end
class TaggerXML implements Extension {
public function receive_event(Event $event) {
- if(($event instanceof PageRequestEvent)
- && $event->page_name == "tagger"
- && $event->get_arg(0) == "tags")
- {
+ if(($event instanceof PageRequestEvent) && $event->page_matches("tagger/tags")) {
global $page;
//$match_tags = null;
@@ -55,9 +52,9 @@ class TaggerXML implements Extension {
if (isset($_GET['s'])) { // tagger/tags[/...]?s=$string
// return matching tags in XML form
$tags = $this->match_tag_list($_GET['s']);
- } else if($event->get_arg(1)) { // tagger/tags/$int
+ } else if($event->get_arg(0)) { // tagger/tags/$int
// return arg[1] AS image_id's tag list in XML form
- $tags = $this->image_tag_list($event->get_arg(1));
+ $tags = $this->image_tag_list($event->get_arg(0));
}
$xml = "\n".