From b8a4029fb4183018195485a030bf411325c7d72b Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 29 Oct 2009 08:04:38 -0700 Subject: [PATCH 1/4] 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"))); - } - } -} From 175b0af34b01500d8832e557d18051de82ad79ee Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 29 Oct 2009 08:17:22 -0700 Subject: [PATCH 2/4] Only generate the admin_menu method once. --- modules/developer/views/event.txt.php | 5 ----- 1 file changed, 5 deletions(-) diff --git a/modules/developer/views/event.txt.php b/modules/developer/views/event.txt.php index 6b913bcb..6b61d9aa 100644 --- a/modules/developer/views/event.txt.php +++ b/modules/developer/views/event.txt.php @@ -28,11 +28,6 @@ class _event { static function album_menu($menu, $theme) { } - - - static function admin_menu($menu, $theme) { - } - static function batch_complete() { From a9347da91d83aa20d5639ae7d2181d41171bd13a Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 29 Oct 2009 11:23:32 -0700 Subject: [PATCH 3/4] Missed a couple of inconsistent capitalizations --- modules/developer/helpers/developer_event.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/developer/helpers/developer_event.php b/modules/developer/helpers/developer_event.php index 10cf3e14..09e0443a 100644 --- a/modules/developer/helpers/developer_event.php +++ b/modules/developer/helpers/developer_event.php @@ -21,21 +21,21 @@ class developer_event_Core { static function admin_menu($menu, $theme) { $developer_menu = Menu::factory("submenu") ->id("developer_menu") - ->label(t("Developer Tools")); + ->label(t("Developer tools")); $menu->append($developer_menu); $developer_menu ->append(Menu::factory("link") ->id("generate_menu") - ->label(t("Generate Module")) + ->label(t("Generate module")) ->url(url::site("admin/developer/module"))) ->append(Menu::factory("link") ->id("generate_data") - ->label(t("Generate Test Data")) + ->label(t("Generate test data")) ->url(url::site("admin/developer/test_data"))) ->append(Menu::factory("link") ->id("mptt_tree_menu") - ->label(t("MPTT Tree")) + ->label(t("MPTT tree")) ->url(url::site("admin/developer/mptt"))); $csrf = access::csrf_token(); From 73bca7bfdb8a3980e1c1630a1f11eb0949c4ea40 Mon Sep 17 00:00:00 2001 From: Tim Almdal Date: Thu, 29 Oct 2009 19:17:34 -0700 Subject: [PATCH 4/4] Implement the new add_user_to_group and remove_user_from_group api method calls. For the ldap provider just throw an Invalid Operation exception. --- .../libraries/drivers/IdentityProvider/Ldap.php | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php b/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php index 11b59c3a..72f10fb0 100644 --- a/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php +++ b/modules/ldap/libraries/drivers/IdentityProvider/Ldap.php @@ -197,6 +197,20 @@ class IdentityProvider_Ldap_Driver implements IdentityProvider_Driver { } return $groups; } + + /** + * @see IdentityProvider_Driver::add_user_to_group. + */ + static function add_user_to_group($user, $group_id) { + throw new Exception("@todo INVALID OPERATION"); + } + + /** + * @see IdentityProvider_Driver::remove_user_to_group. + */ + static function remove_user_from_group($user, $group_id) { + throw new Exception("@todo INVALID OPERATION"); + } } // End Identity Gallery Driver class Ldap_User implements User_Definition {