Tag List to simpleext

This commit is contained in:
Shish 2012-01-27 17:02:08 +00:00
parent 5c2140a028
commit f5eadb9011

View File

@ -5,15 +5,9 @@
* Description: Show the tags in various ways
*/
class TagList implements Extension {
var $theme = null;
// event handling {{{
public function receive_event(Event $event) {
global $config, $database, $page, $user;
if($this->theme == null) $this->theme = get_theme_object($this);
if($event instanceof InitExtEvent) {
class TagList extends SimpleExtension {
public function onInitExt($event) {
global $config;
$config->set_default_int("tag_list_length", 15);
$config->set_default_int("popular_tag_list_length", 15);
$config->set_default_int("tags_min", 3);
@ -22,7 +16,10 @@ class TagList implements Extension {
$config->set_default_bool("tag_list_pages", false);
}
if(($event instanceof PageRequestEvent) && $event->page_matches("tags")) {
public function onPageRequest($event) {
global $page, $database;
if($event->page_matches("tags")) {
$this->theme->set_navigation($this->build_navigation());
switch($event->get_arg(0)) {
default:
@ -46,7 +43,7 @@ class TagList implements Extension {
$this->theme->display_page($page);
}
if(($event instanceof PageRequestEvent) && $event->page_matches("api/internal/tag_list/complete")) {
if($event->page_matches("api/internal/tag_list/complete")) {
if(!isset($_GET["s"])) return;
$all = $database->get_all(
@ -60,8 +57,10 @@ class TagList implements Extension {
$page->set_type("text/plain");
$page->set_data(implode("\n", $res));
}
}
if($event instanceof PostListBuildingEvent) {
public function onPostListBuilding($event) {
global $config, $page;
if($config->get_int('tag_list_length') > 0) {
if(!empty($event->search_terms)) {
$this->add_refine_block($page, $event->search_terms);
@ -72,7 +71,8 @@ class TagList implements Extension {
}
}
if($event instanceof DisplayingImageEvent) {
public function onDisplayingImage($event) {
global $config, $page;
if($config->get_int('tag_list_length') > 0) {
if($config->get_string('tag_list_image_type') == 'related') {
$this->add_related_block($page, $event->image);
@ -83,7 +83,7 @@ class TagList implements Extension {
}
}
if($event instanceof SetupBuildingEvent) {
public function onSetupBuilding($event) {
$sb = new SetupBlock("Tag Map Options");
$sb->add_int_option("tags_min", "Only show tags used at least "); $sb->add_label(" times");
$sb->add_bool_option("tag_list_pages", "<br>Paged tag lists: ");
@ -100,7 +100,6 @@ class TagList implements Extension {
$sb->add_bool_option("tag_list_numbers", "<br>Show tag counts: ");
$event->panel->add_block($sb);
}
}
// }}}
// misc {{{
private function tag_link($tag) {