summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDries Buytaert <dries@buytaert.net>2003-09-28 17:53:04 +0000
committerDries Buytaert <dries@buytaert.net>2003-09-28 17:53:04 +0000
commit32e8d77cd6872b98f5fe00f35b6d124a28a977f0 (patch)
treee34ba4b39c6db6f62f1c1a237e0d4dcc682f3028
parentb8416f613a0db27c63aa92321a5cb537beb46c54 (diff)
downloadbrdo-32e8d77cd6872b98f5fe00f35b6d124a28a977f0.tar.gz
brdo-32e8d77cd6872b98f5fe00f35b6d124a28a977f0.tar.bz2
- Associate a callback with the menu links! (This callback is not yet being
called but will be as soon the remaining links have been transformed to use the menu system.) - Made sure the menu does not render links with no callback and no children. Like this, the 'create content' link is not being shown when the user has no permission to add any content.
-rw-r--r--includes/menu.inc7
-rw-r--r--modules/blog.module4
-rw-r--r--modules/blog/blog.module4
-rw-r--r--modules/book.module2
-rw-r--r--modules/book/book.module2
-rw-r--r--modules/node.module8
-rw-r--r--modules/node/node.module8
-rw-r--r--modules/page.module2
-rw-r--r--modules/page/page.module2
-rw-r--r--modules/poll.module2
-rw-r--r--modules/poll/poll.module2
-rw-r--r--modules/story.module2
-rw-r--r--modules/story/story.module2
-rw-r--r--modules/tracker.module2
-rw-r--r--modules/tracker/tracker.module2
-rw-r--r--modules/user.module4
-rw-r--r--modules/user/user.module4
17 files changed, 28 insertions, 31 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);
diff --git a/modules/blog.module b/modules/blog.module
index c2f11b90a..0901eb052 100644
--- a/modules/blog.module
+++ b/modules/blog.module
@@ -261,10 +261,10 @@ function blog_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("maintain personal blog")) {
- menu("node/add/blog", t("blog entry"), NULL, NULL, 0);
+ menu("node/add/blog", t("blog entry"), "blog_page", NULL, 0);
}
if (user_access("maintain personal blog")) {
- menu("blog/" . $user->uid,t("view my blog"), NULL, NULL, 1);
+ menu("blog/" . $user->uid,t("view my blog"), "user_page", NULL, 1);
}
}
diff --git a/modules/blog/blog.module b/modules/blog/blog.module
index c2f11b90a..0901eb052 100644
--- a/modules/blog/blog.module
+++ b/modules/blog/blog.module
@@ -261,10 +261,10 @@ function blog_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("maintain personal blog")) {
- menu("node/add/blog", t("blog entry"), NULL, NULL, 0);
+ menu("node/add/blog", t("blog entry"), "blog_page", NULL, 0);
}
if (user_access("maintain personal blog")) {
- menu("blog/" . $user->uid,t("view my blog"), NULL, NULL, 1);
+ menu("blog/" . $user->uid,t("view my blog"), "user_page", NULL, 1);
}
}
diff --git a/modules/book.module b/modules/book.module
index 9b828668a..2763fb206 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -79,7 +79,7 @@ function book_link($type, $node = 0, $main = 0) {
if ($type == "system") {
if (user_access("maintain books")) {
- menu("node/add/book", t("book page"), NULL, NULL,0);
+ menu("node/add/book", t("book page"), "book_page", NULL,0);
menu("admin/node/book", t("books"), NULL, NULL, 4);
menu("admin/node/book/orphan", t("orphan pages"), NULL, NULL, 8);
menu("admin/node/book/help", t("help"), NULL, NULL, 9);
diff --git a/modules/book/book.module b/modules/book/book.module
index 9b828668a..2763fb206 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -79,7 +79,7 @@ function book_link($type, $node = 0, $main = 0) {
if ($type == "system") {
if (user_access("maintain books")) {
- menu("node/add/book", t("book page"), NULL, NULL,0);
+ menu("node/add/book", t("book page"), "book_page", NULL,0);
menu("admin/node/book", t("books"), NULL, NULL, 4);
menu("admin/node/book/orphan", t("orphan pages"), NULL, NULL, 8);
menu("admin/node/book/help", t("help"), NULL, NULL, 9);
diff --git a/modules/node.module b/modules/node.module
index b310f070d..e7844a37b 100644
--- a/modules/node.module
+++ b/modules/node.module
@@ -551,17 +551,12 @@ function node_link($type, $node = 0, $main = 0) {
$links = array();
- if ($type == "page") {
- $links[] = l(t("submit"), "node/add", array("title" => t("Submit or suggest new content.")));
- }
-
if ($type == "node") {
if ($node->links) {
$links = $node->links;
}
- if ($main == 1 && $node->teaser && strlen($node->teaser) != strlen($node->body))
- {
+ if ($main == 1 && $node->teaser && strlen($node->teaser) != strlen($node->body)) {
$links[] = l(t("read more"), "node/view/$node->nid", array("title" => t("Read the rest of this posting."), "class" => "read-more"));
}
@@ -572,6 +567,7 @@ function node_link($type, $node = 0, $main = 0) {
if ($type == "system") {
menu("node/add", t("create content"), NULL, NULL, 1);
+
if (user_access("administer nodes")) {
menu("admin/node", t("content"), "node_admin", node_help("admin/node"));
menu("admin/node/search", t("search"), "node_admin", node_help("admin/node/search"), 8);
diff --git a/modules/node/node.module b/modules/node/node.module
index b310f070d..e7844a37b 100644
--- a/modules/node/node.module
+++ b/modules/node/node.module
@@ -551,17 +551,12 @@ function node_link($type, $node = 0, $main = 0) {
$links = array();
- if ($type == "page") {
- $links[] = l(t("submit"), "node/add", array("title" => t("Submit or suggest new content.")));
- }
-
if ($type == "node") {
if ($node->links) {
$links = $node->links;
}
- if ($main == 1 && $node->teaser && strlen($node->teaser) != strlen($node->body))
- {
+ if ($main == 1 && $node->teaser && strlen($node->teaser) != strlen($node->body)) {
$links[] = l(t("read more"), "node/view/$node->nid", array("title" => t("Read the rest of this posting."), "class" => "read-more"));
}
@@ -572,6 +567,7 @@ function node_link($type, $node = 0, $main = 0) {
if ($type == "system") {
menu("node/add", t("create content"), NULL, NULL, 1);
+
if (user_access("administer nodes")) {
menu("admin/node", t("content"), "node_admin", node_help("admin/node"));
menu("admin/node/search", t("search"), "node_admin", node_help("admin/node/search"), 8);
diff --git a/modules/page.module b/modules/page.module
index db19c566f..d8f1934cf 100644
--- a/modules/page.module
+++ b/modules/page.module
@@ -97,7 +97,7 @@ function page_link($type) {
if ($type == "system") {
if (user_access("maintain static pages")) {
- menu("node/add/page", t("static page"), NULL, NULL, 0);
+ menu("node/add/page", t("static page"), "page_page", NULL, 0);
}
}
diff --git a/modules/page/page.module b/modules/page/page.module
index db19c566f..d8f1934cf 100644
--- a/modules/page/page.module
+++ b/modules/page/page.module
@@ -97,7 +97,7 @@ function page_link($type) {
if ($type == "system") {
if (user_access("maintain static pages")) {
- menu("node/add/page", t("static page"), NULL, NULL, 0);
+ menu("node/add/page", t("static page"), "page_page", NULL, 0);
}
}
diff --git a/modules/poll.module b/modules/poll.module
index 1d4680a61..74ca02e89 100644
--- a/modules/poll.module
+++ b/modules/poll.module
@@ -163,7 +163,7 @@ function poll_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("create polls")) {
- menu("node/add/poll",t("poll"), NULL, NULL, 0);
+ menu("node/add/poll",t("poll"), "poll_page", NULL, 0);
}
}
else if ($type == "page" && user_access("access content")) {
diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index 1d4680a61..74ca02e89 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -163,7 +163,7 @@ function poll_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("create polls")) {
- menu("node/add/poll",t("poll"), NULL, NULL, 0);
+ menu("node/add/poll",t("poll"), "poll_page", NULL, 0);
}
}
else if ($type == "page" && user_access("access content")) {
diff --git a/modules/story.module b/modules/story.module
index 104646ce3..51a84fea5 100644
--- a/modules/story.module
+++ b/modules/story.module
@@ -56,7 +56,7 @@ function story_link($type) {
if ($type == "system") {
if (user_access("create stories")) {
- menu("node/add/story", t("story"), NULL, NULL, 0);
+ menu("node/add/story", t("story"), "story_page", NULL, 0);
}
}
diff --git a/modules/story/story.module b/modules/story/story.module
index 104646ce3..51a84fea5 100644
--- a/modules/story/story.module
+++ b/modules/story/story.module
@@ -56,7 +56,7 @@ function story_link($type) {
if ($type == "system") {
if (user_access("create stories")) {
- menu("node/add/story", t("story"), NULL, NULL, 0);
+ menu("node/add/story", t("story"), "story_page", NULL, 0);
}
}
diff --git a/modules/tracker.module b/modules/tracker.module
index ff6f62df4..3c98fa125 100644
--- a/modules/tracker.module
+++ b/modules/tracker.module
@@ -20,7 +20,7 @@ function tracker_link($type) {
if ($type == "system") {
if (user_access("access content")) {
- menu("tracker", t("recent posts"), NULL, NULL, 1);
+ menu("tracker", t("recent posts"), "tracker_page", NULL, 1);
}
}
diff --git a/modules/tracker/tracker.module b/modules/tracker/tracker.module
index ff6f62df4..3c98fa125 100644
--- a/modules/tracker/tracker.module
+++ b/modules/tracker/tracker.module
@@ -20,7 +20,7 @@ function tracker_link($type) {
if ($type == "system") {
if (user_access("access content")) {
- menu("tracker", t("recent posts"), NULL, NULL, 1);
+ menu("tracker", t("recent posts"), "tracker_page", NULL, 1);
}
}
diff --git a/modules/user.module b/modules/user.module
index 4cd1ed13c..5e25f4d9d 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -466,8 +466,8 @@ function user_link($type) {
if ($type == "system") {
global $user;
if ($user->uid) {
- menu("user/edit", t("edit my account"), NULL, NULL, 8);
- menu("user/logout", t("log out"), NULL, NULL, 10);
+ menu("user/edit", t("edit my account"), "user_page", NULL, 8);
+ menu("user/logout", t("log out"), "user_page", NULL, 10);
}
if (user_access("administer users")) {
menu("admin/user", t("accounts"), "user_admin", user_help("admin/user"), 2);
diff --git a/modules/user/user.module b/modules/user/user.module
index 4cd1ed13c..5e25f4d9d 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -466,8 +466,8 @@ function user_link($type) {
if ($type == "system") {
global $user;
if ($user->uid) {
- menu("user/edit", t("edit my account"), NULL, NULL, 8);
- menu("user/logout", t("log out"), NULL, NULL, 10);
+ menu("user/edit", t("edit my account"), "user_page", NULL, 8);
+ menu("user/logout", t("log out"), "user_page", NULL, 10);
}
if (user_access("administer users")) {
menu("admin/user", t("accounts"), "user_admin", user_help("admin/user"), 2);