diff options
| author | Tim Almdal <tnalmdal@shaw.ca> | 2009-08-19 05:14:05 -0700 | 
|---|---|---|
| committer | Tim Almdal <tnalmdal@shaw.ca> | 2009-08-19 05:14:05 -0700 | 
| commit | bc42df35ee6cce419cbd9f514f245dcf8c70262b (patch) | |
| tree | d1ad4c36130edf320368c5e08f79ebb950b6bcec /modules/gallery/libraries | |
| parent | 2ac916783ad81f49185fa5c8514aefcb330a6128 (diff) | |
| parent | 3b8323d5b4db4904aba9ea2f922140ab235dd681 (diff) | |
Merge branch 'master' of git://github.com/gallery/gallery3
Diffstat (limited to 'modules/gallery/libraries')
| -rw-r--r-- | modules/gallery/libraries/Menu.php | 38 | ||||
| -rw-r--r-- | modules/gallery/libraries/Theme_View.php | 9 | 
2 files changed, 41 insertions, 6 deletions
| diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php index a39b59a5..07b2b2b8 100644 --- a/modules/gallery/libraries/Menu.php +++ b/modules/gallery/libraries/Menu.php @@ -91,12 +91,43 @@ class Menu_Element_Link extends Menu_Element {      } else {        $css_class = "";      } -    return "<li><a$css_id class=\"gMenuElement$css_class\" href=\"$this->url\" " . +    return "<li><a$css_id class=\"gMenuLink $css_class\" href=\"$this->url\" " .        "title=\"$this->label\">$this->label</a></li>";    }  }  /** + * Menu element that provides an AJAX link. + */ +class Menu_Element_Ajax_Link extends Menu_Element { +  public $ajax_handler; + +  /** +   * Set the AJAX handler +   * @chainable +   */ +  public function ajax_handler($ajax_handler) { +    $this->ajax_handler = $ajax_handler; +    return $this; +  } + +  public function __toString() { +    if (isset($this->css_id) && !empty($this->css_id)) { +      $css_id = " id=\"$this->css_id\""; +    } else { +      $css_id = ""; +    } +    if (isset($this->css_class) && !empty($this->css_class)) { +      $css_class = " $this->css_class"; +    } else { +      $css_class = ""; +    } +    return "<li><a$css_id class=\"gAjaxLink $css_class\" href=\"$this->url\" " . +      "title=\"$this->label\" ajax_handler=\"$this->ajax_handler\">$this->label</a></li>"; +  } +} + +/**   * Menu element that provides a pop-up dialog   */  class Menu_Element_Dialog extends Menu_Element { @@ -111,7 +142,7 @@ class Menu_Element_Dialog extends Menu_Element {      } else {        $css_class = "";      } -    return "<li><a$css_id class=\"gMenuLink$css_class\" href=\"$this->url\" " . +    return "<li><a$css_id class=\"gDialogLink $css_class\" href=\"$this->url\" " .             "title=\"$this->label\">$this->label</a></li>";    }  } @@ -132,6 +163,9 @@ class Menu_Core extends Menu_Element {      case "link":        return new Menu_Element_Link($type); +    case "ajax_link": +      return new Menu_Element_Ajax_Link($type); +      case "dialog":        return new Menu_Element_Dialog($type); diff --git a/modules/gallery/libraries/Theme_View.php b/modules/gallery/libraries/Theme_View.php index 360e5e46..541bce88 100644 --- a/modules/gallery/libraries/Theme_View.php +++ b/modules/gallery/libraries/Theme_View.php @@ -111,14 +111,15 @@ class Theme_View_Core extends Gallery_View {      return $menu->compact();    } -  public function thumb_menu($item) { +  public function context_menu($item, $thumbnail_css_selector) {      $menu = Menu::factory("root")        ->append(Menu::factory("submenu") -               ->id("options_menu") +               ->id("context_menu")                 ->label(t("Options"))) -      ->css_class("gThumbMenu"); +      ->css_class("gContextMenu"); -    module::event("thumb_menu", $menu, $this, $item); +    gallery::context_menu($menu, $this, $item, $thumbnail_css_selector); +    module::event("context_menu", $menu, $this, $item, $thumbnail_css_selector);      return $menu->compact();    } | 
