diff --git a/contrib/admin/main.php b/contrib/admin/main.php index 3d03915d..12c2e347 100644 --- a/contrib/admin/main.php +++ b/contrib/admin/main.php @@ -30,13 +30,13 @@ */ class AdminBuildingEvent extends Event { var $page; - public function AdminBuildingEvent($page) { + public function AdminBuildingEvent(Page $page) { $this->page = $page; } } class AdminPage extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if($event->page_matches("admin")) { @@ -88,20 +88,20 @@ class AdminPage extends SimpleExtension { } } - public function onAdminBuilding($event) { + public function onAdminBuilding(AdminBuildingEvent $event) { global $page; $this->theme->display_page($page); $this->theme->display_form($page); } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("Board Admin", make_link("admin")); } } - private function delete_by_query($query) { + private function delete_by_query(/*array(string)*/ $query) { global $page, $user; assert(strlen($query) > 1); foreach(Image::find_images(0, 1000000, Tag::explode($query)) as $image) { diff --git a/contrib/artists/main.php b/contrib/artists/main.php index 0bde987d..361502e8 100644 --- a/contrib/artists/main.php +++ b/contrib/artists/main.php @@ -11,7 +11,7 @@ class AuthorSetEvent extends Event { var $image, $user, $author; - public function AuthorSetEvent(Image $image, User $user, $author) + public function AuthorSetEvent(Image $image, User $user, /*string*/ $author) { $this->image = $image; $this->user = $user; diff --git a/contrib/blocks/main.php b/contrib/blocks/main.php index c3525c63..2fd3dfa7 100644 --- a/contrib/blocks/main.php +++ b/contrib/blocks/main.php @@ -28,7 +28,7 @@ */ class Blocks extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page; $all = $config->get_string("blocks_text"); $blocks = explode("----", $all); @@ -70,7 +70,7 @@ class Blocks extends SimpleExtension { } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Blocks"); $sb->add_label("See the docs for formatting"); $sb->add_longtext_option("blocks_text"); diff --git a/contrib/blotter/main.php b/contrib/blotter/main.php index d689ba15..8dd4daad 100644 --- a/contrib/blotter/main.php +++ b/contrib/blotter/main.php @@ -9,7 +9,7 @@ * Development TODO at http://github.com/zshall/shimmie2/issues */ class Blotter extends SimpleExtension { - public function onInitExt(Event $event) { + public function onInitExt(InitExtEvent $event) { /** * I love re-using this installer don't I... */ @@ -43,7 +43,7 @@ class Blotter extends SimpleExtension { $config->set_default_string("blotter_position", "subheading"); } - public function onSetupBuilding(Event $event) { + public function onSetupBuilding(SetupBuildingEvent $event) { global $config; $sb = new SetupBlock("Blotter"); $sb->add_int_option("blotter_recent", "
Number of recent entries to display: "); @@ -51,13 +51,13 @@ class Blotter extends SimpleExtension { $sb->add_choice_option("blotter_position", array("Top of page" => "subheading", "In navigation bar" => "left"), "
Position: "); $event->panel->add_block($sb); } - public function onUserBlockBuilding(Event $event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("Blotter Editor", make_link("blotter/editor")); } } - public function onPageRequest(Event $event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $database, $user; if($event->page_matches("blotter")) { switch($event->get_arg(0)) { diff --git a/contrib/bookmarks/main.php b/contrib/bookmarks/main.php index da86f605..3ed8db45 100644 --- a/contrib/bookmarks/main.php +++ b/contrib/bookmarks/main.php @@ -6,16 +6,15 @@ * Description: Allow users to bookmark searches */ -class Bookmarks implements Extension { - var $theme; +class Bookmarks extends SimpleExtension { + public function onInitExt(InitExtEvent $event) { + $this->install(); + } - public function get_priority() {return 50;} + public function onPageRequest(PageRequestEvent $event) { + global $page; - public function receive_event(Event $event) { - global $config, $database, $page, $user; - if(is_null($this->theme)) $this->theme = get_theme_object($this); - - if(($event instanceof PageRequestEvent) && $event->page_matches("bookmark")) { + if($event->page_matches("bookmark")) { if($event->get_arg(0) == "add") { if(isset($_POST['url'])) { $page->set_mode("redirect"); diff --git a/contrib/browser_search/main.php b/contrib/browser_search/main.php index cf5ee6ac..80c399c2 100755 --- a/contrib/browser_search/main.php +++ b/contrib/browser_search/main.php @@ -13,36 +13,29 @@ * engine" notification they have */ -class BrowserSearch implements Extension { +class BrowserSearch extends SimpleExtension { + public function onInitExt(InitExtEvent $event) { + global $config; + $config->set_default_string("search_suggestions_results_order", 'a'); + } - public function get_priority() {return 50;} - public function receive_event(Event $event) { - global $page; - global $config; - - if($event instanceof InitExtEvent) { - $config->set_default_string("search_suggestions_results_order", 'a'); - } + public function onPageRequest(PageRequestEvent $event) { + global $config, $database, $page; // Add in header code to let the browser know that the search plugin exists - if($event instanceof PageRequestEvent) { - // We need to build the data for the header - global $config; - $search_title = $config->get_string('title'); - $search_file_url = make_link('browser_search/please_dont_use_this_tag_as_it_would_break_stuff__search.xml'); - $page->add_html_header(""); - } + // We need to build the data for the header + $search_title = $config->get_string('title'); + $search_file_url = make_link('browser_search/please_dont_use_this_tag_as_it_would_break_stuff__search.xml'); + $page->add_html_header(""); // The search.xml file that is generated on the fly - if(($event instanceof PageRequestEvent) && $event->page_matches("browser_search/please_dont_use_this_tag_as_it_would_break_stuff__search.xml")) { + if($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'); $search_form_url = make_link('post/list/{searchTerms}'); $suggenton_url = make_link('browser_search/')."{searchTerms}"; $icon_b64 = base64_encode(file_get_contents("favicon.ico")); - // Now for the XML $xml = " @@ -63,12 +56,10 @@ class BrowserSearch implements Extension { $page->set_data($xml); } - else if(($event instanceof PageRequestEvent) && ( - $event->page_matches("browser_search") && - !$config->get_bool("disable_search_suggestions") - )) { - global $database; - + else if( + $event->page_matches("browser_search") && + !$config->get_bool("disable_search_suggestions") + ) { // We have to build some json stuff $tag_search = $event->get_arg(0); @@ -89,29 +80,25 @@ class BrowserSearch implements Extension { array_push($tags_array,$tag['tag']); } - $json_tag_list .= implode("\",\"", $tags_array); -// $json_tag_list = implode($tags_array,", "); -// $json_tag_list = "\"".implode($tags_array,"\", \"")."\""; - // And now for the final output $json_string = "[\"$tag_search\",[\"$json_tag_list\"],[],[]]"; $page->set_mode("data"); $page->set_data($json_string); } + } - if($event instanceof SetupBuildingEvent) { - $sort_by = array(); - $sort_by['Alphabetical'] = 'a'; - $sort_by['Tag Count'] = 't'; + public function onSetupBuilding(SetupBuildingEvent $event) { + $sort_by = array(); + $sort_by['Alphabetical'] = 'a'; + $sort_by['Tag Count'] = 't'; - $sb = new SetupBlock("Browser Search"); - $sb->add_bool_option("disable_search_suggestions", "Disable search suggestions: "); - $sb->add_label("
"); - $sb->add_choice_option("search_suggestions_results_order", $sort_by, "Sort the suggestions by:"); - $event->panel->add_block($sb); - } + $sb = new SetupBlock("Browser Search"); + $sb->add_bool_option("disable_search_suggestions", "Disable search suggestions: "); + $sb->add_label("
"); + $sb->add_choice_option("search_suggestions_results_order", $sort_by, "Sort the suggestions by:"); + $event->panel->add_block($sb); } } ?> diff --git a/contrib/bulk_add/main.php b/contrib/bulk_add/main.php index 0fa89029..676fc14e 100644 --- a/contrib/bulk_add/main.php +++ b/contrib/bulk_add/main.php @@ -15,7 +15,7 @@ */ class BulkAdd extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if($event->page_matches("bulk_add")) { if($user->is_admin() && $user->check_auth_token() && isset($_POST['dir'])) { @@ -26,7 +26,7 @@ class BulkAdd extends SimpleExtension { } } - public function onAdminBuilding($event) { + public function onAdminBuilding(AdminBuildingEvent $event) { $this->theme->display_admin_block(); } diff --git a/contrib/danbooru_api/main.php b/contrib/danbooru_api/main.php index 898680f2..f47a34e8 100644 --- a/contrib/danbooru_api/main.php +++ b/contrib/danbooru_api/main.php @@ -47,33 +47,23 @@ Completely compatibility will probably involve a rewrite with a different URL */ -class DanbooruApi implements Extension -{ - - public function get_priority() {return 50;} - // Receive the event - public function receive_event(Event $event) - { - // Check if someone is accessing /api/danbooru (us) - if(($event instanceof PageRequestEvent) && ($event->page_matches("api")) && ($event->get_arg(0) == 'danbooru')) - { - // execute the danbooru processing code +class DanbooruApi extends SimpleExtension { + public function onPageRequest(PageRequestEvent $event) { + if($event->page_matches("api") && ($event->get_arg(0) == 'danbooru')) { $this->api_danbooru($event); } - if($event instanceof SearchTermParseEvent) - { - $matches = array(); - if(preg_match("/^md5:([0-9a-fA-F]*)$/i", $event->term, $matches)) - { - $hash = strtolower($matches[1]); - $event->add_querylet(new Querylet("images.hash = '$hash'")); // :-O -// $event->set_querylet(new Querylet("images.hash = '$hash'")); - } + } + + public function onSearchTermParse(SearchTermParseEvent $event) { + $matches = array(); + if(preg_match("/^md5:([0-9a-fA-F]*)$/i", $event->term, $matches)) { + $hash = strtolower($matches[1]); + $event->add_querylet(new Querylet("images.hash = '$hash'")); // :-O } } // Danbooru API - private function api_danbooru($event) + private function api_danbooru(PageRequestEvent $event) { global $page; global $config; diff --git a/contrib/emoticons/main.php b/contrib/emoticons/main.php index 67d14e29..d7805f47 100644 --- a/contrib/emoticons/main.php +++ b/contrib/emoticons/main.php @@ -13,19 +13,19 @@ */ class Emoticons extends FormatterExtension { - public function format($text) { + public function format(/*string*/ $text) { $data_href = get_base_href(); $text = preg_replace("/:([a-z]*?):/s", "", $text); return $text; } - public function strip($text) { + public function strip(/*string*/ $text) { return $text; } } class EmoticonList extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { if($event->page_matches("emote/list")) { $this->theme->display_emotes(glob("ext/emoticons/default/*")); } diff --git a/contrib/et/main.php b/contrib/et/main.php index dd6babe2..d54b5631 100644 --- a/contrib/et/main.php +++ b/contrib/et/main.php @@ -13,7 +13,7 @@ */ class ET extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $user; if($event->page_matches("system_info")) { if($user->is_admin()) { @@ -22,7 +22,7 @@ class ET extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("System Info", make_link("system_info")); @@ -46,9 +46,6 @@ class ET extends SimpleExtension { $info['sys_disk'] = to_shorthand_int(disk_total_space("./") - disk_free_space("./")) . " / " . to_shorthand_int(disk_total_space("./")); $info['sys_server'] = $_SERVER["SERVER_SOFTWARE"]; - $proto = preg_replace("#(.*)://.*#", "$1", DATABASE_DSN); - #$db = $database->db->ServerInfo(); - #$info['sys_db'] = "$proto / {$db['version']}"; $info['stat_images'] = $database->get_one("SELECT COUNT(*) FROM images"); $info['stat_comments'] = $database->get_one("SELECT COUNT(*) FROM comments"); diff --git a/contrib/favorites/main.php b/contrib/favorites/main.php index 15f266c2..9a66fd65 100644 --- a/contrib/favorites/main.php +++ b/contrib/favorites/main.php @@ -16,7 +16,7 @@ class FavoriteSetEvent extends Event { var $image_id, $user, $do_set; - public function FavoriteSetEvent($image_id, User $user, $do_set) { + public function FavoriteSetEvent(/*int*/ $image_id, User $user, /*boolean*/ $do_set) { assert(is_numeric($image_id)); assert(is_bool($do_set)); @@ -27,14 +27,14 @@ class FavoriteSetEvent extends Event { } class Favorites extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config; if($config->get_int("ext_favorites_version", 0) < 1) { $this->install(); } } - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $database, $page, $user; if(!$user->is_anonymous()) { $user_id = $user->id; @@ -48,14 +48,14 @@ class Favorites extends SimpleExtension { } } - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { $people = $this->list_persons_who_have_favorited($event->image); if(count($people) > 0) { $html = $this->theme->display_people($people); } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if($event->page_matches("change_favorite") && !$user->is_anonymous() && $user->check_auth_token()) { $image_id = int_escape($_POST['image_id']); @@ -67,7 +67,7 @@ class Favorites extends SimpleExtension { } } - public function onUserPageBuilding($event) { + public function onUserPageBuilding(UserPageBuildingEvent $event) { $i_favorites_count = Image::count_images(array("favorited_by={$event->display_user->name}")); $i_days_old = ((time() - strtotime($event->display_user->join_date)) / 86400) + 1; $h_favorites_rate = sprintf("%.1f", ($i_favorites_count / $i_days_old)); @@ -75,7 +75,7 @@ class Favorites extends SimpleExtension { $event->add_stats("Images favorited: $i_favorites_count, $h_favorites_rate per day"); } - public function onImageInfoSet($event) { + public function onImageInfoSet(ImageInfoSetEvent $event) { global $user; if( in_array('favorite_action', $_POST) && @@ -85,28 +85,30 @@ class Favorites extends SimpleExtension { } } - public function onFavoriteSet($event) { + public function onFavoriteSet(FavoriteSetEvent $event) { global $user; $this->add_vote($event->image_id, $user->id, $event->do_set); } - public function onImageDeletion($event) { + // FIXME: this should be handled by the foreign key. Check that it + // is, and then remove this + public function onImageDeletion(ImageDeletionEvent $event) { global $database; $database->execute("DELETE FROM user_favorites WHERE image_id=:image_id", array("image_id"=>$event->image->id)); } - public function onParseLinkTemplate($event) { + public function onParseLinkTemplate(ParseLinkTemplateEvent $event) { $event->replace('$favorites', $event->image->favorites); } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; $username = url_escape($user->name); $event->add_link("My Favorites", make_link("post/list/favorited_by=$username/1"), 20); } - public function onSearchTermParse($event) { + public function onSearchTermParse(SearchTermParseEvent $event) { $matches = array(); if(preg_match("/favorites(<|>|<=|>=|=)(\d+)/", $event->term, $matches)) { $cmp = $matches[1]; @@ -181,7 +183,7 @@ class Favorites extends SimpleExtension { array("image_id"=>$image_id, "user_id"=>$user_id)); } - private function list_persons_who_have_favorited($image) { + private function list_persons_who_have_favorited(Image $image) { global $database; return $database->get_col( diff --git a/contrib/featured/main.php b/contrib/featured/main.php index 12f06b08..a4defb11 100644 --- a/contrib/featured/main.php +++ b/contrib/featured/main.php @@ -19,12 +19,12 @@ */ class Featured extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config; $config->set_default_int('featured_id', 0); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page, $user; if($event->page_matches("featured_image")) { if($event->get_arg(0) == "set" && $user->check_auth_token()) { @@ -54,7 +54,7 @@ class Featured extends SimpleExtension { } } - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $database, $page, $user; $fid = $config->get_int("featured_id"); if($fid > 0) { @@ -74,7 +74,7 @@ class Featured extends SimpleExtension { } } - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_part($this->theme->get_buttons_html($event->image->id)); diff --git a/contrib/forum/main.php b/contrib/forum/main.php index a2b2365e..2604c426 100644 --- a/contrib/forum/main.php +++ b/contrib/forum/main.php @@ -9,7 +9,7 @@ */ class Forum extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config, $database; // shortcut to latest @@ -57,7 +57,7 @@ class Forum extends SimpleExtension { $event->panel->add_block($sb); } - public function onUserPageBuilding($event) { + public function onUserPageBuilding(UserPageBuildingEvent $event) { global $page, $user, $database; $threads_count = $database->get_one("SELECT COUNT(*) FROM forum_threads WHERE user_id=?", array($event->display_user->id)); @@ -73,7 +73,7 @@ class Forum extends SimpleExtension { } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if($event->page_matches("forum")) { diff --git a/contrib/handle_archive/main.php b/contrib/handle_archive/main.php index 976f3ca0..c8b92200 100644 --- a/contrib/handle_archive/main.php +++ b/contrib/handle_archive/main.php @@ -11,12 +11,12 @@ */ class ArchiveFileHandler extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config; $config->set_default_string('archive_extract_command', 'unzip -d "%d" "%f"'); } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Archive Handler Options"); $sb->add_text_option("archive_tmp_dir", "Temporary folder: "); $sb->add_text_option("archive_extract_command", "
Extraction command: "); @@ -24,7 +24,7 @@ class ArchiveFileHandler extends SimpleExtension { $event->panel->add_block($sb); } - public function onDataUpload($event) { + public function onDataUpload(DataUploadEvent $event) { if($this->supported_ext($event->type)) { global $config; $tmp = sys_get_temp_dir(); diff --git a/contrib/handle_ico/main.php b/contrib/handle_ico/main.php index 771dd506..d8475279 100644 --- a/contrib/handle_ico/main.php +++ b/contrib/handle_ico/main.php @@ -6,7 +6,7 @@ */ class IcoFileHandler extends SimpleExtension { - public function onDataUpload($event) { + public function onDataUpload(DataUploadEvent $event) { if($this->supported_ext($event->type) && $this->check_contents($event->tmpname)) { $hash = $event->hash; $ha = substr($hash, 0, 2); @@ -22,20 +22,20 @@ class IcoFileHandler extends SimpleExtension { } } - public function onThumbnailGeneration($event) { + public function onThumbnailGeneration(ThumbnailGenerationEvent $event) { if($this->supported_ext($event->type)) { $this->create_thumb($event->hash); } } - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { global $page; if($this->supported_ext($event->image->ext)) { $this->theme->display_image($page, $event->image); } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $database, $page; if($event->page_matches("get_ico")) { $id = int_escape($event->get_arg(0)); diff --git a/contrib/holiday/main.php b/contrib/holiday/main.php index aea352f8..58c90a37 100644 --- a/contrib/holiday/main.php +++ b/contrib/holiday/main.php @@ -7,19 +7,19 @@ * Description: Use an additional stylesheet on certain holidays. */ class Holiday extends SimpleExtension { - public function onInitExt(Event $event) { + public function onInitExt(InitExtEvent $event) { global $config; $config->set_default_bool("holiday_aprilfools", false); } - public function onSetupBuilding(Event $event) { + public function onSetupBuilding(SetupBuildingEvent $event) { global $config; $sb = new SetupBlock("Holiday Theme"); $sb->add_bool_option("holiday_aprilfools", "Enable April Fools"); $event->panel->add_block($sb); } - public function onPageRequest(Event $event) { + public function onPageRequest(PageRequestEvent $event) { global $config; $date = /*date('d/m') == '01/01' ||date('d/m') == '14/02' || */date('d/m') == '01/04'/* || date('d/m') == '24/12' || date('d/m') == '25/12' || date('d/m') == '31/12'*/; if($date){ diff --git a/contrib/ipban/main.php b/contrib/ipban/main.php index bd9a11d0..2697155a 100644 --- a/contrib/ipban/main.php +++ b/contrib/ipban/main.php @@ -37,7 +37,7 @@ class AddIPBanEvent extends Event { class IPBan extends SimpleExtension { public function get_priority() {return 10;} - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config; if($config->get_int("ext_ipban_version") < 5) { $this->install(); @@ -45,7 +45,7 @@ class IPBan extends SimpleExtension { $this->check_ip_ban(); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { if($event->page_matches("ip_ban")) { global $config, $database, $page, $user; if($user->is_admin()) { @@ -77,19 +77,19 @@ class IPBan extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("IP Bans", make_link("ip_ban/list")); } } - public function onAddIPBan($event) { + public function onAddIPBan(AddIPBanEvent $event) { global $user; $this->add_ip_ban($event->ip, $event->reason, $event->end, $user); } - public function onRemoveIPBan($event) { + public function onRemoveIPBan(RemoveIPBanEvent $event) { global $database; $database->Execute("DELETE FROM bans WHERE id = :id", array("id"=>$event->id)); $database->cache->delete("ip_bans_sorted"); @@ -178,7 +178,7 @@ class IPBan extends SimpleExtension { } } - private function block($remote) { + private function block(/*string*/ $remote) { global $config, $database; $prefix = ($database->engine->name == "sqlite" ? "bans." : ""); diff --git a/contrib/link_image/main.php b/contrib/link_image/main.php index d8773362..28366e4d 100644 --- a/contrib/link_image/main.php +++ b/contrib/link_image/main.php @@ -4,29 +4,22 @@ * Author: Artanis * Description: Show various forms of link to each image, for copy & paste */ -class LinkImage implements Extension { - var $theme; +class LinkImage extends SimpleExtension { + public function onDisplayingImage(DisplayingImageEvent $event) { + global $page; + $this->theme->links_block($page, $this->data($event->image)); + } - public function get_priority() {return 50;} + public function onSetupBuildingEvent(SetupBuildingEvent $event) { + $sb = new SetupBlock("Link to Image"); + $sb->add_text_option("ext_link-img_text-link_format", "Text Link Format: "); + $event->panel->add_block($sb); + } - public function receive_event(Event $event) { - global $config, $database, $page, $user; - if(is_null($this->theme)) $this->theme = get_theme_object($this); - - if(($event instanceof DisplayingImageEvent)) { - $this->theme->links_block($page, $this->data($event->image)); - } - if($event instanceof SetupBuildingEvent) { - $sb = new SetupBlock("Link to Image"); - $sb->add_text_option("ext_link-img_text-link_format", "Text Link Format: "); - $event->panel->add_block($sb); - } - if($event instanceof InitExtEvent) { - //just set default if empty. - $config->set_default_string("ext_link-img_text-link_format", - '$title - $id ($ext $size $filesize)'); - } - } + public function onInitExtEvent(InitExtEvent $event) { + global $config; + $config->set_default_string("ext_link-img_text-link_format", '$title - $id ($ext $size $filesize)'); + } private function hostify($str) { $str = str_replace(" ", "%20", $str); @@ -37,7 +30,8 @@ class LinkImage implements Extension { return "http://" . $_SERVER["HTTP_HOST"] . $str; } } - private function data($image) { + + private function data(Image $image) { global $config; $text_link = $image->parse_link_template($config->get_string("ext_link-img_text-link_format")); diff --git a/contrib/log_db/main.php b/contrib/log_db/main.php index 2e51ce24..f83a2aa6 100644 --- a/contrib/log_db/main.php +++ b/contrib/log_db/main.php @@ -7,7 +7,7 @@ */ class LogDatabase extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $database; global $config; @@ -28,7 +28,7 @@ class LogDatabase extends SimpleExtension { $config->set_default_int("log_db_priority", SCORE_LOG_INFO); } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Logging (Database)"); $sb->add_choice_option("log_db_priority", array( "Debug" => SCORE_LOG_DEBUG, @@ -40,7 +40,7 @@ class LogDatabase extends SimpleExtension { $event->panel->add_block($sb); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $database, $user; if($event->page_matches("log/view")) { if($user->is_admin()) { @@ -104,14 +104,14 @@ class LogDatabase extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("Event Log", make_link("log/view")); } } - public function onLog($event) { + public function onLog(LogEvent $event) { global $config, $database, $user; $username = ($user && $user->name) ? $user->name : "null"; diff --git a/contrib/mass_tagger/main.php b/contrib/mass_tagger/main.php index a83dda44..8cc3c893 100644 --- a/contrib/mass_tagger/main.php +++ b/contrib/mass_tagger/main.php @@ -15,7 +15,7 @@ */ class MassTagger extends SimpleExtension { - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page, $user; if( !$user->is_admin() ) return; @@ -23,7 +23,7 @@ class MassTagger extends SimpleExtension { $this->theme->display_mass_tagger( $page, $event, $config ); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page, $user; if( !$event->page_matches("mass_tagger") ) return; if( !$user->is_admin() ) return; diff --git a/contrib/news/main.php b/contrib/news/main.php index 69c87255..2091a6ef 100644 --- a/contrib/news/main.php +++ b/contrib/news/main.php @@ -9,14 +9,14 @@ */ class News extends SimpleExtension { - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page; if(strlen($config->get_string("news_text")) > 0) { $this->theme->display_news($page, $config->get_string("news_text")); } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("News"); $sb->add_longtext_option("news_text"); $event->panel->add_block($sb); diff --git a/contrib/notes/main.php b/contrib/notes/main.php index ea82ea6c..3e894770 100644 --- a/contrib/notes/main.php +++ b/contrib/notes/main.php @@ -8,7 +8,7 @@ */ class Notes extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config, $database; // shortcut to latest @@ -66,9 +66,7 @@ class Notes extends SimpleExtension { } } - - - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if($event->page_matches("note")) { @@ -179,7 +177,7 @@ class Notes extends SimpleExtension { /* * HERE WE LOAD THE NOTES IN THE IMAGE */ - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { global $page, $user; //display form on image event @@ -191,7 +189,7 @@ class Notes extends SimpleExtension { /* * HERE WE ADD THE BUTTONS ON SIDEBAR */ - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $user; if(!$user->is_anonymous()) { $event->add_part($this->theme->note_button($event->image->id)); @@ -207,7 +205,7 @@ class Notes extends SimpleExtension { /* * HERE WE ADD QUERYLETS TO ADD SEARCH SYSTEM */ - public function onSearchTermParse($event) { + public function onSearchTermParse(SearchTermParseEvent $event) { $matches = array(); if(preg_match("/note=(.*)/i", $event->term, $matches)) { $notes = int_escape($matches[1]); diff --git a/contrib/numeric_score/main.php b/contrib/numeric_score/main.php index 0e7d5181..7bcf15aa 100755 --- a/contrib/numeric_score/main.php +++ b/contrib/numeric_score/main.php @@ -12,226 +12,227 @@ class NumericScoreSetEvent extends Event { var $image_id, $user, $score; - public function NumericScoreSetEvent($image_id, $user, $score) { + public function NumericScoreSetEvent(/*int*/ $image_id, User $user, /*int*/ $score) { $this->image_id = $image_id; $this->user = $user; $this->score = $score; } } -class NumericScore implements Extension { - var $theme; - - public function get_priority() {return 50;} - - public function receive_event(Event $event) { - global $config, $database, $page, $user; - if(is_null($this->theme)) $this->theme = get_theme_object($this); - - if($event instanceof InitExtEvent) { - if($config->get_int("ext_numeric_score_version", 0) < 1) { - $this->install(); - } +class NumericScore extends SimpleExtension { + public function onInitExt(InitExtEvent $event) { + global $config; + if($config->get_int("ext_numeric_score_version", 0) < 1) { + $this->install(); } + } - if($event instanceof DisplayingImageEvent) { + public function onDisplayingImage(DisplayingImageEvent $event) { + global $user, $page; + if(!$user->is_anonymous()) { + $html = $this->theme->get_voter_html($event->image); + $page->add_block(new Block("Image Score", $html, "left", 20)); + } + } + + public function onUserPageBuilding(UserPageBuildingEvent $event) { + global $page; + $html = $this->theme->get_nuller_html($event->display_user); + $page->add_block(new Block("Votes", $html, "main", 60)); + } + + public function onPageRequest(PageRequestEvent $event) { + global $config, $database, $user, $page; + + if($event->page_matches("numeric_score_votes")) { + $image_id = int_escape($event->get_arg(0)); + $x = $database->get_all( + "SELECT users.name as username, user_id, score + FROM numeric_score_votes + JOIN users ON numeric_score_votes.user_id=users.id + WHERE image_id=?", + array($image_id)); + $html = ""; + foreach($x as $vote) { + $html .= ""; + } + die($html); + } + if($event->page_matches("numeric_score_vote") && $user->check_auth_token()) { if(!$user->is_anonymous()) { - $html = $this->theme->get_voter_html($event->image); - $page->add_block(new Block("Image Score", $html, "left", 20)); + $image_id = int_escape($_POST['image_id']); + $char = $_POST['vote']; + $score = null; + if($char == "up") $score = 1; + else if($char == "null") $score = 0; + else if($char == "down") $score = -1; + if(!is_null($score) && $image_id>0) send_event(new NumericScoreSetEvent($image_id, $user, $score)); + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/view/$image_id")); } } - - if($event instanceof UserPageBuildingEvent) { - $html = $this->theme->get_nuller_html($event->display_user); - $page->add_block(new Block("Votes", $html, "main", 60)); + if($event->page_matches("numeric_score/remove_votes_on") && $user->check_auth_token()) { + if($user->is_admin()) { + $image_id = int_escape($_POST['image_id']); + $database->execute( + "DELETE FROM numeric_score_votes WHERE image_id=?", + array($image_id)); + $database->execute( + "UPDATE images SET numeric_score=0 WHERE id=?", + array($image_id)); + $page->set_mode("redirect"); + $page->set_redirect(make_link("post/view/$image_id")); + } } + if($event->page_matches("numeric_score/remove_votes_by") && $user->check_auth_token()) { + if($user->is_admin()) { + $user_id = int_escape($_POST['user_id']); + $image_ids = $database->get_col("SELECT image_id FROM numeric_score_votes WHERE user_id=?", array($user_id)); - if($event instanceof PageRequestEvent) { - if($event->page_matches("numeric_score_votes")) { - $image_id = int_escape($event->get_arg(0)); - $x = $database->get_all( - "SELECT users.name as username, user_id, score - FROM numeric_score_votes - JOIN users ON numeric_score_votes.user_id=users.id - WHERE image_id=?", - array($image_id)); - $html = "
"; + $html .= "{$vote['username']}"; + $html .= ""; + $html .= $vote['score']; + $html .= "
"; - foreach($x as $vote) { - $html .= ""; - } - die($html); + $database->execute( + "DELETE FROM numeric_score_votes WHERE user_id=? AND image_id IN ?", + array($user_id, $image_ids)); + $database->execute( + "UPDATE images SET numeric_score=(SELECT SUM(score) FROM numeric_score_votes WHERE image_id=images.id) WHERE images.id IN ?", + array($image_ids)); + $page->set_mode("redirect"); + $page->set_redirect(make_link()); } - if($event->page_matches("numeric_score_vote") && $user->check_auth_token()) { - if(!$user->is_anonymous()) { - $image_id = int_escape($_POST['image_id']); - $char = $_POST['vote']; - $score = null; - if($char == "up") $score = 1; - else if($char == "null") $score = 0; - else if($char == "down") $score = -1; - if(!is_null($score) && $image_id>0) send_event(new NumericScoreSetEvent($image_id, $user, $score)); - $page->set_mode("redirect"); - $page->set_redirect(make_link("post/view/$image_id")); - } + } + if($event->page_matches("popular_by_day") || $event->page_matches("popular_by_month") || $event->page_matches("popular_by_year")) { + $t_images = $config->get_int("index_height") * $config->get_int("index_width"); + + //TODO: Add Popular_by_week. + + //year + if(empty($_GET['year'])){ + $year = date("Y"); + }else{ + $year = $_GET['year']; } - if($event->page_matches("numeric_score/remove_votes_on") && $user->check_auth_token()) { - if($user->is_admin()) { - $image_id = int_escape($_POST['image_id']); - $database->execute( - "DELETE FROM numeric_score_votes WHERE image_id=?", - array($image_id)); - $database->execute( - "UPDATE images SET numeric_score=0 WHERE id=?", - array($image_id)); - $page->set_mode("redirect"); - $page->set_redirect(make_link("post/view/$image_id")); - } + //month + if(empty($_GET['month']) || int_escape($_GET['month']) > 12){ + $month = date("m"); + }else{ + $month = $_GET['month']; } - if($event->page_matches("numeric_score/remove_votes_by") && $user->check_auth_token()) { - if($user->is_admin()) { - $user_id = int_escape($_POST['user_id']); - $image_ids = $database->get_col("SELECT image_id FROM numeric_score_votes WHERE user_id=?", array($user_id)); - - $database->execute( - "DELETE FROM numeric_score_votes WHERE user_id=? AND image_id IN ?", - array($user_id, $image_ids)); - $database->execute( - "UPDATE images SET numeric_score=(SELECT SUM(score) FROM numeric_score_votes WHERE image_id=images.id) WHERE images.id IN ?", - array($image_ids)); - $page->set_mode("redirect"); - $page->set_redirect(make_link()); - } + //day + if(empty($_GET['day']) || int_escape($_GET['day']) > 31){ + $day = date("d"); + }else{ + $day = $_GET['day']; } - if($event->page_matches("popular_by_day") || $event->page_matches("popular_by_month") || $event->page_matches("popular_by_year")) { - $t_images = $config->get_int("index_height") * $config->get_int("index_width"); + $totaldate = $year."/".$month."/".$day; - //TODO: Add Popular_by_week. + $sql = + "SELECT * FROM images + WHERE EXTRACT(YEAR FROM posted) = :year + "; - //year - if(empty($_GET['year'])){ - $year = date("Y"); - }else{ - $year = $_GET['year']; - } - //month - if(empty($_GET['month']) || int_escape($_GET['month']) > 12){ - $month = date("m"); - }else{ - $month = $_GET['month']; - } - //day - if(empty($_GET['day']) || int_escape($_GET['day']) > 31){ - $day = date("d"); - }else{ - $day = $_GET['day']; - } - $totaldate = $year."/".$month."/".$day; + $agrs = array("limit" => $t_images, "year" => $year); - $sql = - "SELECT * FROM images - WHERE EXTRACT(YEAR FROM posted) = :year + if($event->page_matches("popular_by_day")){ + $sql .= + "AND EXTRACT(MONTH FROM posted) = :month + AND EXTRACT(DAY FROM posted) = :day + AND NOT numeric_score=0 "; + //array_push doesn't seem to like using double arrows + //this requires us to instead create two arrays and merge + $sgra = array("month" => $month, "day" => $day); + $args = array_merge($agrs, $sgra); - $agrs = array("limit" => $t_images, "year" => $year); - - if($event->page_matches("popular_by_day")){ - $sql .= - "AND EXTRACT(MONTH FROM posted) = :month - AND EXTRACT(DAY FROM posted) = :day - AND NOT numeric_score=0 - "; - //array_push doesn't seem to like using double arrows - //this requires us to instead create two arrays and merge - $sgra = array("month" => $month, "day" => $day); - $args = array_merge($agrs, $sgra); - - $dte = array($totaldate, date("F jS, Y", (strtotime($totaldate))), "\\y\\e\\a\\r\\=Y\\&\\m\\o\\n\\t\\h\\=m\\&\\d\\a\\y\\=d", "day"); - } - if($event->page_matches("popular_by_month")){ - $sql .= - "AND EXTRACT(MONTH FROM posted) = :month - AND NOT numeric_score=0 - "; - $sgra = array("month" => $month); - $args = array_merge($agrs, $sgra); - - $title = date("F Y", (strtotime($totaldate))); - $dte = array($totaldate, $title, "\\y\\e\\a\\r\\=Y\\&\\m\\o\\n\\t\\h\\=m", "month"); - } - if($event->page_matches("popular_by_year")){ - $sql .= "AND NOT numeric_score=0"; - $dte = array($totaldate, $year, "\y\e\a\\r\=Y", "year"); - $args = $agrs; - } - $sql .= " ORDER BY numeric_score DESC LIMIT :limit OFFSET 0"; - - //filter images by year/score != 0 > limit to max images on one page > order from highest to lowest score - $result = $database->get_all($sql, $args); - - $images = array(); - foreach($result as $singleResult) { - $images[] = Image::by_id($singleResult["id"]); - } - $this->theme->view_popular($images, $dte); + $dte = array($totaldate, date("F jS, Y", (strtotime($totaldate))), "\\y\\e\\a\\r\\=Y\\&\\m\\o\\n\\t\\h\\=m\\&\\d\\a\\y\\=d", "day"); } + if($event->page_matches("popular_by_month")){ + $sql .= + "AND EXTRACT(MONTH FROM posted) = :month + AND NOT numeric_score=0 + "; + $sgra = array("month" => $month); + $args = array_merge($agrs, $sgra); + + $title = date("F Y", (strtotime($totaldate))); + $dte = array($totaldate, $title, "\\y\\e\\a\\r\\=Y\\&\\m\\o\\n\\t\\h\\=m", "month"); + } + if($event->page_matches("popular_by_year")){ + $sql .= "AND NOT numeric_score=0"; + $dte = array($totaldate, $year, "\y\e\a\\r\=Y", "year"); + $args = $agrs; + } + $sql .= " ORDER BY numeric_score DESC LIMIT :limit OFFSET 0"; + + //filter images by year/score != 0 > limit to max images on one page > order from highest to lowest score + $result = $database->get_all($sql, $args); + + $images = array(); + foreach($result as $singleResult) { + $images[] = Image::by_id($singleResult["id"]); + } + $this->theme->view_popular($images, $dte); } + } - if($event instanceof NumericScoreSetEvent) { - log_info("numeric_score", "Rated Image #{$event->image_id} as {$event->score}"); - $this->add_vote($event->image_id, $user->id, $event->score); + public function onNumericScoreSet(NumericScoreSetEvent $event) { + global $user; + log_info("numeric_score", "Rated Image #{$event->image_id} as {$event->score}"); + $this->add_vote($event->image_id, $user->id, $event->score); + } + + public function onImageDeletion(ImageDeletionEvent $event) { + global $database; + $database->execute("DELETE FROM numeric_score_votes WHERE image_id=:id", array("id" => $event->image->id)); + } + + // FIXME: on user deletion + // FIXME: on user vote nuke + + public function onParseLinkTemplate(ParseLinkTemplateEvent $event) { + $event->replace('$score', $event->image->numeric_score); + } + + public function onSearchTermParse(SearchTermParseEvent $event) { + $matches = array(); + if(preg_match("/^score(<|<=|=|>=|>)(\d+)$/", $event->term, $matches)) { + $cmp = $matches[1]; + $score = $matches[2]; + $event->add_querylet(new Querylet("numeric_score $cmp $score")); } - - if($event instanceof ImageDeletionEvent) { - $database->execute("DELETE FROM numeric_score_votes WHERE image_id=:id", array("id" => $event->image->id)); + if(preg_match("/^upvoted_by=(.*)$/", $event->term, $matches)) { + $duser = User::by_name($matches[1]); + if(is_null($duser)) { + throw new SearchTermParseException( + "Can't find the user named ".html_escape($matches[1])); + } + $event->add_querylet(new Querylet( + "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=1)", + array("ns_user_id"=>$duser->id))); } - - if($event instanceof ParseLinkTemplateEvent) { - $event->replace('$score', $event->image->numeric_score); + if(preg_match("/^downvoted_by=(.*)$/", $event->term, $matches)) { + $duser = User::by_name($matches[1]); + if(is_null($duser)) { + throw new SearchTermParseException( + "Can't find the user named ".html_escape($matches[1])); + } + $event->add_querylet(new Querylet( + "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=-1)", + array("ns_user_id"=>$duser->id))); } - - if($event instanceof SearchTermParseEvent) { - $matches = array(); - if(preg_match("/^score(<|<=|=|>=|>)(\d+)$/", $event->term, $matches)) { - $cmp = $matches[1]; - $score = $matches[2]; - $event->add_querylet(new Querylet("numeric_score $cmp $score")); - } - if(preg_match("/^upvoted_by=(.*)$/", $event->term, $matches)) { - $duser = User::by_name($matches[1]); - if(is_null($duser)) { - throw new SearchTermParseException( - "Can't find the user named ".html_escape($matches[1])); - } - $event->add_querylet(new Querylet( - "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=1)", - array("ns_user_id"=>$duser->id))); - } - if(preg_match("/^downvoted_by=(.*)$/", $event->term, $matches)) { - $duser = User::by_name($matches[1]); - if(is_null($duser)) { - throw new SearchTermParseException( - "Can't find the user named ".html_escape($matches[1])); - } - $event->add_querylet(new Querylet( - "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=-1)", - array("ns_user_id"=>$duser->id))); - } - if(preg_match("/^upvoted_by_id=(\d+)$/", $event->term, $matches)) { - $iid = int_escape($matches[1]); - $event->add_querylet(new Querylet( - "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=1)", - array("ns_user_id"=>$iid))); - } - if(preg_match("/^downvoted_by_id=(\d+)$/", $event->term, $matches)) { - $iid = int_escape($matches[1]); - $event->add_querylet(new Querylet( - "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=-1)", - array("ns_user_id"=>$iid))); - } + if(preg_match("/^upvoted_by_id=(\d+)$/", $event->term, $matches)) { + $iid = int_escape($matches[1]); + $event->add_querylet(new Querylet( + "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=1)", + array("ns_user_id"=>$iid))); + } + if(preg_match("/^downvoted_by_id=(\d+)$/", $event->term, $matches)) { + $iid = int_escape($matches[1]); + $event->add_querylet(new Querylet( + "images.id in (SELECT image_id FROM numeric_score_votes WHERE user_id=:ns_user_id AND score=-1)", + array("ns_user_id"=>$iid))); } } @@ -259,7 +260,7 @@ class NumericScore implements Extension { } } - private function add_vote($image_id, $user_id, $score) { + private function add_vote(/*int*/ $image_id, /*int*/ $user_id, /*int*/ $score) { global $database; $database->execute( "DELETE FROM numeric_score_votes WHERE image_id=:imageid AND user_id=:userid", diff --git a/contrib/oekaki/main.php b/contrib/oekaki/main.php index 7a571242..3027dcfd 100644 --- a/contrib/oekaki/main.php +++ b/contrib/oekaki/main.php @@ -6,7 +6,7 @@ */ class Oekaki extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $user, $page; if($event->page_matches("oekaki")) { @@ -82,7 +82,7 @@ class Oekaki extends SimpleExtension { } // FIXME: "edit this image" button on existing images? - function onPostListBuilding($event) { + function onPostListBuilding(PostListBuildingEvent $event) { global $user, $page; if($this->can_upload($user)) { $this->theme->display_block($page); diff --git a/contrib/pm/main.php b/contrib/pm/main.php index 0e050f55..5e380278 100755 --- a/contrib/pm/main.php +++ b/contrib/pm/main.php @@ -11,7 +11,7 @@ */ class SendPMEvent extends Event { - public function __construct($pm) { + public function __construct(PM $pm) { $this->pm = $pm; } } @@ -43,7 +43,7 @@ class PM { } class PrivMsg extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config, $database; // shortcut to latest @@ -78,7 +78,7 @@ class PrivMsg extends SimpleExtension { } /* - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuilding $event) { global $user; if(!$user->is_anonymous()) { $event->add_link("Private Messages", make_link("pm")); @@ -86,7 +86,7 @@ class PrivMsg extends SimpleExtension { } */ - public function onUserPageBuilding($event) { + public function onUserPageBuilding(UserPageBuilding $event) { global $page, $user; $duser = $event->display_user; if(!$user->is_anonymous() && !$duser->is_anonymous()) { @@ -99,7 +99,7 @@ class PrivMsg extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $database, $page, $user; if($event->page_matches("pm")) { if(!$user->is_anonymous()) { @@ -153,7 +153,7 @@ class PrivMsg extends SimpleExtension { } } - public function onSendPM($event) { + public function onSendPM(SendPMEvent $event) { global $database; $database->execute(" INSERT INTO private_message( diff --git a/contrib/pools/main.php b/contrib/pools/main.php index a679f222..fb15d491 100644 --- a/contrib/pools/main.php +++ b/contrib/pools/main.php @@ -11,7 +11,7 @@ class PoolCreationException extends SCoreException { } class Pools extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config, $database; if ($config->get_int("ext_pools_version") < 1){ @@ -65,7 +65,7 @@ class Pools extends SimpleExtension { $event->panel->add_block($sb); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page, $user; if($event->page_matches("pool")) { @@ -216,7 +216,7 @@ class Pools extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { $event->add_link("Pools", make_link("pool/list")); } @@ -224,7 +224,7 @@ class Pools extends SimpleExtension { /* * HERE WE GET THE POOLS WHERE THE IMAGE APPEARS WHEN THE IMAGE IS DISPLAYED */ - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { global $config, $database, $page; if($config->get_bool("poolsInfoOnViewImage")) { @@ -242,7 +242,7 @@ class Pools extends SimpleExtension { } } - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $config, $database, $user; if($config->get_bool("poolsAdderOnViewImage") && !$user->is_anonymous()) { if($user->is_admin()) { @@ -261,7 +261,7 @@ class Pools extends SimpleExtension { /* * HERE WE GET THE LIST OF POOLS */ - private function list_pools(Page $page, $pageNumber) { + private function list_pools(Page $page, /*int*/ $pageNumber) { global $config, $database; if(is_null($pageNumber) || !is_numeric($pageNumber)) diff --git a/contrib/qr_code/main.php b/contrib/qr_code/main.php index 9309fbb6..7f5b706f 100644 --- a/contrib/qr_code/main.php +++ b/contrib/qr_code/main.php @@ -8,7 +8,7 @@ * and replace it with a link to google chart APIs */ class QRImage extends SimpleExtension { - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { $this->theme->links_block(make_http(make_link('image/'.$event->image->id.'.jpg'))); } } diff --git a/contrib/random_image/main.php b/contrib/random_image/main.php index bad07792..79fc6d4f 100644 --- a/contrib/random_image/main.php +++ b/contrib/random_image/main.php @@ -20,7 +20,7 @@ */ class RandomImage extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $database, $page, $user; if($event->page_matches("random_image")) { if($event->count_args() == 1) { @@ -51,13 +51,13 @@ class RandomImage extends SimpleExtension { } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Random Image"); $sb->add_bool_option("show_random_block", "Show Random Block: "); $event->panel->add_block($sb); } - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page; if($config->get_bool("show_random_block")) { $image = Image::by_random($event->search_terms); diff --git a/contrib/regen_thumb/main.php b/contrib/regen_thumb/main.php index cf3e2eb6..e5855976 100644 --- a/contrib/regen_thumb/main.php +++ b/contrib/regen_thumb/main.php @@ -13,7 +13,7 @@ */ class RegenThumb extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $database, $page, $user; if($event->page_matches("regen_thumb") && $user->is_admin() && isset($_POST['image_id'])) { @@ -23,7 +23,7 @@ class RegenThumb extends SimpleExtension { } } - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_part($this->theme->get_buttons_html($event->image->id)); diff --git a/contrib/report_image/main.php b/contrib/report_image/main.php index 970be8d7..28c0e826 100755 --- a/contrib/report_image/main.php +++ b/contrib/report_image/main.php @@ -29,24 +29,19 @@ class AddReportedImageEvent extends Event { } } -class ReportImage implements Extension { - var $theme; +class ReportImage extends SimpleExtension { + public function onInitExt(InitExtEvent $event) { + global $config; + $config->set_default_bool('report_image_show_thumbs', true); - public function get_priority() {return 50;} - - public function receive_event(Event $event) { - global $config, $database, $page, $user; - if(is_null($this->theme)) $this->theme = get_theme_object($this); - - if($event instanceof InitExtEvent) { - $config->set_default_bool('report_image_show_thumbs', true); - - if($config->get_int("ext_report_image_version") < 1) { - $this->install(); - } + if($config->get_int("ext_report_image_version") < 1) { + $this->install(); } + } - if(($event instanceof PageRequestEvent) && $event->page_matches("image_report")) { + public function onPageRequest(PageRequestEvent $event) { + global $page, $user; + if($event->page_matches("image_report")) { if($event->get_arg(0) == "add") { if(isset($_POST['image_id']) && isset($_POST['reason'])) { $image_id = int_escape($_POST['image_id']); @@ -70,40 +65,45 @@ class ReportImage implements Extension { } } } + } - if($event instanceof AddReportedImageEvent) { - $database->Execute( - "INSERT INTO image_reports(image_id, reporter_id, reason) - VALUES (?, ?, ?)", - array($event->image_id, $event->reporter_id, $event->reason)); - } + public function onAddReportedImage(AddReportedImageEvent $event) { + global $database; + $database->Execute( + "INSERT INTO image_reports(image_id, reporter_id, reason) + VALUES (?, ?, ?)", + array($event->image_id, $event->reporter_id, $event->reason)); + } - if($event instanceof RemoveReportedImageEvent) { - $database->Execute("DELETE FROM image_reports WHERE id = ?", array($event->id)); - } + public function onRemoveReportedImage(RemoveReportedImageEvent $event) { + global $database; + $database->Execute("DELETE FROM image_reports WHERE id = ?", array($event->id)); + } - if($event instanceof DisplayingImageEvent) { - if($config->get_bool('report_image_anon') || !$user->is_anonymous()) { - $this->theme->display_image_banner($page, $event->image); - } + public function onDisplayingImage(DisplayingImageEvent $event) { + global $config, $user, $page; + if($config->get_bool('report_image_anon') || !$user->is_anonymous()) { + $this->theme->display_image_banner($page, $event->image); } + } - if($event instanceof SetupBuildingEvent) { - $sb = new SetupBlock("Report Image Options"); - $sb->add_bool_option("report_image_anon", "Allow anonymous image reporting: "); - $sb->add_bool_option("report_image_show_thumbs", "
Show thumbnails in admin panel: "); - $event->panel->add_block($sb); - } + public function onSetupBuilding(SetupBuildingEvent $event) { + $sb = new SetupBlock("Report Image Options"); + $sb->add_bool_option("report_image_anon", "Allow anonymous image reporting: "); + $sb->add_bool_option("report_image_show_thumbs", "
Show thumbnails in admin panel: "); + $event->panel->add_block($sb); + } - if($event instanceof UserBlockBuildingEvent) { - if($user->is_admin()) { - $event->add_link("Reported Images", make_link("image_report/list")); - } + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { + global $user; + if($user->is_admin()) { + $event->add_link("Reported Images", make_link("image_report/list")); } + } - if($event instanceof ImageDeletionEvent) { - $database->Execute("DELETE FROM image_reports WHERE image_id = ?", array($event->image->id)); - } + public function onImageDeletion(ImageDeletionEvent $event) { + global $database; + $database->Execute("DELETE FROM image_reports WHERE image_id = ?", array($event->image->id)); } protected function install() { diff --git a/contrib/res_limit/main.php b/contrib/res_limit/main.php index d8ff1dc0..459faa90 100644 --- a/contrib/res_limit/main.php +++ b/contrib/res_limit/main.php @@ -5,69 +5,68 @@ * License: GPLv2 * Description: Allows the admin to set min / max image dimentions */ -class ResolutionLimit implements Extension { +class ResolutionLimit extends SimpleExtension { public function get_priority() {return 40;} // early, to veto ImageUploadEvent - public function receive_event(Event $event) { - if($event instanceof ImageAdditionEvent) { - global $config; - $min_w = $config->get_int("upload_min_width", -1); - $min_h = $config->get_int("upload_min_height", -1); - $max_w = $config->get_int("upload_max_width", -1); - $max_h = $config->get_int("upload_max_height", -1); - $ratios = explode(" ", $config->get_string("upload_ratios", "")); + public function onImageAddition(ImageAdditionEvent $event) { + global $config; + $min_w = $config->get_int("upload_min_width", -1); + $min_h = $config->get_int("upload_min_height", -1); + $max_w = $config->get_int("upload_max_width", -1); + $max_h = $config->get_int("upload_max_height", -1); + $ratios = explode(" ", $config->get_string("upload_ratios", "")); - $image = $event->image; + $image = $event->image; - if($min_w > 0 && $image->width < $min_w) throw new UploadException("Image too small"); - if($min_h > 0 && $image->height < $min_h) throw new UploadException("Image too small"); - if($max_w > 0 && $image->width > $max_w) throw new UploadException("Image too large"); - if($max_h > 0 && $image->height > $max_h) throw new UploadException("Image too large"); + if($min_w > 0 && $image->width < $min_w) throw new UploadException("Image too small"); + if($min_h > 0 && $image->height < $min_h) throw new UploadException("Image too small"); + if($max_w > 0 && $image->width > $max_w) throw new UploadException("Image too large"); + if($max_h > 0 && $image->height > $max_h) throw new UploadException("Image too large"); - if(count($ratios) > 0) { - $ok = false; - $valids = 0; - foreach($ratios as $ratio) { - $parts = explode(":", $ratio); - if(count($parts) < 2) continue; - $valids++; - $width = $parts[0]; - $height = $parts[1]; - if($image->width / $width == $image->height / $height) { - $ok = true; - break; - } - } - if($valids > 0 && !$ok) { - throw new UploadException( - "Image needs to be in one of these ratios: ". - html_escape($config->get_string("upload_ratios", ""))); + if(count($ratios) > 0) { + $ok = false; + $valids = 0; + foreach($ratios as $ratio) { + $parts = explode(":", $ratio); + if(count($parts) < 2) continue; + $valids++; + $width = $parts[0]; + $height = $parts[1]; + if($image->width / $width == $image->height / $height) { + $ok = true; + break; } } + if($valids > 0 && !$ok) { + throw new UploadException( + "Image needs to be in one of these ratios: ". + html_escape($config->get_string("upload_ratios", ""))); + } } - if($event instanceof SetupBuildingEvent) { - $sb = new SetupBlock("Resolution Limits"); + } - $sb->add_label("Min "); - $sb->add_int_option("upload_min_width"); - $sb->add_label(" x "); - $sb->add_int_option("upload_min_height"); - $sb->add_label(" px"); + public function onSetupBuilding(SetupBuildingEvent $event) { + $sb = new SetupBlock("Resolution Limits"); - $sb->add_label("
Max "); - $sb->add_int_option("upload_max_width"); - $sb->add_label(" x "); - $sb->add_int_option("upload_max_height"); - $sb->add_label(" px"); + $sb->add_label("Min "); + $sb->add_int_option("upload_min_width"); + $sb->add_label(" x "); + $sb->add_int_option("upload_min_height"); + $sb->add_label(" px"); - $sb->add_label("
(-1 for no limit)"); + $sb->add_label("
Max "); + $sb->add_int_option("upload_max_width"); + $sb->add_label(" x "); + $sb->add_int_option("upload_max_height"); + $sb->add_label(" px"); - $sb->add_label("
Ratios "); - $sb->add_text_option("upload_ratios"); - $sb->add_label("
(eg. '4:3 16:9', blank for no limit)"); + $sb->add_label("
(-1 for no limit)"); - $event->panel->add_block($sb); - } + $sb->add_label("
Ratios "); + $sb->add_text_option("upload_ratios"); + $sb->add_label("
(eg. '4:3 16:9', blank for no limit)"); + + $event->panel->add_block($sb); } } ?> diff --git a/contrib/resize/main.php b/contrib/resize/main.php index 2b75661f..60bc86b9 100644 --- a/contrib/resize/main.php +++ b/contrib/resize/main.php @@ -28,7 +28,7 @@ class ImageResizeException extends SCoreException { */ class ResizeImage extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config; $config->set_default_bool('resize_enabled', true); $config->set_default_bool('resize_upload', false); @@ -36,7 +36,7 @@ class ResizeImage extends SimpleExtension { $config->set_default_int('resize_default_height', 0); } - public function onImageAdminBlockBuilding($event) { + public function onImageAdminBlockBuilding(ImageAdminBlockBuildingEvent $event) { global $user, $config; if($user->is_admin() && $config->get_bool("resize_enabled")) { /* Add a link to resize the image */ @@ -44,7 +44,7 @@ class ResizeImage extends SimpleExtension { } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Image Resize"); $sb->add_bool_option("resize_enabled", "Allow resizing images: "); $sb->add_bool_option("resize_upload", "
Resize on upload: "); @@ -89,7 +89,7 @@ class ResizeImage extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; if ( $event->page_matches("resize") && $user->is_admin() ) { diff --git a/contrib/rss_comments/main.php b/contrib/rss_comments/main.php index 975a384e..8c32bbbf 100644 --- a/contrib/rss_comments/main.php +++ b/contrib/rss_comments/main.php @@ -7,7 +7,7 @@ */ class RSS_Comments extends SimpleExtension { - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page; $title = $config->get_string('title'); @@ -15,7 +15,7 @@ class RSS_Comments extends SimpleExtension { "title=\"$title - Comments\" href=\"".make_link("rss/comments")."\" />"); } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $database, $page; if($event->page_matches("rss/comments")) { $page->set_mode("data"); diff --git a/contrib/rss_images/main.php b/contrib/rss_images/main.php index 400767d2..675016e7 100644 --- a/contrib/rss_images/main.php +++ b/contrib/rss_images/main.php @@ -7,7 +7,7 @@ */ class RSS_Images extends SimpleExtension { - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page; $title = $config->get_string('title'); @@ -22,7 +22,7 @@ class RSS_Images extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { if($event->page_matches("rss/images")) { $search_terms = $event->get_search_terms(); $page_number = $event->get_page_number(); diff --git a/contrib/simpletest/main.php b/contrib/simpletest/main.php index 22ef730e..f56d322a 100644 --- a/contrib/simpletest/main.php +++ b/contrib/simpletest/main.php @@ -206,7 +206,7 @@ class TestFinder extends TestSuite { } class SimpleSCoreTest extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page; if($event->page_matches("test")) { set_time_limit(0); @@ -220,7 +220,7 @@ class SimpleSCoreTest extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("Run Tests", make_link("test/all")); diff --git a/contrib/sitemap/main.php b/contrib/sitemap/main.php index 306c3085..8858bb9c 100644 --- a/contrib/sitemap/main.php +++ b/contrib/sitemap/main.php @@ -8,14 +8,14 @@ */ class XMLSitemap extends SimpleExtension { - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { if($event->page_matches("sitemap.xml")) { $images = Image::find_images(0, 50, array()); $this->do_xml($images); } } - private function do_xml($images) { + private function do_xml(/*array(Image)*/ $images) { global $page; $page->set_mode("data"); $page->set_type("application/xml"); diff --git a/contrib/tag_history/main.php b/contrib/tag_history/main.php index 40835fc3..e83fd2c0 100644 --- a/contrib/tag_history/main.php +++ b/contrib/tag_history/main.php @@ -9,7 +9,7 @@ class Tag_History extends SimpleExtension { // in before tags are actually set, so that "get current tags" works public function get_priority() {return 40;} - public function onInitExtEvent($event) { + public function onInitExtEvent(InitExtEvent $event) { global $config; $config->set_default_int("history_limit", -1); @@ -19,7 +19,7 @@ class Tag_History extends SimpleExtension { } } - public function onAdminBuildingEvent($event) { + public function onAdminBuildingEvent(AdminBuildingEvent $event) { global $user; if(isset($_POST['revert_ip']) && $user->is_admin() && $user->check_auth_token()) { @@ -55,7 +55,7 @@ class Tag_History extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page, $user; if ($event->page_matches("tag_history")) { @@ -78,18 +78,18 @@ class Tag_History extends SimpleExtension { } } - public function onDisplayingImage($event) { + public function onDisplayingImage(DisplayingImageEvent $event) { global $page; // handle displaying a link on the view page $this->theme->display_history_link($page, $event->image->id); } - public function onImageDeletion($event) { + public function onImageDeletion(ImageDeletionEvent $event) { // handle removing of history when an image is deleted $this->delete_all_tag_history($event->image->id); } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Tag History"); $sb->add_label("Limit to "); $sb->add_int_option("history_limit"); @@ -98,19 +98,18 @@ class Tag_History extends SimpleExtension { $event->panel->add_block($sb); } - public function onTagSetEvent($event) { + public function onTagSet(TagSetEvent $event) { $this->add_tag_history($event->image, $event->tags); } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuilding $event) { global $user; if($user->is_admin()) { $event->add_link("Tag Changes", make_link("tag_history")); } } - protected function install() - { + protected function install() { global $database; global $config; diff --git a/contrib/tagger/main.php b/contrib/tagger/main.php index 547f9ebc..3f2256f9 100644 --- a/contrib/tagger/main.php +++ b/contrib/tagger/main.php @@ -6,46 +6,37 @@ * Do not remove this notice. */ -class Tagger implements Extension { - var $theme; +class Tagger extends SimpleExtension { + public function onDisplayingImage(DisplayingImageEvent $event) { + global $page, $config, $user; - public function get_priority() {return 50;} - - public function receive_event(Event $event) { - if(is_null($this->theme)) - $this->theme = get_theme_object($this); - - if($event instanceof DisplayingImageEvent) { - global $page, $config, $user; - - if($config->get_bool("tag_edit_anon") - || ($user->id != $config->get_int("anon_id")) - && $config->get_bool("ext_tagger_enabled")) - { - $this->theme->build_tagger($page,$event); - } + if($config->get_bool("tag_edit_anon") + || ($user->id != $config->get_int("anon_id")) + && $config->get_bool("ext_tagger_enabled")) + { + $this->theme->build_tagger($page,$event); } + } - if($event instanceof SetupBuildingEvent) { - $sb = new SetupBlock("Tagger"); - $sb->add_bool_option("ext_tagger_enabled","Enable Tagger"); - $sb->add_int_option("ext_tagger_search_delay","
Delay queries by "); - $sb->add_label(" milliseconds."); - $sb->add_label("
Limit queries returning more than "); - $sb->add_int_option("ext_tagger_tag_max"); - $sb->add_label(" tags to "); - $sb->add_int_option("ext_tagger_limit"); - $event->panel->add_block($sb); - } + public function onSetupBuilding(SetupBuildingEvent $event) { + $sb = new SetupBlock("Tagger"); + $sb->add_bool_option("ext_tagger_enabled","Enable Tagger"); + $sb->add_int_option("ext_tagger_search_delay","
Delay queries by "); + $sb->add_label(" milliseconds."); + $sb->add_label("
Limit queries returning more than "); + $sb->add_int_option("ext_tagger_tag_max"); + $sb->add_label(" tags to "); + $sb->add_int_option("ext_tagger_limit"); + $event->panel->add_block($sb); } } // Tagger AJAX back-end -class TaggerXML implements Extension { +class TaggerXML extends SimpleExtension { public function get_priority() {return 10;} - public function receive_event(Event $event) { - if(($event instanceof PageRequestEvent) && $event->page_matches("tagger/tags")) { + public function onPageRequest(PageRequestEvent $event) { + if($event->page_matches("tagger/tags")) { global $page; //$match_tags = null; diff --git a/contrib/tips/main.php b/contrib/tips/main.php index 7cfdf868..bf6ced29 100644 --- a/contrib/tips/main.php +++ b/contrib/tips/main.php @@ -9,7 +9,7 @@ */ class Tips extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $config, $database; if ($config->get_int("ext_tips_version") < 1){ @@ -31,7 +31,7 @@ class Tips extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $page, $user; $this->getTip(); @@ -67,7 +67,7 @@ class Tips extends SimpleExtension { } } - public function onUserBlockBuilding($event) { + public function onUserBlockBuilding(UserBlockBuildingEvent $event) { global $user; if($user->is_admin()) { $event->add_link("Tips Editor", make_link("tips/list")); diff --git a/contrib/twitter_soc/main.php b/contrib/twitter_soc/main.php index 04d42c48..9f7bed06 100644 --- a/contrib/twitter_soc/main.php +++ b/contrib/twitter_soc/main.php @@ -7,14 +7,14 @@ */ class TwitterSoc extends SimpleExtension { - public function onPostListBuilding($event) { + public function onPostListBuilding(PostListBuildingEvent $event) { global $config, $page; if(strlen($config->get_string("twitter_soc_username")) > 0) { $this->theme->display_feed($page, $config->get_string("twitter_soc_username")); } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Tweet!"); $sb->add_text_option("twitter_soc_username", "Username "); $event->panel->add_block($sb); diff --git a/contrib/update/main.php b/contrib/update/main.php index 912f918a..a2ac7ad6 100644 --- a/contrib/update/main.php +++ b/contrib/update/main.php @@ -7,13 +7,13 @@ * Description: Shimmie updater! */ class Update extends SimpleExtension { - public function onInitExt(Event $event) { + public function onInitExt(InitExtEvent $event) { global $config; $config->set_default_string("update_url", "http://nodeload.github.com/shish/shimmie2/zipball/master"); //best to avoid using https $config->set_default_string("commit_hash", ""); } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { global $config; //Would prefer to use the admin panel for this. //But since the admin panel is optional...kind of stuck to using this. @@ -25,7 +25,7 @@ class Update extends SimpleExtension { $event->panel->add_block($sb); } - public function onPageRequest(Event $event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $user; if($event->page_matches("update") && $user->is_admin()) { $ok = $this->update_shimmie(); diff --git a/contrib/wiki/main.php b/contrib/wiki/main.php index 17159e0d..9b5df534 100644 --- a/contrib/wiki/main.php +++ b/contrib/wiki/main.php @@ -54,7 +54,7 @@ class WikiPage { } class Wiki extends SimpleExtension { - public function onInitExt($event) { + public function onInitExt(InitExtEvent $event) { global $database; global $config; @@ -80,7 +80,7 @@ class Wiki extends SimpleExtension { } } - public function onPageRequest($event) { + public function onPageRequest(PageRequestEvent $event) { global $config, $page, $user; if($event->page_matches("wiki")) { if(is_null($event->get_arg(0)) || strlen(trim($event->get_arg(0))) == 0) { @@ -153,7 +153,7 @@ class Wiki extends SimpleExtension { } } - public function onWikiUpdate($event) { + public function onWikiUpdate(WikiUpdateEvent $event) { global $database; $wpage = $event->wikipage; try { @@ -167,7 +167,7 @@ class Wiki extends SimpleExtension { } } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Wiki"); $sb->add_bool_option("wiki_edit_anon", "Allow anonymous edits: "); $sb->add_bool_option("wiki_edit_user", "
Allow user edits: "); diff --git a/contrib/word_filter/main.php b/contrib/word_filter/main.php index 1ce8e259..5e9e8acb 100644 --- a/contrib/word_filter/main.php +++ b/contrib/word_filter/main.php @@ -10,12 +10,12 @@ class WordFilter extends SimpleExtension { // before emoticon filter public function get_priority() {return 40;} - public function onTextFormatting($event) { + public function onTextFormatting(TextFormattingEvent $event) { $event->formatted = $this->filter($event->formatted); $event->stripped = $this->filter($event->stripped); } - public function onSetupBuilding($event) { + public function onSetupBuilding(SetupBuildingEvent $event) { $sb = new SetupBlock("Word Filter"); $sb->add_longtext_option("word_filter"); $sb->add_label("
(each line should be search term and replace term, separated by a comma)");
"; - $html .= "{$vote['username']}"; - $html .= ""; - $html .= $vote['score']; - $html .= "