summaryrefslogtreecommitdiff
path: root/includes/menu.inc
diff options
context:
space:
mode:
Diffstat (limited to 'includes/menu.inc')
-rw-r--r--includes/menu.inc7
1 files changed, 6 insertions, 1 deletions
diff --git a/includes/menu.inc b/includes/menu.inc
index 7449dc3f7..4679a5dac 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -133,7 +133,12 @@ function menu_tree($parent = "") {
$output = "\n<ul>\n";
usort($_list[$parent]["children"], "_menu_sort");
foreach ($_list[$parent]["children"] as $item) {
- if ($_list[$item]["hidden"] == 0) {
+ /*
+ ** Don't render the menu when it is hidden, or when it has no call-back
+ ** nor children. The latter check avoids that useless links are being
+ ** rendered.
+ */
+ if ($_list[$item]["hidden"] == 0 && ($_list[$item]["callback"] || $_list[$item]["children"])) {
$style = ($_list[$item]["children"] ? (menu_in_active_trail($item) ? "expanded" : "collapsed") : "leaf");
$output .= "<li class=\"$style\">";
$output .= _render_item($item);