summaryrefslogtreecommitdiff
path: root/core/controllers
diff options
context:
space:
mode:
authorBharat Mediratta <bharat@menalto.com>2008-11-07 07:33:43 +0000
committerBharat Mediratta <bharat@menalto.com>2008-11-07 07:33:43 +0000
commit76436c0029f5be153f805a1be03e17ea26309906 (patch)
tree2ac99106d2600c5de8518621a22cda8702598ff2 /core/controllers
parent50a9848f383c988b720c99945fbb91f371e02fa0 (diff)
Add automatic pagination. All you have to do is add <?= $theme->pager
?> to your theme file and you get a well formed pager. Themes can customize this any way they want. A version that matches the mockup is provided in the default theme.
Diffstat (limited to 'core/controllers')
-rw-r--r--core/controllers/album.php19
1 files changed, 15 insertions, 4 deletions
diff --git a/core/controllers/album.php b/core/controllers/album.php
index abe9039a..788ff9e2 100644
--- a/core/controllers/album.php
+++ b/core/controllers/album.php
@@ -26,13 +26,24 @@ class Album_Controller extends Template_Controller {
return Kohana::show_404();
}
- $this->template->content = new View("album.html");
+ /** @todo: these need to be pulled from the database */
+ $theme_name = "default";
+ $page_size = 9;
+
+ $page = $this->input->get("page", "1");
+ $theme = new Theme($theme_name, $this->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());
+ $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);
- /** @todo: this needs to be data-driven */
- $this->template->set_global('theme', new Theme("default", $this->template));
+ /** @todo: move this up to a base class */
+ if (Session::instance()->get("use_profiler", false)) {
+ $profiler = new Profiler();
+ print $profiler->render();
+ }
}
}