diff options
author | Bharat Mediratta <bharat@menalto.com> | 2009-01-12 07:39:53 +0000 |
---|---|---|
committer | Bharat Mediratta <bharat@menalto.com> | 2009-01-12 07:39:53 +0000 |
commit | b19729435cd918e03e1bd6fbb91f7281bf3e5873 (patch) | |
tree | 2e1e1723bfcb8358ac4060927c396777acff2af7 /core/helpers | |
parent | ef303bde3e853a01e45b7734698210a40a7be812 (diff) |
Dashboard blocks are now data driven, and you can add new blocks to
both the sidebar and the center content area from a dropdown at the
top of the dashboard sidebar.
Diffstat (limited to 'core/helpers')
-rw-r--r-- | core/helpers/core_block.php | 50 | ||||
-rw-r--r-- | core/helpers/core_dashboard.php | 79 | ||||
-rw-r--r-- | core/helpers/core_installer.php | 11 |
3 files changed, 90 insertions, 50 deletions
diff --git a/core/helpers/core_block.php b/core/helpers/core_block.php index 8c65b1ad..e005b67d 100644 --- a/core/helpers/core_block.php +++ b/core/helpers/core_block.php @@ -66,54 +66,4 @@ class core_block_Core { $profiler->render(); } } - - public static function admin_dashboard_blocks($theme) { - $block = new Block(); - $block->id = "gWelcome"; - $block->title = t("Welcome to Gallery3"); - $block->content = new View("admin_block_welcome.html"); - $blocks[] = $block; - - $block = new Block(); - $block->id = "gPhotoStream"; - $block->title = t("Photo Stream"); - $block->content = new View("admin_block_photo_stream.html"); - $block->content->photos = - ORM::factory("item")->where("type", "photo")->orderby("created", "desc")->find_all(10); - $blocks[] = $block; - - $block = new Block(); - $block->id = "gLogEntries"; - $block->title = t("Log Entries"); - $block->content = new View("admin_block_log_entries.html"); - $block->content->entries = ORM::factory("log")->orderby("timestamp", "DESC")->find_all(5); - $blocks[] = $block; - - return implode("\n", $blocks); - } - - public static function admin_sidebar_blocks($theme) { - $block = new Block(); - $block->id = "gStats"; - $block->title = t("Gallery Stats"); - $block->content = new View("admin_block_stats.html"); - $block->content->album_count = ORM::factory("item")->where("type", "album")->count_all(); - $block->content->photo_count = ORM::factory("item")->where("type", "photo")->count_all(); - $blocks[] = $block; - - $block = new Block(); - $block->id = "gPlatform"; - $block->title = t("Platform Information"); - $block->content = new View("admin_block_platform.html"); - $blocks[] = $block; - - $block = new Block(); - $block->id = "gProjectNews"; - $block->title = t("Gallery Project News"); - $block->content = new View("admin_block_news.html"); - $block->content->feed = feed::parse("http://gallery.menalto.com/node/feed", 3); - $blocks[] = $block; - - return implode("\n", $blocks); - } }
\ No newline at end of file diff --git a/core/helpers/core_dashboard.php b/core/helpers/core_dashboard.php new file mode 100644 index 00000000..d27ed01b --- /dev/null +++ b/core/helpers/core_dashboard.php @@ -0,0 +1,79 @@ +<?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 core_dashboard_Core { + public static function get_list() { + return array( + "welcome" => t("Welcome to Gallery 3!"), + "photo_stream" => t("Photo Stream"), + "log_entries" => t("Log Entries"), + "stats" => t("Gallery Stats"), + "platform_info" => t("Platform Information"), + "project_news" => t("Gallery Project News")); + } + + public static function get_block($block_id) { + $block = new Block(); + switch($block_id) { + case "welcome": + $block->id = "gWelcome"; + $block->title = t("Welcome to Gallery3"); + $block->content = new View("admin_block_welcome.html"); + break; + + case "photo_stream": + $block->id = "gPhotoStream"; + $block->title = t("Photo Stream"); + $block->content = new View("admin_block_photo_stream.html"); + $block->content->photos = + ORM::factory("item")->where("type", "photo")->orderby("created", "desc")->find_all(10); + break; + + case "log_entries": + $block->id = "gLogEntries"; + $block->title = t("Log Entries"); + $block->content = new View("admin_block_log_entries.html"); + $block->content->entries = ORM::factory("log")->orderby("timestamp", "desc")->find_all(5); + break; + + case "stats": + $block->id = "gStats"; + $block->title = t("Gallery Stats"); + $block->content = new View("admin_block_stats.html"); + $block->content->album_count = ORM::factory("item")->where("type", "album")->count_all(); + $block->content->photo_count = ORM::factory("item")->where("type", "photo")->count_all(); + break; + + case "platform_info": + $block->id = "gPlatform"; + $block->title = t("Platform Information"); + $block->content = new View("admin_block_platform.html"); + break; + + case "project_news": + $block->id = "gProjectNews"; + $block->title = t("Gallery Project News"); + $block->content = new View("admin_block_news.html"); + $block->content->feed = feed::parse("http://gallery.menalto.com/node/feed", 3); + break; + } + + return $block; + } +}
\ No newline at end of file diff --git a/core/helpers/core_installer.php b/core/helpers/core_installer.php index 115aca20..0da8bc3e 100644 --- a/core/helpers/core_installer.php +++ b/core/helpers/core_installer.php @@ -233,7 +233,18 @@ class core_installer { $theme->version = $theme_info->version; $theme->save(); } + + module::set_var( + "core", "dashboard_blocks", serialize( + array("sidebar" => array(array("core", "stats"), + array("core", "platform_info"), + array("core", "project_news")), + "main" => array(array("core", "welcome"), + array("core", "photo_stream"), + array("core", "log_entries"))))); + module::set_version("core", 1); + module::set_var("core", "version", "3.0"); } } |