_show("updates"); } public function popular() { print $this->_show("popular"); } private function _show($album) { $page_size = module::get_var("gallery", "page_size", 9); $page = $this->input->get("page", "1"); $album_defn = unserialize(module::get_var("dynamic", $album)); $children_count = $album_defn->limit; if (empty($children_count)) { $children_count = ORM::factory("item") ->viewable() ->where("type", "!=", "album") ->count_all(); } $offset = ($page-1) * $page_size; $max_pages = ceil($children_count / $page_size); // 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", "other", "dynamic"); $template->set_global("page_size", $page_size); $template->set_global("children", ORM::factory("item") ->viewable() ->where("type", "!=", "album") ->order_by($album_defn->key_field, "DESC") ->find_all($page_size, $offset)); $template->set_global("children_count", $children_count); $template->content = new View("dynamic.html"); $template->content->title = t($album_defn->title); print $template; } }