From b82332192a7420cce045612014ad6f54b02974c3 Mon Sep 17 00:00:00 2001 From: Bharat Mediratta Date: Wed, 5 Nov 2008 05:20:20 +0000 Subject: The carousel block is now off into its own module. The sidebar.html.php file loops over $theme->blocks() which in turn calls carousel::block() which uses the Block object to create a standard block UI. Hooray! --- core/libraries/Block.php | 32 ++++++++++++++++++++++++++++++++ core/libraries/Theme.php | 16 ++++++++++++++-- 2 files changed, 46 insertions(+), 2 deletions(-) create mode 100644 core/libraries/Block.php (limited to 'core/libraries') diff --git a/core/libraries/Block.php b/core/libraries/Block.php new file mode 100644 index 00000000..25a0689b --- /dev/null +++ b/core/libraries/Block.php @@ -0,0 +1,32 @@ +id = $this->id; + $v->title = $this->title; + $v->content = $this->content; + return $v->__toString(); + } +} diff --git a/core/libraries/Theme.php b/core/libraries/Theme.php index 924e978c..04032b20 100644 --- a/core/libraries/Theme.php +++ b/core/libraries/Theme.php @@ -17,18 +17,30 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ -class theme_Core { +class Theme_Core { private $theme_name = null; + private $template = null; - public function __construct($theme_name) { + public function __construct($theme_name, $template) { $this->theme_name = $theme_name; + $this->template = $template; } public function url($path) { return url::base() . "themes/{$this->theme_name}/$path"; } + public function item() { + return $this->template->item; + } + public function display($page_name, $view_class="View") { return new $view_class($page_name); } + + public function blocks() { + /** @todo: this needs to be made data-driven */ + $blocks = array('carousel' => carousel::block($this)); + return $blocks; + } } -- cgit v1.2.3