From b8a4029fb4183018195485a030bf411325c7d72b Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 29 Oct 2009 08:04:38 -0700 Subject: [PATCH] Update the developer module to allow the internal name and display name to be supplied seperately. Also update so menus are generated as part of the event mechanism. --- modules/developer/config/developer.php | 9 ++-- .../developer/controllers/admin_developer.php | 4 +- modules/developer/helpers/developer_task.php | 18 +++---- .../developer/views/developer_module.html.php | 15 +++--- modules/developer/views/event.txt.php | 53 ++++++++++++++----- modules/developer/views/menu.txt.php | 51 ------------------ 6 files changed, 62 insertions(+), 88 deletions(-) delete mode 100644 modules/developer/views/menu.txt.php diff --git a/modules/developer/config/developer.php b/modules/developer/config/developer.php index 665be0bf..2fc97b9c 100644 --- a/modules/developer/config/developer.php +++ b/modules/developer/config/developer.php @@ -49,9 +49,9 @@ $config["methods"] = array( "thumb_bottom" => t("Bottom of thumbnail"), "thumb_info" => t("Thumbnail information"), "thumb_top" => t("Top of thumbnail display")), - "menu" => array("album" => t("Add an album menu element"), - "photo" => t("Add an photo menu element")), - "event" => array("batch_complete" => t("Batch completion"), + "event" => array("admin_menu" => t("Add an admin menu element"), + "album_menu" => t("Add an album menu element"), + "batch_complete" => t("Batch completion"), "comment_add_form" => t("Comment add form creation"), "comment_created" => t("Comment created"), "comment_updated" => t("Comment updated"), @@ -62,8 +62,9 @@ $config["methods"] = array( "item_related_update" => t("Photo meta data update"), "item_related_update_batch" => t("Photo meta data update"), "item_updated" => t("Album or photo update"), + "photo_menu" => t("Add a photo menu element"), + "site_menu" => t("Add a site menu element"), "user_before_delete" => t("Before user deletion"), "user_created" => t("User created"), "user_login" => t("User login"), "user_logout" => t("User logout"))); - \ No newline at end of file diff --git a/modules/developer/controllers/admin_developer.php b/modules/developer/controllers/admin_developer.php index 62bc14ee..e8d1c426 100644 --- a/modules/developer/controllers/admin_developer.php +++ b/modules/developer/controllers/admin_developer.php @@ -49,6 +49,7 @@ class Admin_Developer_Controller extends Admin_Controller { $post = new Validation($_POST); $post->add_rules("name", "required"); + $post->add_rules("display_name", "required"); $post->add_rules("description", "required"); $post->add_callbacks("name", array($this, "_is_module_defined")); @@ -216,7 +217,7 @@ class Admin_Developer_Controller extends Admin_Controller { } private function _get_module_form() { - $form = array("name" => "", "description" => "", "theme[]" => array(), "menu[]" => array(), + $form = array("name" => "", "display_name" => "", "description" => "", "theme[]" => array(), "event[]" => array()); $errors = array_fill_keys(array_keys($form), ""); @@ -231,7 +232,6 @@ class Admin_Developer_Controller extends Admin_Controller { $v->hidden = array("csrf" => access::csrf_token()); $v->theme = $config["theme"]; $v->event = $config["event"]; - $v->menu = $config["menu"]; $v->form = $form; $v->errors = $errors; return $v; diff --git a/modules/developer/helpers/developer_task.php b/modules/developer/helpers/developer_task.php index 34ef3eb2..0b004ece 100644 --- a/modules/developer/helpers/developer_task.php +++ b/modules/developer/helpers/developer_task.php @@ -54,14 +54,10 @@ class developer_task_Core { $context["block"] = array(); self::_render_helper_file($context, "block"); break; - case 4: // Generate menu helper - $context["menu"] = !isset($context["menu"]) ? array() : $context["menu"]; - self::_render_helper_file($context, "menu"); - break; - case 5: // Generate event helper + case 4: // Generate event helper self::_render_helper_file($context, "event"); break; - case 6: // Generate admin controller + case 5: // Generate admin controller $file = "{$context['module_path']}/controllers/admin_{$context['module']}.php"; ob_start(); $v = new View("admin_controller.txt"); @@ -72,7 +68,7 @@ class developer_task_Core { file_put_contents($file, ob_get_contents()); ob_end_clean(); break; - case 7: // Generate admin form + case 6: // Generate admin form $file = "{$context['module_path']}/views/admin_{$context['module']}.html.php"; ob_start(); $v = new View("admin_html.txt"); @@ -83,7 +79,7 @@ class developer_task_Core { file_put_contents($file, ob_get_contents()); ob_end_clean(); break; - case 8: // Generate controller + case 7: // Generate controller $file = "{$context['module_path']}/controllers/{$context['module']}.php"; ob_start(); $v = new View("controller.txt"); @@ -95,7 +91,7 @@ class developer_task_Core { file_put_contents($file, ob_get_contents()); ob_end_clean(); break; - case 9: // Generate sidebar block view + case 8: // Generate sidebar block view $file = "{$context['module_path']}/views/{$context['module']}_block.html.php"; ob_start(); $v = new View("block_html.txt"); @@ -107,11 +103,11 @@ class developer_task_Core { file_put_contents($file, ob_get_contents()); ob_end_clean(); break; - case 10: // Generate module.info (do last) + case 9: // Generate module.info (do last) $file = "{$context["module_path"]}/module.info"; ob_start(); $v = new View("module_info.txt"); - $v->module_name = $context["name"]; + $v->module_name = $context["display_name"]; $v->module_description = $context["description"]; print $v->render(); file_put_contents($file, ob_get_contents()); diff --git a/modules/developer/views/developer_module.html.php b/modules/developer/views/developer_module.html.php index 74ad2097..54eabfb1 100644 --- a/modules/developer/views/developer_module.html.php +++ b/modules/developer/views/developer_module.html.php @@ -13,6 +13,13 @@

+
  • class="g-error"> + + + +

    + +
  • class="g-error"> @@ -23,15 +30,11 @@
  • diff --git a/modules/developer/views/event.txt.php b/modules/developer/views/event.txt.php index 958dfe7a..6b913bcb 100644 --- a/modules/developer/views/event.txt.php +++ b/modules/developer/views/event.txt.php @@ -19,75 +19,100 @@ * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ class _event { + + static function admin_menu($menu, $theme) { + } + + + + static function album_menu($menu, $theme) { + } + + + + static function admin_menu($menu, $theme) { + } + + static function batch_complete() { } - + static function comment_add_form($form) { } - + static function comment_created($theme, $args) { } - + static function comment_updated($old, $new) { } - + static function group_before_delete($group) { } - + static function group_created($group) { } - + static function item_before_delete($item) { } - + static function item_created($item) { } - + static function item_related_update($item) { } - + static function item_related_update_batch($sql) { } - + static function item_updated($old, $new) { } - + + + + static function photo_menu($menu, $theme) { + } + + + + static function site_menu($menu, $theme) { + } + static function user_before_delete($user) { } - + static function user_created($user) { } - + static function user_login($user) { } - + static function user_logout($user) { diff --git a/modules/developer/views/menu.txt.php b/modules/developer/views/menu.txt.php deleted file mode 100644 index 89cad5ba..00000000 --- a/modules/developer/views/menu.txt.php +++ /dev/null @@ -1,51 +0,0 @@ - - -/** - * Gallery - a web based photo album viewer and editor - * Copyright (C) 2000-2009 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 _menu { - static function admin($menu, $theme) { - $menu->get("settings_menu") - ->append(Menu::factory("link") - ->id("_menu") - ->label(t(" Administration")) - ->url(url::site("admin/"))); - } - - - static function album($menu, $theme) { - } - - - - static function photo($menu, $theme) { - } - - - static function site($menu, $theme) { - $item = $theme->item(); - - if ($item && access::can("edit", $item)) { - $options_menu = $menu->get("options_menu") - ->append(Menu::factory("dialog") - ->id("") - ->label(t("Peform Processing")) - ->url(url::site("/index/$item->id"))); - } - } -}