summaryrefslogtreecommitdiff
path: root/core
diff options
context:
space:
mode:
authorAndy Staudacher <andy.st@gmail.com>2009-02-12 02:51:44 +0000
committerAndy Staudacher <andy.st@gmail.com>2009-02-12 02:51:44 +0000
commit989c24dc996f9cd29cf660662476fc26c77ba835 (patch)
tree5a8020cfb27a5e63a4accad63bd103b0b1342137 /core
parentc69b483e34ad80bde06007a0588aa5906f09424e (diff)
Move l10n enable/disable option to Options menu.
Only available to admins at this point.
Diffstat (limited to 'core')
-rw-r--r--core/controllers/l10n_client.php11
-rw-r--r--core/helpers/core_menu.php57
-rw-r--r--core/views/scaffold.html.php7
3 files changed, 47 insertions, 28 deletions
diff --git a/core/controllers/l10n_client.php b/core/controllers/l10n_client.php
index 41e05c98..3e95248a 100644
--- a/core/controllers/l10n_client.php
+++ b/core/controllers/l10n_client.php
@@ -20,6 +20,7 @@
class L10n_Client_Controller extends Controller {
public function save($string) {
access::verify_csrf();
+ user::active()->admin or access::forbidden();
$input = Input::instance();
$message = $input->post("l10n-message-source");
@@ -55,6 +56,16 @@ class L10n_Client_Controller extends Controller {
print json_encode(new stdClass());
}
+ public function toggle_l10n_mode() {
+ access::verify_csrf();
+
+ $session = Session::instance();
+ $session->set("l10n_mode",
+ !$session->get("l10n_mode", false));
+
+ url::redirect(url::site("albums/1"));
+ }
+
private static function _l10n_client_form() {
$form = new Forge("l10n_client/save", "", "post", array("id" => "gL10nClientSaveForm"));
$group = $form->group("l10n_message");
diff --git a/core/helpers/core_menu.php b/core/helpers/core_menu.php
index 35a0cb99..c1472001 100644
--- a/core/helpers/core_menu.php
+++ b/core/helpers/core_menu.php
@@ -32,31 +32,46 @@ class core_menu_Core {
$item = $theme->item();
- if ($item && access::can("edit", $item)) {
+ if (user::active()->admin || ($item && access::can("edit", $item))) {
$menu->append($options_menu = Menu::factory("submenu")
- ->id("options_menu")
- ->label(t("Options"))
- ->append(Menu::factory("dialog")
- ->id("edit_item")
- ->label($item->is_album() ? t("Edit album") : t("Edit photo"))
- ->url(url::site("form/edit/{$item->type}s/$item->id"))));
+ ->id("options_menu")
+ ->label(t("Options")));
- // @todo Move album options menu to the album quick edit pane
- // @todo Create resized item quick edit pane menu
- if ($item->is_album()) {
+ if ($item && access::can("edit", $item)) {
$options_menu
->append(Menu::factory("dialog")
- ->id("add_item")
- ->label(t("Add a photo"))
- ->url(url::site("form/add/albums/$item->id?type=photo")))
- ->append(Menu::factory("dialog")
- ->id("add_album")
- ->label(t("Add an album"))
- ->url(url::site("form/add/albums/$item->id?type=album")))
- ->append(Menu::factory("dialog")
- ->id("edit_permissions")
- ->label(t("Edit permissions"))
- ->url(url::site("permissions/browse/$item->id")));
+ ->id("edit_item")
+ ->label($item->is_album() ? t("Edit album") : t("Edit photo"))
+ ->url(url::site("form/edit/{$item->type}s/$item->id")));
+
+ // @todo Move album options menu to the album quick edit pane
+ // @todo Create resized item quick edit pane menu
+ if ($item->is_album()) {
+ $options_menu
+ ->append(Menu::factory("dialog")
+ ->id("add_item")
+ ->label(t("Add a photo"))
+ ->url(url::site("form/add/albums/$item->id?type=photo")))
+ ->append(Menu::factory("dialog")
+ ->id("add_album")
+ ->label(t("Add an album"))
+ ->url(url::site("form/add/albums/$item->id?type=album")))
+ ->append(Menu::factory("dialog")
+ ->id("edit_permissions")
+ ->label(t("Edit permissions"))
+ ->url(url::site("permissions/browse/$item->id")));
+ }
+ }
+
+ if (user::active()->admin) {
+ $options_menu
+ ->append(Menu::factory("link")
+ ->id("l10n_mode")
+ ->label(Session::instance()->get("l10n_mode", false)
+ ? t("Disable translation mode")
+ : t("Enable translation mode"))
+ ->url(url::site("l10n_client/toggle_l10n_mode?csrf=" .
+ access::csrf_token())));
}
}
diff --git a/core/views/scaffold.html.php b/core/views/scaffold.html.php
index b54e6cd2..2dd256c2 100644
--- a/core/views/scaffold.html.php
+++ b/core/views/scaffold.html.php
@@ -440,13 +440,6 @@
<?= html::anchor("scaffold/session/debug?value=1", "on") ?> <b>off</b>
<? endif ?>
</li>
- <li> Translation Mode:
- <? if (Session::instance()->get("l10n_mode", false)): ?>
- <b>on</b> <?= html::anchor("scaffold/session/l10n_mode?value=0", "off") ?>
- <? else: ?>
- <?= html::anchor("scaffold/session/l10n_mode?value=1", "on") ?> <b>off</b>
- <? endif ?>
- </li>
</ul>
</div>