diff options
| author | Chad Kieffer <ckieffer@gmail.com> | 2009-07-30 17:28:05 -0600 | 
|---|---|---|
| committer | Chad Kieffer <ckieffer@gmail.com> | 2009-07-30 17:28:05 -0600 | 
| commit | 9d70f142199f4f3c3ec63fcbb125f5c33c91d9ec (patch) | |
| tree | 189532a66c8996c6f69003ba01e455ce1b050a4e /modules/gallery/helpers/gallery.php | |
| parent | ca4f03b93e1c5eb90d1677684fd5220c000d7d34 (diff) | |
| parent | 19d89f94f9939bbd879d6c8ead4e802f592ec808 (diff) | |
Merge branch 'master' of git@github.com:gallery/gallery3
Diffstat (limited to 'modules/gallery/helpers/gallery.php')
| -rw-r--r-- | modules/gallery/helpers/gallery.php | 118 | 
1 files changed, 118 insertions, 0 deletions
| diff --git a/modules/gallery/helpers/gallery.php b/modules/gallery/helpers/gallery.php index 2fa7ad1c..476e9cbe 100644 --- a/modules/gallery/helpers/gallery.php +++ b/modules/gallery/helpers/gallery.php @@ -78,4 +78,122 @@ class gallery_Core {    static function time($timestamp) {      return date(module::get_var("gallery", "time_format", "H:i:s"), $timestamp);    } + +  static function site_menu($menu, $theme) { +    if ($theme->page_type != "login") { +      $menu->append(Menu::factory("link") +                    ->id("home") +                    ->label(t("Home")) +                    ->url(url::site("albums/1"))); + +      $item = $theme->item(); + +      $can_edit = $item && access::can("edit", $item); +      $can_add = $item && access::can("add", $item); + +      if ($can_add) { +        $menu->append(Menu::factory("dialog") +                      ->id("add_photos_item") +                      ->label(t("Add photos")) +                      ->url(url::site("simple_uploader/app/$item->id"))); +      } + +      $menu->append($options_menu = Menu::factory("submenu") +                    ->id("options_menu") +                    ->label(t("Options"))); +      if ($item && ($can_edit || $can_add)) { +        if ($can_edit) { +          $options_menu +            ->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"))); +        } + +        // @todo Move album options menu to the album quick edit pane +        if ($item->is_album()) { +          if ($can_add) { +            $options_menu +              ->append(Menu::factory("dialog") +                       ->id("add_album") +                       ->label(t("Add an album")) +                       ->url(url::site("form/add/albums/$item->id?type=album"))); +          } + +          if ($can_edit) { +            $options_menu +              ->append(Menu::factory("dialog") +                       ->id("edit_permissions") +                       ->label(t("Edit permissions")) +                       ->url(url::site("permissions/browse/$item->id"))); +          } +        } +      } + +      if (user::active()->admin) { +        $menu->append($admin_menu = Menu::factory("submenu") +                      ->id("admin_menu") +                      ->label(t("Admin"))); +        gallery::admin_menu($admin_menu, $theme); +        module::event("admin_menu", $admin_menu, $theme); +      } + +      module::event("site_menu", $menu, $theme); +    } +  } + +  static function admin_menu($menu, $theme) { +    $menu +      ->append(Menu::factory("link") +               ->id("dashboard") +               ->label(t("Dashboard")) +               ->url(url::site("admin"))) +      ->append(Menu::factory("submenu") +               ->id("settings_menu") +               ->label(t("Settings")) +               ->append(Menu::factory("link") +                        ->id("graphics_toolkits") +                        ->label(t("Graphics")) +                        ->url(url::site("admin/graphics"))) +               ->append(Menu::factory("link") +                        ->id("languages") +                        ->label(t("Languages")) +                        ->url(url::site("admin/languages"))) +               ->append(Menu::factory("link") +                        ->id("l10n_mode") +                        ->label(Session::instance()->get("l10n_mode", false) +                                ? t("Stop translating") : t("Start translating")) +                        ->url(url::site("l10n_client/toggle_l10n_mode?csrf=" . +                                        access::csrf_token()))) +               ->append(Menu::factory("link") +                        ->id("advanced") +                        ->label(t("Advanced")) +                        ->url(url::site("admin/advanced_settings")))) +      ->append(Menu::factory("link") +               ->id("modules") +               ->label(t("Modules")) +               ->url(url::site("admin/modules"))) +      ->append(Menu::factory("submenu") +               ->id("content_menu") +               ->label(t("Content"))) +      ->append(Menu::factory("submenu") +               ->id("appearance_menu") +               ->label(t("Appearance")) +               ->append(Menu::factory("link") +                        ->id("themes") +                        ->label(t("Theme Choice")) +                        ->url(url::site("admin/themes"))) +               ->append(Menu::factory("link") +                        ->id("theme_options") +                        ->label(t("Theme Options")) +                        ->url(url::site("admin/theme_options")))) +      ->append(Menu::factory("submenu") +               ->id("statistics_menu") +               ->label(t("Statistics"))) +      ->append(Menu::factory("link") +               ->id("maintenance") +               ->label(t("Maintenance")) +               ->url(url::site("admin/maintenance"))); +    return $menu; +  }  }
\ No newline at end of file | 
