summaryrefslogtreecommitdiff
path: root/modules/gallery/libraries/Menu.php
diff options
context:
space:
mode:
authorTim Almdal <tnalmdal@shaw.ca>2009-10-27 14:02:59 -0700
committerTim Almdal <tnalmdal@shaw.ca>2009-10-27 14:02:59 -0700
commitdbf18318f66f5a2b39d8483973a3eca7cac84740 (patch)
treeaf0b29f2c63920a1cc21159ac97de142bce53f8f /modules/gallery/libraries/Menu.php
parent3228f04ed9b18938365866ed15027ed3c1b59ad7 (diff)
parent13faf6035d726f8a77b7dcac7e8e8fa3b24bfaf2 (diff)
Merge branch 'master' of git@github.com:gallery/gallery3
Diffstat (limited to 'modules/gallery/libraries/Menu.php')
-rw-r--r--modules/gallery/libraries/Menu.php74
1 files changed, 16 insertions, 58 deletions
diff --git a/modules/gallery/libraries/Menu.php b/modules/gallery/libraries/Menu.php
index 47af8531..fba21e09 100644
--- a/modules/gallery/libraries/Menu.php
+++ b/modules/gallery/libraries/Menu.php
@@ -80,19 +80,10 @@ class Menu_Element {
* Menu element that provides a link to a new page.
*/
class Menu_Element_Link extends Menu_Element {
- 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=\"g-menu-link $css_class\" href=\"$this->url\" " .
- "title=\"$this->label\">$this->label</a></li>";
+ public function render() {
+ $view = new View("menu_link.html");
+ $view->menu = $this;
+ return $view;
}
}
@@ -111,19 +102,10 @@ class Menu_Element_Ajax_Link extends Menu_Element {
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=\"g-ajax-link $css_class\" href=\"$this->url\" " .
- "title=\"$this->label\" ajax_handler=\"$this->ajax_handler\">$this->label</a></li>";
+ public function render() {
+ $view = new View("menu_ajax_link.html");
+ $view->menu = $this;
+ return $view;
}
}
@@ -131,19 +113,10 @@ class Menu_Element_Ajax_Link extends Menu_Element {
* Menu element that provides a pop-up dialog
*/
class Menu_Element_Dialog extends Menu_Element {
- 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=\"g-dialog-link $css_class\" href=\"$this->url\" " .
- "title=\"$this->label\">$this->label</a></li>";
+ public function render() {
+ $view = new View("menu_dialog.html");
+ $view->menu = $this;
+ return $view;
}
}
@@ -182,19 +155,6 @@ class Menu_Core extends Menu_Element {
}
}
- public function compact() {
- foreach ($this->elements as $target_id => $element) {
- if ($element->type == "submenu") {
- if (empty($element->elements)) {
- $this->remove($target_id);
- } else {
- $element->compact();
- }
- }
- }
- return $this;
- }
-
public function __construct($type) {
parent::__construct($type);
$this->elements = array();
@@ -242,11 +202,9 @@ class Menu_Core extends Menu_Element {
return null;
}
- public function __toString() {
- $html = $this->is_root ? "<ul class=\"$this->css_class\">" :
- "<li title=\"$this->label\"><a href=\"#\">$this->label</a><ul>";
- $html .= implode("\n", $this->elements);
- $html .= $this->is_root ? "</ul>" : "</ul></li>";
- return $html;
+ public function render() {
+ $view = new View("menu.html");
+ $view->menu = $this;
+ return $view;
}
}