From 7862e8b02ddd41eb68e858278cd909c8ff371550 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 10 Jul 2009 09:59:04 +0800 Subject: Created the dynamic albums module which provides a dynamic album containing either recent updates or most viewed images. Signed-off-by: Tim Almdal --- modules/dynamic/helpers/dynamic_installer.php | 46 +++++++++++++++++++++++++++ modules/dynamic/helpers/dynamic_menu.php | 27 ++++++++++++++++ modules/dynamic/helpers/dynamic_theme.php | 39 +++++++++++++++++++++++ 3 files changed, 112 insertions(+) create mode 100644 modules/dynamic/helpers/dynamic_installer.php create mode 100644 modules/dynamic/helpers/dynamic_menu.php create mode 100644 modules/dynamic/helpers/dynamic_theme.php (limited to 'modules/dynamic/helpers') diff --git a/modules/dynamic/helpers/dynamic_installer.php b/modules/dynamic/helpers/dynamic_installer.php new file mode 100644 index 00000000..8780864b --- /dev/null +++ b/modules/dynamic/helpers/dynamic_installer.php @@ -0,0 +1,46 @@ + false, + "limit" => null, + "description" => "", + "key_field" => "view_count", + "title" => t("Most Viewed")))); + module::set_var("dynamic", "updates", + serialize((object)array("enabled" => false, + "limit" => null, + "description" => "", + "key_field" => "created", + "title" => t("Recent Updates")))); + module::set_version("dynamic", 1); + } + } + + static function upgrade($version) { + } + + static function uninstall() { + /* @todo Put database table drops here */ + module::delete("dynamic"); + } +} diff --git a/modules/dynamic/helpers/dynamic_menu.php b/modules/dynamic/helpers/dynamic_menu.php new file mode 100644 index 00000000..b2c73d6f --- /dev/null +++ b/modules/dynamic/helpers/dynamic_menu.php @@ -0,0 +1,27 @@ +get("content_menu") + ->append(Menu::factory("link") + ->id("dynamic_menu") + ->label(t("Dynamic Albums")) + ->url(url::site("admin/dynamic"))); + } +} diff --git a/modules/dynamic/helpers/dynamic_theme.php b/modules/dynamic/helpers/dynamic_theme.php new file mode 100644 index 00000000..ba355098 --- /dev/null +++ b/modules/dynamic/helpers/dynamic_theme.php @@ -0,0 +1,39 @@ +enabled) { + $albums[$album] = $album_defn->title; + } + } + if (!empty($albums)) { + $block = new Block(); + $block->css_id = "gDynamic"; + $block->title = t("Dynamic Albums"); + $block->content = new View("dynamic_block.html"); + $block->content->albums = $albums; + return $block; + } + return ""; + } + +} -- cgit v1.2.3 From 4b28f7f50e0901ee3abe864a3881ff11d08a73ce Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Fri, 10 Jul 2009 10:15:14 +0800 Subject: A few minor changes to add to the dynamic albums module 1) cleanun the two displays of the recent changes page 2) change the name to recent changes. 3) Change the description in module.info Not quite ready for prime time, some issues with the limit to be resolved Signed-off-by: Tim Almdal --- modules/dynamic/controllers/dynamic.php | 30 --------------------------- modules/dynamic/helpers/dynamic_installer.php | 2 +- modules/dynamic/module.info | 2 +- 3 files changed, 2 insertions(+), 32 deletions(-) (limited to 'modules/dynamic/helpers') diff --git a/modules/dynamic/controllers/dynamic.php b/modules/dynamic/controllers/dynamic.php index b1fde2ac..6b5f2915 100644 --- a/modules/dynamic/controllers/dynamic.php +++ b/modules/dynamic/controllers/dynamic.php @@ -18,36 +18,6 @@ */ class Dynamic_Controller extends Controller { public function updates() { - $page_size = module::get_var("gallery", "page_size", 9); - $page = $this->input->get("page", "1"); - - $children_count = ORM::factory("item") - ->viewable() - ->where("type !=", "album") - ->count_all(); - $offset = ($page-1) * $page_size; - print $children_count; - - $max_pages = ceil($children_count / $page_size); - print $max_pages; - - // Make sure that the page references a valid offset - if ($page < 1 || ($children_count && $page > ceil($children_count / $page_size))) { - Kohana::show_404(); - } - - $template = new Theme_View("page.html", "dynamic"); - $template->set_global("page_size", $page_size); - $template->set_global("children", ORM::factory("item") - ->viewable() - ->where("type !=", "album") - ->orderby("created", "DESC") - ->find_all($page_size, $offset)); - $template->set_global("children_count", $children_count); - $template->content = new View("dynamic.html"); - $template->content->title = t("Recent Updates"); - - print $template; print $this->_show("updates"); } diff --git a/modules/dynamic/helpers/dynamic_installer.php b/modules/dynamic/helpers/dynamic_installer.php index 8780864b..66d6298d 100644 --- a/modules/dynamic/helpers/dynamic_installer.php +++ b/modules/dynamic/helpers/dynamic_installer.php @@ -31,7 +31,7 @@ class dynamic_installer { "limit" => null, "description" => "", "key_field" => "created", - "title" => t("Recent Updates")))); + "title" => t("Recent Changes")))); module::set_version("dynamic", 1); } } diff --git a/modules/dynamic/module.info b/modules/dynamic/module.info index 4167df4b..aa5e0432 100644 --- a/modules/dynamic/module.info +++ b/modules/dynamic/module.info @@ -1,3 +1,3 @@ name = Dynamic -description = Dynamic album +description = Adds the Recent Changes and Most Viewed dynamic albums version = 1 -- cgit v1.2.3