diff options
author | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-18 19:09:24 +0000 |
---|---|---|
committer | Tim Almdal <tnalmdal@shaw.ca> | 2008-11-18 19:09:24 +0000 |
commit | 4bf486955cea9e2b67531f044c6bf34a7bc9324f (patch) | |
tree | c1a874cfc00e5894bff4b26c1eadbbcb690411bc /modules/slideshow | |
parent | 4dfa22606fe4c23ab3b60b94518a8d06de63d86b (diff) |
The start of the slideshow module. Mostly framework stuff, no real implementation yet
Diffstat (limited to 'modules/slideshow')
-rw-r--r-- | modules/slideshow/controllers/slideshow.php | 50 | ||||
-rw-r--r-- | modules/slideshow/helpers/slideshow_installer.php | 33 | ||||
-rw-r--r-- | modules/slideshow/views/slideshow_feed.rss.php | 20 |
3 files changed, 103 insertions, 0 deletions
diff --git a/modules/slideshow/controllers/slideshow.php b/modules/slideshow/controllers/slideshow.php new file mode 100644 index 00000000..57553227 --- /dev/null +++ b/modules/slideshow/controllers/slideshow.php @@ -0,0 +1,50 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 Bharat Mediratta + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ +class Slideshow_Controller extends REST_Controller { + // @todo this should be retrieved from the slideshow configuration + public static $LIMIT = 10; + + public function _show($parent, $output_format) { + $offset = $this->input->get("offset", 0); + $children = array(); + // @todo actually fill the array + switch ($output_format) { + case "json": + print json_encode($children); + break; + case "rss": + $view = new View("slideshow_feed.rss"); + $view->item = $parent; + $view->children = $children; + break; + default: + throw new Exception("@todo Unsupported output format: $output_format"); + } + } + + /** + * Override the get_output_format. We want to restrict the check to only $_GET and set the + * default to rss. + * @return string + */ + protected function get_output_format() { + return $this->input->get("_format", "rss"); + } +}
\ No newline at end of file diff --git a/modules/slideshow/helpers/slideshow_installer.php b/modules/slideshow/helpers/slideshow_installer.php new file mode 100644 index 00000000..bd8ef4fc --- /dev/null +++ b/modules/slideshow/helpers/slideshow_installer.php @@ -0,0 +1,33 @@ +<?php defined("SYSPATH") or die("No direct script access."); +/** + * Gallery - a web based photo album viewer and editor + * Copyright (C) 2000-2008 Bharat Mediratta + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or (at + * your option) any later version. + * + * This program is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. + */ +class slideshow_installer { + public static function install() { + Kohana::log("debug", "slideshow_installer::install"); + $version = module::get_version("slideshow"); + Kohana::log("debug", "version: $version"); + if ($version == 0) { + module::set_version("slideshow", 1); + } + } + + public static function uninstall() { + module::delete("slideshow"); + } +} diff --git a/modules/slideshow/views/slideshow_feed.rss.php b/modules/slideshow/views/slideshow_feed.rss.php new file mode 100644 index 00000000..b07bf5fe --- /dev/null +++ b/modules/slideshow/views/slideshow_feed.rss.php @@ -0,0 +1,20 @@ +<? defined("SYSPATH") or die("No direct script access."); ?> +<? echo "<?xml version=\"1.0\" ?>"; ?> +<rss version="2.0"> + <channel> + <title><?= $item->title ?></title> + <link><?= url::site("slideshow/$item->id") ?></link> + <description><?= $item->description ?></description> + <language>en-us</language> + <? + // @todo do we want to add an upload date to the items table? + $date = date("D, dd M Y H:i:s e"); + ?> + <pubDate><?= $date ?></pubDate> + <lastBuildDate><?= $date ?></lastBuildDate> + <? foreach ($children as $child): ?> + <image> + </image> + <? endforeach; ?> + </channel> +</rss>
\ No newline at end of file |