summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--modules/gallery/helpers/gallery.php7
-rw-r--r--modules/server_add/helpers/server_add_event.php13
2 files changed, 14 insertions, 6 deletions
diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php
index 40e188e2..d5b2fed9 100644
--- a/modules/gallery/helpers/gallery.php
+++ b/modules/gallery/helpers/gallery.php
@@ -89,9 +89,11 @@ class gallery_Core {
$item = $theme->item();
$can_edit = $item && access::can("edit", $item);
+ $is_album_writable =
+ is_writable($item->is_album() ? $item->file_path() : $item->parent()->file_path());
$can_add = $item && access::can("add", $item);
- if ($can_add) {
+ if ($can_add && $is_album_writable) {
$menu->append($add_menu = Menu::factory("submenu")
->id("add_menu")
->label(t("Add")));
@@ -105,6 +107,9 @@ class gallery_Core {
->label(t("Add an album"))
->url(url::site("form/add/albums/$item->id?type=album")));
}
+ } else if (!$is_album_writable) {
+ message::warning(t("The album '%album_name' is not writable.",
+ array("album_name" => $item->title)));
}
$menu->append($options_menu = Menu::factory("submenu")
diff --git a/modules/server_add/helpers/server_add_event.php b/modules/server_add/helpers/server_add_event.php
index b9dd8c28..28996ee2 100644
--- a/modules/server_add/helpers/server_add_event.php
+++ b/modules/server_add/helpers/server_add_event.php
@@ -31,11 +31,14 @@ class server_add_event_Core {
$paths = unserialize(module::get_var("server_add", "authorized_paths"));
if ($item && user::active()->admin && $item->is_album() && !empty($paths)) {
- $menu->get("add_menu")
- ->append(Menu::factory("dialog")
- ->id("server_add")
- ->label(t("Server add"))
- ->url(url::site("server_add/browse/$item->id")));
+ $add_menu = $menu->get("add_menu");
+ if ($add_menu) {
+ $add_menu
+ ->append(Menu::factory("dialog")
+ ->id("server_add")
+ ->label(t("Server add"))
+ ->url(url::site("server_add/browse/$item->id")));
+ }
}
}
}