aboutsummaryrefslogtreecommitdiff
path: root/views/default/navigation/menu
diff options
context:
space:
mode:
Diffstat (limited to 'views/default/navigation/menu')
-rw-r--r--views/default/navigation/menu/default.php17
-rw-r--r--views/default/navigation/menu/elements/item.php19
-rw-r--r--views/default/navigation/menu/elements/section.php21
-rw-r--r--views/default/navigation/menu/metadata.php54
-rw-r--r--views/default/navigation/menu/page.php8
-rw-r--r--views/default/navigation/menu/site.php11
-rw-r--r--views/default/navigation/menu/user_hover.php12
7 files changed, 65 insertions, 77 deletions
diff --git a/views/default/navigation/menu/default.php b/views/default/navigation/menu/default.php
index 1a7f292b8..006deb3ea 100644
--- a/views/default/navigation/menu/default.php
+++ b/views/default/navigation/menu/default.php
@@ -2,11 +2,18 @@
/**
* Default menu
*
- * @uses $vars['name']
- * @uses $vars['menu']
- * @uses $vars['class']
+ * @uses $vars['name'] Name of the menu
+ * @uses $vars['menu'] Array of menu items
+ * @uses $vars['class'] Additional CSS class for the menu
+ * @uses $vars['item_class'] Additional CSS class for each menu item
+ * @uses $vars['show_section_headers'] Do we show headers for each section?
*/
+// we want css classes to use dashes
+$vars['name'] = preg_replace('/[^a-z0-9\-]/i', '-', $vars['name']);
+$headers = elgg_extract('show_section_headers', $vars, false);
+$item_class = elgg_extract('item_class', $vars, '');
+
$class = "elgg-menu elgg-menu-{$vars['name']}";
if (isset($vars['class'])) {
$class .= " {$vars['class']}";
@@ -16,5 +23,9 @@ foreach ($vars['menu'] as $section => $menu_items) {
echo elgg_view('navigation/menu/elements/section', array(
'items' => $menu_items,
'class' => "$class elgg-menu-{$vars['name']}-$section",
+ 'section' => $section,
+ 'name' => $vars['name'],
+ 'show_section_headers' => $headers,
+ 'item_class' => $item_class,
));
}
diff --git a/views/default/navigation/menu/elements/item.php b/views/default/navigation/menu/elements/item.php
index 893bbd205..fd9738826 100644
--- a/views/default/navigation/menu/elements/item.php
+++ b/views/default/navigation/menu/elements/item.php
@@ -4,28 +4,35 @@
*
* @package Elgg.Core
* @subpackage Navigation
+ *
+ * @uses $vars['item'] ElggMenuItem
+ * @uses $vars['item_class'] Additional CSS class for the menu item
*/
$item = $vars['item'];
$link_class = 'elgg-menu-closed';
if ($item->getSelected()) {
- $item->setItemClass('elgg-state-selected');
+ // @todo switch to addItemClass when that is implemented
+ //$item->setItemClass('elgg-state-selected');
$link_class = 'elgg-menu-opened';
}
$children = $item->getChildren();
if ($children) {
- $item->setLinkClass($link_class);
- $item->setLinkClass('elgg-menu-parent');
+ $item->addLinkClass($link_class);
+ $item->addLinkClass('elgg-menu-parent');
}
$item_class = $item->getItemClass();
-if ($item_class) {
- $class = "class=\"$item_class\"";
+if ($item->getSelected()) {
+ $item_class = "$item_class elgg-state-selected";
+}
+if (isset($vars['item_class']) && $vars['item_class']) {
+ $item_class .= ' ' . $vars['item_class'];
}
-echo "<li $class>";
+echo "<li class=\"$item_class\">";
echo $item->getContent();
if ($children) {
echo elgg_view('navigation/menu/elements/section', array(
diff --git a/views/default/navigation/menu/elements/section.php b/views/default/navigation/menu/elements/section.php
index f72db847f..c0e9ba750 100644
--- a/views/default/navigation/menu/elements/section.php
+++ b/views/default/navigation/menu/elements/section.php
@@ -2,14 +2,29 @@
/**
* Menu group
*
- * @uses $vars['items']
- * @uses $vars['class']
+ * @uses $vars['items'] Array of menu items
+ * @uses $vars['class'] Additional CSS class for the section
+ * @uses $vars['name'] Name of the menu
+ * @uses $vars['section'] The section name
+ * @uses $vars['item_class'] Additional CSS class for each menu item
+ * @uses $vars['show_section_headers'] Do we show headers for each section
*/
+$headers = elgg_extract('show_section_headers', $vars, false);
$class = elgg_extract('class', $vars, '');
+$item_class = elgg_extract('item_class', $vars, '');
+
+if ($headers) {
+ $name = elgg_extract('name', $vars);
+ $section = elgg_extract('section', $vars);
+ echo '<h2>' . elgg_echo("menu:$name:header:$section") . '</h2>';
+}
echo "<ul class=\"$class\">";
foreach ($vars['items'] as $menu_item) {
- echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
+ echo elgg_view('navigation/menu/elements/item', array(
+ 'item' => $menu_item,
+ 'item_class' => $item_class,
+ ));
}
echo '</ul>';
diff --git a/views/default/navigation/menu/metadata.php b/views/default/navigation/menu/metadata.php
deleted file mode 100644
index 742aee3ad..000000000
--- a/views/default/navigation/menu/metadata.php
+++ /dev/null
@@ -1,54 +0,0 @@
-<?php
-/**
- * List metadata for objects
- *
- * @uses $vars['entity'] ElggEntity
- * @uses $vars['handler'] Page handler identifier
- * @uses $vars['links'] Array of extra links
- */
-
-$entity = $vars['entity'];
-$handler = elgg_extract('handler', $vars, '');
-
-?>
-<ul class="elgg-menu elgg-menu-hz elgg-menu-metadata">
- <li>
- <?php echo elgg_view('output/access', array('entity' => $entity)); ?>
- </li>
-<?php
-
-if (isset($vars['links']) && is_array($vars['links'])) {
- foreach ($vars['links'] as $link) {
- echo "<li>$link</li>";
- }
-}
-
-// pass <li>your data</li> back from the view
-echo elgg_view('entity/metadata', array('entity' => $entity));
-
-// links to delete or edit.
-if ($entity->canEdit() && $handler) {
-
- $edit_url = "pg/$handler/edit/{$entity->getGUID()}";
- $edit_link = elgg_view('output/url', array(
- 'href' => $edit_url,
- 'text' => elgg_echo('edit'),
- ));
- echo "<li>$edit_link</li>";
-
- $delete_url = "action/$handler/delete?guid={$entity->getGUID()}";
- $delete_link = elgg_view('output/confirmlink', array(
- 'href' => $delete_url,
- 'text' => elgg_view_icon('delete'),
- 'title' => elgg_echo('delete'),
- 'confirm' => elgg_echo('deleteconfirm'),
- 'text_encode' => false,
- ));
- echo "<li>$delete_link</li>";
-}
-
-$likes = elgg_view_likes($entity);
-echo "<li>$likes</li>";
-
-?>
-</ul>
diff --git a/views/default/navigation/menu/page.php b/views/default/navigation/menu/page.php
index bd2611790..56a288234 100644
--- a/views/default/navigation/menu/page.php
+++ b/views/default/navigation/menu/page.php
@@ -5,8 +5,12 @@
* @uses $vars['menu']
* @uses $vars['selected_item']
* @uses $vars['class']
+ * @uses $vars['name']
+ * @uses $vars['show_section_headers']
*/
+$headers = elgg_extract('show_section_headers', $vars, false);
+
$class = 'elgg-menu elgg-menu-page';
if (isset($vars['class'])) {
$class = "$class {$vars['class']}";
@@ -14,6 +18,7 @@ if (isset($vars['class'])) {
if (isset($vars['selected_item'])) {
$parent = $vars['selected_item']->getParent();
+
while ($parent) {
$parent->setSelected();
$parent = $parent->getParent();
@@ -24,5 +29,8 @@ foreach ($vars['menu'] as $section => $menu_items) {
echo elgg_view('navigation/menu/elements/section', array(
'items' => $menu_items,
'class' => "$class elgg-menu-page-$section",
+ 'section' => $section,
+ 'name' => $vars['name'],
+ 'show_section_headers' => $headers
));
}
diff --git a/views/default/navigation/menu/site.php b/views/default/navigation/menu/site.php
index 1409f54af..24c21dd57 100644
--- a/views/default/navigation/menu/site.php
+++ b/views/default/navigation/menu/site.php
@@ -6,20 +6,23 @@
* @uses $vars['menu']['more']
*/
+$default_items = elgg_extract('default', $vars['menu'], array());
+$more_items = elgg_extract('more', $vars['menu'], array());
+
echo '<ul class="elgg-menu elgg-menu-site elgg-menu-site-default clearfix">';
-foreach ($vars['menu']['default'] as $menu_item) {
+foreach ($default_items as $menu_item) {
echo elgg_view('navigation/menu/elements/item', array('item' => $menu_item));
}
-if (isset($vars['menu']['more'])) {
+if ($more_items) {
echo '<li class="elgg-more">';
$more = elgg_echo('more');
- echo "<a title=\"$more\">$more</a>";
+ echo "<a href=\"#\">$more</a>";
echo elgg_view('navigation/menu/elements/section', array(
'class' => 'elgg-menu elgg-menu-site elgg-menu-site-more',
- 'items' => $vars['menu']['more'],
+ 'items' => $more_items,
));
echo '</li>';
diff --git a/views/default/navigation/menu/user_hover.php b/views/default/navigation/menu/user_hover.php
index 8e3c4de9f..5c89e585c 100644
--- a/views/default/navigation/menu/user_hover.php
+++ b/views/default/navigation/menu/user_hover.php
@@ -19,19 +19,17 @@ echo '<ul class="elgg-menu elgg-menu-hover">';
$name_link = elgg_view('output/url', array(
'href' => $user->getURL(),
'text' => "<span class=\"elgg-heading-basic\">$user->name</span>&#64;$user->username",
+ 'is_trusted' => true,
));
echo "<li>$name_link</li>";
// actions
if (elgg_is_logged_in() && $actions) {
-
echo '<li>';
- foreach ($actions as $menu_item) {
- echo elgg_view('navigation/menu/elements/section', array(
- 'class' => "elgg-menu elgg-menu-hover-actions",
- 'items' => $actions,
- ));
- }
+ echo elgg_view('navigation/menu/elements/section', array(
+ 'class' => "elgg-menu elgg-menu-hover-actions",
+ 'items' => $actions,
+ ));
echo '</li>';
}