mirror of
https://github.com/Pathduck/gallery3.git
synced 2026-05-20 11:29:24 -04:00
* open for suggestions on the submenu item labels * @bharat: not sure about the add photos menu item id in the dropdown case
69 lines
2.8 KiB
PHP
69 lines
2.8 KiB
PHP
<?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 server_add_menu_Core {
|
|
static function admin($menu, $theme) {
|
|
$menu->get("settings_menu")
|
|
->append(Menu::factory("link")
|
|
->id("server_add")
|
|
->label(t("Server Add"))
|
|
->url(url::site("admin/server_add")));
|
|
}
|
|
|
|
static function site($menu, $theme) {
|
|
$item = $theme->item();
|
|
$paths = unserialize(module::get_var("server_add", "authorized_paths"));
|
|
|
|
if (user::active()->admin && $item->is_album() && !empty($paths)) {
|
|
// This is a little tricky. Normally there's an "Add Photo" menu option, but we want to
|
|
// turn that into a dropdown if there are two different ways to add things. Do that in a
|
|
// portable way for now. If we find ourselves duplicating this pattern, we should make an
|
|
// API method for this.
|
|
$server_add = Menu::factory("dialog")
|
|
->id("server_add")
|
|
->label(t("Add from server"))
|
|
->url(url::site("server_add/index/$item->id"));
|
|
$options_menu = $menu->get("options_menu");
|
|
$add_photos_item = $menu->get("add_photos_item");
|
|
$add_photos_menu = $menu->get("add_photos_menu");
|
|
|
|
if ($add_photos_item && !$add_photos_menu) {
|
|
// Assuming that $add_menu is unset, create add_menu and add our item
|
|
$menu->add_after(
|
|
"home",
|
|
Menu::factory("submenu")
|
|
->id("add_photos_menu")
|
|
->label(t("Add Photos"))
|
|
->append(Menu::factory("dialog")
|
|
->id("add_photos_submenu_item")
|
|
->label(t("via Simple Uploader"))
|
|
->url(url::site("simple_uploader/app/$item->id")))
|
|
->append($server_add));
|
|
$menu->remove("add_photos_item");
|
|
} else if ($add_photos_menu) {
|
|
// Append to the existing sub-menu
|
|
$add_photos_menu->append($server_add);
|
|
} else {
|
|
// Else just add it in at the end of Options
|
|
$options_menu->append($server_add);
|
|
}
|
|
}
|
|
}
|
|
}
|