From c94eb1a1cc386d58980357c63300e3479487f475 Mon Sep 17 00:00:00 2001 From: ben Date: Wed, 9 Jul 2008 16:59:00 +0000 Subject: Introducing the submenu git-svn-id: https://code.elgg.org/elgg/trunk@1371 36083f99-b078-4883-b0ff-0f9b5a30f544 --- engine/lib/elgglib.php | 51 +++++++++++++++++++++++- views/default/canvas_header/submenu_template.php | 10 +++++ views/default/page_elements/title.php | 7 +++- 3 files changed, 64 insertions(+), 4 deletions(-) create mode 100644 views/default/canvas_header/submenu_template.php diff --git a/engine/lib/elgglib.php b/engine/lib/elgglib.php index 722591ab4..d0ecc8bf4 100644 --- a/engine/lib/elgglib.php +++ b/engine/lib/elgglib.php @@ -481,10 +481,57 @@ */ function elgg_view_title($title) { - return elgg_view('page_elements/title', array('title' => $title)); + $title = elgg_view('page_elements/title', array('title' => $title)); + + return $title; + + } + + /** + * Adds an item to the submenu + * + * @param string $label The human-readable label + * @param string $link The URL of the submenu item + */ + function add_submenu_item($label, $link) { + + global $CONFIG; + add_to_register('submenu',$label,$link); + + } + + /** + * Gets a formatted list of submenu items + * + * @return string List of items + */ + function get_submenu() { + + $submenu = ""; + + if ($submenu_register = get_register('submenu')) { + foreach($submenu_register as $item) { + + if (substr_count($item->value, $item->value)) { + $selected = true; + } else { + $selected = false; + } + $submenu .= elgg_view('canvas_header/submenu_template', + array( + 'href' => $item->value, + 'label' => $item->name, + 'selected' => $selected, + )); + + } + } + + return $submenu; } + /** * Automatically views comments and a comment form relating to the given entity * @@ -778,7 +825,7 @@ global $CONFIG; - if (empty($register_name) || empty($subregister_name) || empty($children_array)) + if (empty($register_name) || empty($subregister_name)) return false; if (!isset($CONFIG->registers)) diff --git a/views/default/canvas_header/submenu_template.php b/views/default/canvas_header/submenu_template.php new file mode 100644 index 000000000..ff43ac153 --- /dev/null +++ b/views/default/canvas_header/submenu_template.php @@ -0,0 +1,10 @@ + +
  • >
  • \ No newline at end of file diff --git a/views/default/page_elements/title.php b/views/default/page_elements/title.php index aa1946514..aac3babae 100644 --- a/views/default/page_elements/title.php +++ b/views/default/page_elements/title.php @@ -16,19 +16,22 @@ $page_owner = page_owner(); $page_owner_user = get_user($page_owner); + $submenu = get_submenu(); // elgg_view('canvas_header/submenu'); + if (!empty($submenu)) $submenu = ""; + if($page_owner && $page_owner_user->guid != $_SESSION['user']->getGUID()) { $info = "

    " . $vars['title'] . "

    "; $icon = elgg_view("profile/icon",array('entity' => $page_owner_user, 'size' => 'tiny')); $display = "
    "; $display .= "
    " . $icon . "
    "; $display .= "
    " . $info . "
    "; - $display .= "
    " . elgg_view("canvas_header/submenu") . "
    "; // plugins can extend this to add menu options + $display .= "
    " . $submenu . "
    "; // plugins can extend this to add menu options $display .= "
    "; } else { $info = "

    " . $vars['title'] . "

    "; $display = "
    "; $display .= "
    " . $info . "
    "; - $display .= "
    " . elgg_view("canvas_header/submenu") . "
    "; // plugins can extend this to add menu options + $display .= "
    " . $submenu . "
    "; // plugins can extend this to add menu options $display .= "
    "; } -- cgit v1.2.3