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.
This commit is contained in:
parent
8d01f7f7d1
commit
b8a4029fb4
@ -49,9 +49,9 @@ $config["methods"] = array(
|
|||||||
"thumb_bottom" => t("Bottom of thumbnail"),
|
"thumb_bottom" => t("Bottom of thumbnail"),
|
||||||
"thumb_info" => t("Thumbnail information"),
|
"thumb_info" => t("Thumbnail information"),
|
||||||
"thumb_top" => t("Top of thumbnail display")),
|
"thumb_top" => t("Top of thumbnail display")),
|
||||||
"menu" => array("album" => t("Add an album menu element"),
|
"event" => array("admin_menu" => t("Add an admin menu element"),
|
||||||
"photo" => t("Add an photo menu element")),
|
"album_menu" => t("Add an album menu element"),
|
||||||
"event" => array("batch_complete" => t("Batch completion"),
|
"batch_complete" => t("Batch completion"),
|
||||||
"comment_add_form" => t("Comment add form creation"),
|
"comment_add_form" => t("Comment add form creation"),
|
||||||
"comment_created" => t("Comment created"),
|
"comment_created" => t("Comment created"),
|
||||||
"comment_updated" => t("Comment updated"),
|
"comment_updated" => t("Comment updated"),
|
||||||
@ -62,8 +62,9 @@ $config["methods"] = array(
|
|||||||
"item_related_update" => t("Photo meta data update"),
|
"item_related_update" => t("Photo meta data update"),
|
||||||
"item_related_update_batch" => t("Photo meta data update"),
|
"item_related_update_batch" => t("Photo meta data update"),
|
||||||
"item_updated" => t("Album or photo 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_before_delete" => t("Before user deletion"),
|
||||||
"user_created" => t("User created"),
|
"user_created" => t("User created"),
|
||||||
"user_login" => t("User login"),
|
"user_login" => t("User login"),
|
||||||
"user_logout" => t("User logout")));
|
"user_logout" => t("User logout")));
|
||||||
|
|
@ -49,6 +49,7 @@ class Admin_Developer_Controller extends Admin_Controller {
|
|||||||
|
|
||||||
$post = new Validation($_POST);
|
$post = new Validation($_POST);
|
||||||
$post->add_rules("name", "required");
|
$post->add_rules("name", "required");
|
||||||
|
$post->add_rules("display_name", "required");
|
||||||
$post->add_rules("description", "required");
|
$post->add_rules("description", "required");
|
||||||
$post->add_callbacks("name", array($this, "_is_module_defined"));
|
$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() {
|
private function _get_module_form() {
|
||||||
$form = array("name" => "", "description" => "", "theme[]" => array(), "menu[]" => array(),
|
$form = array("name" => "", "display_name" => "", "description" => "", "theme[]" => array(),
|
||||||
"event[]" => array());
|
"event[]" => array());
|
||||||
$errors = array_fill_keys(array_keys($form), "");
|
$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->hidden = array("csrf" => access::csrf_token());
|
||||||
$v->theme = $config["theme"];
|
$v->theme = $config["theme"];
|
||||||
$v->event = $config["event"];
|
$v->event = $config["event"];
|
||||||
$v->menu = $config["menu"];
|
|
||||||
$v->form = $form;
|
$v->form = $form;
|
||||||
$v->errors = $errors;
|
$v->errors = $errors;
|
||||||
return $v;
|
return $v;
|
||||||
|
@ -54,14 +54,10 @@ class developer_task_Core {
|
|||||||
$context["block"] = array();
|
$context["block"] = array();
|
||||||
self::_render_helper_file($context, "block");
|
self::_render_helper_file($context, "block");
|
||||||
break;
|
break;
|
||||||
case 4: // Generate menu helper
|
case 4: // Generate event helper
|
||||||
$context["menu"] = !isset($context["menu"]) ? array() : $context["menu"];
|
|
||||||
self::_render_helper_file($context, "menu");
|
|
||||||
break;
|
|
||||||
case 5: // Generate event helper
|
|
||||||
self::_render_helper_file($context, "event");
|
self::_render_helper_file($context, "event");
|
||||||
break;
|
break;
|
||||||
case 6: // Generate admin controller
|
case 5: // Generate admin controller
|
||||||
$file = "{$context['module_path']}/controllers/admin_{$context['module']}.php";
|
$file = "{$context['module_path']}/controllers/admin_{$context['module']}.php";
|
||||||
ob_start();
|
ob_start();
|
||||||
$v = new View("admin_controller.txt");
|
$v = new View("admin_controller.txt");
|
||||||
@ -72,7 +68,7 @@ class developer_task_Core {
|
|||||||
file_put_contents($file, ob_get_contents());
|
file_put_contents($file, ob_get_contents());
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
break;
|
break;
|
||||||
case 7: // Generate admin form
|
case 6: // Generate admin form
|
||||||
$file = "{$context['module_path']}/views/admin_{$context['module']}.html.php";
|
$file = "{$context['module_path']}/views/admin_{$context['module']}.html.php";
|
||||||
ob_start();
|
ob_start();
|
||||||
$v = new View("admin_html.txt");
|
$v = new View("admin_html.txt");
|
||||||
@ -83,7 +79,7 @@ class developer_task_Core {
|
|||||||
file_put_contents($file, ob_get_contents());
|
file_put_contents($file, ob_get_contents());
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
break;
|
break;
|
||||||
case 8: // Generate controller
|
case 7: // Generate controller
|
||||||
$file = "{$context['module_path']}/controllers/{$context['module']}.php";
|
$file = "{$context['module_path']}/controllers/{$context['module']}.php";
|
||||||
ob_start();
|
ob_start();
|
||||||
$v = new View("controller.txt");
|
$v = new View("controller.txt");
|
||||||
@ -95,7 +91,7 @@ class developer_task_Core {
|
|||||||
file_put_contents($file, ob_get_contents());
|
file_put_contents($file, ob_get_contents());
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
break;
|
break;
|
||||||
case 9: // Generate sidebar block view
|
case 8: // Generate sidebar block view
|
||||||
$file = "{$context['module_path']}/views/{$context['module']}_block.html.php";
|
$file = "{$context['module_path']}/views/{$context['module']}_block.html.php";
|
||||||
ob_start();
|
ob_start();
|
||||||
$v = new View("block_html.txt");
|
$v = new View("block_html.txt");
|
||||||
@ -107,11 +103,11 @@ class developer_task_Core {
|
|||||||
file_put_contents($file, ob_get_contents());
|
file_put_contents($file, ob_get_contents());
|
||||||
ob_end_clean();
|
ob_end_clean();
|
||||||
break;
|
break;
|
||||||
case 10: // Generate module.info (do last)
|
case 9: // Generate module.info (do last)
|
||||||
$file = "{$context["module_path"]}/module.info";
|
$file = "{$context["module_path"]}/module.info";
|
||||||
ob_start();
|
ob_start();
|
||||||
$v = new View("module_info.txt");
|
$v = new View("module_info.txt");
|
||||||
$v->module_name = $context["name"];
|
$v->module_name = $context["display_name"];
|
||||||
$v->module_description = $context["description"];
|
$v->module_description = $context["description"];
|
||||||
print $v->render();
|
print $v->render();
|
||||||
file_put_contents($file, ob_get_contents());
|
file_put_contents($file, ob_get_contents());
|
||||||
|
@ -13,6 +13,13 @@
|
|||||||
<p class="g-error"><?= t("Module is already implemented") ?></p>
|
<p class="g-error"><?= t("Module is already implemented") ?></p>
|
||||||
<? endif ?>
|
<? endif ?>
|
||||||
</li>
|
</li>
|
||||||
|
<li <? if (!empty($errors["display_name"])): ?> class="g-error"<? endif ?>>
|
||||||
|
<?= form::label("display_name", t("Display name")) ?>
|
||||||
|
<?= form::input("display_name", $form["display_name"]) ?>
|
||||||
|
<? if (!empty($errors["display_name"]) && $errors["display_name"] == "required"): ?>
|
||||||
|
<p class="g-error"><?= t("Module display_name is required")?></p>
|
||||||
|
<? endif ?>
|
||||||
|
</li>
|
||||||
<li <? if (!empty($errors["description"])): ?> class="g-error"<? endif ?>>
|
<li <? if (!empty($errors["description"])): ?> class="g-error"<? endif ?>>
|
||||||
<?= form::label("description", t("Description")) ?>
|
<?= form::label("description", t("Description")) ?>
|
||||||
<?= form::input("description", $form["description"]) ?>
|
<?= form::input("description", $form["description"]) ?>
|
||||||
@ -23,15 +30,11 @@
|
|||||||
<li>
|
<li>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<?= form::label("theme[]", t("Theme Callbacks")) ?>
|
<?= form::label("theme[]", t("Theme callbacks")) ?>
|
||||||
<?= form::dropdown(array("name" => "theme[]", "multiple" => true, "size" => 6), $theme, $form["theme[]"]) ?>
|
<?= form::dropdown(array("name" => "theme[]", "multiple" => true, "size" => 6), $theme, $form["theme[]"]) ?>
|
||||||
</li>
|
</li>
|
||||||
<li>
|
<li>
|
||||||
<?= form::label("menu[]", t("Menu Callback")) ?>
|
<?= form::label("event[]", t("Gallery event handlers")) ?>
|
||||||
<?= form::dropdown(array("name" => "menu[]", "multiple" => true, "size" => 6), $menu, $form["menu[]"]) ?>
|
|
||||||
</li>
|
|
||||||
<li>
|
|
||||||
<?= form::label("event[]", t("Gallery Event Handlers")) ?>
|
|
||||||
<?= form::dropdown(array("name" => "event[]", "multiple" => true, "size" => 6), $event, $form["event[]"]) ?>
|
<?= form::dropdown(array("name" => "event[]", "multiple" => true, "size" => 6), $event, $form["event[]"]) ?>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
|
@ -19,6 +19,21 @@
|
|||||||
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
* Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
class <?= $module ?>_event {
|
class <?= $module ?>_event {
|
||||||
|
<? if (!empty($callbacks["admin_menu"])): ?>
|
||||||
|
static function admin_menu($menu, $theme) {
|
||||||
|
}
|
||||||
|
|
||||||
|
<? endif ?>
|
||||||
|
<? if (!empty($callbacks["album_menu"])): ?>
|
||||||
|
static function album_menu($menu, $theme) {
|
||||||
|
}
|
||||||
|
|
||||||
|
<? endif ?>
|
||||||
|
<? if (!empty($callbacks["admin_menu"])): ?>
|
||||||
|
static function admin_menu($menu, $theme) {
|
||||||
|
}
|
||||||
|
|
||||||
|
<? endif ?>
|
||||||
<? if (!empty($callbacks["batch_complete"])): ?>
|
<? if (!empty($callbacks["batch_complete"])): ?>
|
||||||
static function batch_complete() {
|
static function batch_complete() {
|
||||||
}
|
}
|
||||||
@ -73,6 +88,16 @@ class <?= $module ?>_event {
|
|||||||
static function item_updated($old, $new) {
|
static function item_updated($old, $new) {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
<? endif ?>
|
||||||
|
<? if (!empty($callbacks["photo_menu"])): ?>
|
||||||
|
static function photo_menu($menu, $theme) {
|
||||||
|
}
|
||||||
|
|
||||||
|
<? endif ?>
|
||||||
|
<? if (!empty($callbacks["site_menu"])): ?>
|
||||||
|
static function site_menu($menu, $theme) {
|
||||||
|
}
|
||||||
|
|
||||||
<? endif ?>
|
<? endif ?>
|
||||||
<? if (!empty($callbacks["user_before_delete"])): ?>
|
<? if (!empty($callbacks["user_before_delete"])): ?>
|
||||||
static function user_before_delete($user) {
|
static function user_before_delete($user) {
|
||||||
|
@ -1,51 +0,0 @@
|
|||||||
<?php defined("SYSPATH") or die("No direct script access.") ?>
|
|
||||||
<?= "<?php defined(\"SYSPATH\") or die(\"No direct script access.\");" ?>
|
|
||||||
/**
|
|
||||||
* 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 <?= $module ?>_menu {
|
|
||||||
static function admin($menu, $theme) {
|
|
||||||
$menu->get("settings_menu")
|
|
||||||
->append(Menu::factory("link")
|
|
||||||
->id("<?= $module ?>_menu")
|
|
||||||
->label(t("<?= $module_name ?> Administration"))
|
|
||||||
->url(url::site("admin/<?= $module ?>")));
|
|
||||||
}
|
|
||||||
|
|
||||||
<? if (!empty($callbacks["album"])): ?>
|
|
||||||
static function album($menu, $theme) {
|
|
||||||
}
|
|
||||||
|
|
||||||
<? endif ?>
|
|
||||||
<? if (!empty($callbacks["photo"])): ?>
|
|
||||||
static function photo($menu, $theme) {
|
|
||||||
}
|
|
||||||
|
|
||||||
<? endif ?>
|
|
||||||
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("<?= $module ?>")
|
|
||||||
->label(t("Peform <?= $module_name ?> Processing"))
|
|
||||||
->url(url::site("<?= $module ?>/index/$item->id")));
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
Reference in New Issue
Block a user