From 1b490c5fe6ce6ced7b02bbdf8c939a991f0378af Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Sun, 9 Nov 2008 19:20:23 +0000 Subject: Make Gallery3 more RESTful. Create Item_Controller as a common superclass for Album_Controller and Photo_Controller. Change routes to route requests to Item_Controller for dispatching, which in turn will generate get/post/put/delete requests to the controlller so that each controller has a RESTful surface. Change in_place editing to take advantage of this. --- core/controllers/album.php | 33 ++++++++++++--------------------- 1 file changed, 12 insertions(+), 21 deletions(-) (limited to 'core/controllers/album.php') diff --git a/core/controllers/album.php b/core/controllers/album.php index d6b457d6..c94bcbef 100644 --- a/core/controllers/album.php +++ b/core/controllers/album.php @@ -17,33 +17,24 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class Album_Controller extends Template_Controller { - public $template = "page.html"; - - public function view($id) { - $item = ORM::factory("item")->where("id", $id)->find(); - if (empty($item->id)) { - return Kohana::show_404(); - } - +class Album_Controller extends Item_Controller { + public function get($item) { /** @todo: these need to be pulled from the database */ $theme_name = "default"; $page_size = 9; + $template = new View("page.html"); + $page = $this->input->get("page", "1"); - $theme = new Theme($theme_name, $this->template); + $theme = new Theme($theme_name, $template); - $this->template->content = new View("album.html"); - $this->template->set_global('page_size', $page_size); - $this->template->set_global('item', $item); - $this->template->set_global('children', $item->children($page_size, ($page-1) * $page_size)); - $this->template->set_global('parents', $item->parents()); - $this->template->set_global('theme', $theme); + $template->set_global('page_size', $page_size); + $template->set_global('item', $item); + $template->set_global('children', $item->children($page_size, ($page-1) * $page_size)); + $template->set_global('parents', $item->parents()); + $template->set_global('theme', $theme); + $template->content = new View("album.html"); - /** @todo: move this up to a base class */ - if (Session::instance()->get("use_profiler", false)) { - $profiler = new Profiler(); - print $profiler->render(); - } + print $template->render(); } } -- cgit v1.2.3