summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--includes/menu.inc8
-rw-r--r--index.php32
-rw-r--r--modules/admin.module31
-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/forum.module2
-rw-r--r--modules/forum/forum.module2
-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/queue.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.module6
-rw-r--r--modules/user/user.module6
20 files changed, 57 insertions, 60 deletions
diff --git a/includes/menu.inc b/includes/menu.inc
index 7cb17459a..e8276b38a 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -110,6 +110,14 @@ function menu_execute_active_handler() {
}
}
+function menu_active_handler_exists() {
+ global $_list;
+
+ $path = menu_get_active_item();
+
+ return function_exists($_list[$path]["callback"]);
+}
+
/**
* Returns true when the path is in the active trail.
*/
diff --git a/index.php b/index.php
index 35f865a00..b4834e96a 100644
--- a/index.php
+++ b/index.php
@@ -9,18 +9,34 @@ fix_gpc_magic();
menu_build("system");
-$mod = arg(0);
-
-if (isset($mod) && module_hook($mod, "page")) {
- module_invoke($mod, "page");
+if (menu_active_handler_exists()) {
+ $breadcrumb = menu_get_active_breadcrumb();
+ array_pop($breadcrumb);
+ $title = menu_get_active_title();
+
+ theme("header");
+ theme("breadcrumb", $breadcrumb);
+ if ($help = menu_get_active_help()) {
+ $contents = "<small>$help</small><hr />";
+ }
+ $contents .= menu_execute_active_handler();
+ theme("box", $title, $contents);
+ theme("footer");
}
else {
- if (module_hook(variable_get("site_frontpage", "node"), "page")) {
- module_invoke(variable_get("site_frontpage", "node"), "page");
+ $mod = arg(0);
+
+ if (isset($mod) && module_hook($mod, "page")) {
+ module_invoke($mod, "page");
}
else {
- theme("header");
- theme("footer");
+ if (module_hook(variable_get("site_frontpage", "node"), "page")) {
+ module_invoke(variable_get("site_frontpage", "node"), "page");
+ }
+ else {
+ theme("header");
+ theme("footer");
+ }
}
}
diff --git a/modules/admin.module b/modules/admin.module
index f8667f1f6..4df79bc19 100644
--- a/modules/admin.module
+++ b/modules/admin.module
@@ -32,36 +32,9 @@ function admin_link($type) {
}
}
-function admin_page() {
+function admin_admin() {
if (user_access("access administration pages")) {
- $title = menu_get_active_title();
-
- theme("header", $title);
-
- $contents = "";
-
- if ($help = menu_get_active_help()) {
- $contents .= "<small>$help</small><hr />";
- }
-
- if (arg(1)) {
- $contents .= menu_execute_active_handler();
- }
- else {
- $contents .= watchdog_overview("actions");
- }
-
- $breadcrumb = menu_get_active_breadcrumb();
- array_pop($breadcrumb);
-
- theme("breadcrumb", $breadcrumb);
- theme("box", $title, $contents);
- theme("footer");
- }
- else {
- theme("header", t("Access denied"));
- theme("box", t("Access denied"), message_access());
- theme("footer");
+ return watchdog_overview("actions");
}
}
diff --git a/modules/blog.module b/modules/blog.module
index a8a54c4b3..c8aa80a43 100644
--- a/modules/blog.module
+++ b/modules/blog.module
@@ -252,10 +252,10 @@ function blog_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("maintain personal blog")) {
- menu("node/add/blog", t("blog entry"), "blog_page", 0);
+ menu("node/add/blog", t("blog entry"), "page", 0);
}
if (user_access("maintain personal blog")) {
- menu("blog/" . $user->uid, t("my blog"), "user_page", 1);
+ menu("blog/" . $user->uid, t("my blog"), "page", 1);
}
}
diff --git a/modules/blog/blog.module b/modules/blog/blog.module
index a8a54c4b3..c8aa80a43 100644
--- a/modules/blog/blog.module
+++ b/modules/blog/blog.module
@@ -252,10 +252,10 @@ function blog_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("maintain personal blog")) {
- menu("node/add/blog", t("blog entry"), "blog_page", 0);
+ menu("node/add/blog", t("blog entry"), "page", 0);
}
if (user_access("maintain personal blog")) {
- menu("blog/" . $user->uid, t("my blog"), "user_page", 1);
+ menu("blog/" . $user->uid, t("my blog"), "page", 1);
}
}
diff --git a/modules/book.module b/modules/book.module
index 72059c6e3..ec8555095 100644
--- a/modules/book.module
+++ b/modules/book.module
@@ -71,7 +71,7 @@ function book_link($type, $node = 0, $main = 0) {
if ($type == "system") {
if (user_access("maintain books")) {
- menu("node/add/book", t("book page"), "book_page", 0);
+ menu("node/add/book", t("book page"), "page", 0);
}
if (user_access("administer nodes")) {
menu("admin/node/book", t("books"), "book_admin", 4);
diff --git a/modules/book/book.module b/modules/book/book.module
index 72059c6e3..ec8555095 100644
--- a/modules/book/book.module
+++ b/modules/book/book.module
@@ -71,7 +71,7 @@ function book_link($type, $node = 0, $main = 0) {
if ($type == "system") {
if (user_access("maintain books")) {
- menu("node/add/book", t("book page"), "book_page", 0);
+ menu("node/add/book", t("book page"), "page", 0);
}
if (user_access("administer nodes")) {
menu("admin/node/book", t("books"), "book_admin", 4);
diff --git a/modules/forum.module b/modules/forum.module
index 66fee1d55..63755b56e 100644
--- a/modules/forum.module
+++ b/modules/forum.module
@@ -94,7 +94,7 @@ function forum_link($type, $node = 0, $main = 0) {
}
if ($type == "system" && user_access("create forum topics")) {
- menu("node/add/forum",t("forum topic"), "forum_page");
+ menu("node/add/forum",t("forum topic"), "page");
}
if (!$main && $type == "node" && $node->type == "forum") {
diff --git a/modules/forum/forum.module b/modules/forum/forum.module
index 66fee1d55..63755b56e 100644
--- a/modules/forum/forum.module
+++ b/modules/forum/forum.module
@@ -94,7 +94,7 @@ function forum_link($type, $node = 0, $main = 0) {
}
if ($type == "system" && user_access("create forum topics")) {
- menu("node/add/forum",t("forum topic"), "forum_page");
+ menu("node/add/forum",t("forum topic"), "page");
}
if (!$main && $type == "node" && $node->type == "forum") {
diff --git a/modules/page.module b/modules/page.module
index 7e7fe72b8..ff6e8c2e1 100644
--- a/modules/page.module
+++ b/modules/page.module
@@ -89,7 +89,7 @@ function page_link($type) {
if ($type == "system") {
if (user_access("maintain static pages")) {
- menu("node/add/page", t("static page"), "page_page", 0);
+ menu("node/add/page", t("static page"), "page", 0);
}
}
diff --git a/modules/page/page.module b/modules/page/page.module
index 7e7fe72b8..ff6e8c2e1 100644
--- a/modules/page/page.module
+++ b/modules/page/page.module
@@ -89,7 +89,7 @@ function page_link($type) {
if ($type == "system") {
if (user_access("maintain static pages")) {
- menu("node/add/page", t("static page"), "page_page", 0);
+ menu("node/add/page", t("static page"), "page", 0);
}
}
diff --git a/modules/poll.module b/modules/poll.module
index 7c06eb22a..b4bd980ce 100644
--- a/modules/poll.module
+++ b/modules/poll.module
@@ -182,7 +182,7 @@ function poll_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("create polls")) {
- menu("node/add/poll", t("poll"), "poll_page", 0);
+ menu("node/add/poll", t("poll"), "page", 0);
}
}
else if ($type == "page" && user_access("access content")) {
diff --git a/modules/poll/poll.module b/modules/poll/poll.module
index 7c06eb22a..b4bd980ce 100644
--- a/modules/poll/poll.module
+++ b/modules/poll/poll.module
@@ -182,7 +182,7 @@ function poll_link($type, $node = 0, $main) {
if ($type == "system") {
if (user_access("create polls")) {
- menu("node/add/poll", t("poll"), "poll_page", 0);
+ menu("node/add/poll", t("poll"), "page", 0);
}
}
else if ($type == "page" && user_access("access content")) {
diff --git a/modules/queue.module b/modules/queue.module
index cc526ddd0..92f2decb1 100644
--- a/modules/queue.module
+++ b/modules/queue.module
@@ -35,7 +35,7 @@ function queue_perm() {
function queue_link($type) {
if ($type == "system") {
if (user_access("access submission queue")) {
- menu("queue", t("view submissions"), "queue_page", 1);
+ menu("queue", t("view submissions"), "page", 1);
}
}
diff --git a/modules/story.module b/modules/story.module
index 17ea3b6c2..b1559c0ed 100644
--- a/modules/story.module
+++ b/modules/story.module
@@ -53,7 +53,7 @@ function story_link($type) {
if ($type == "system") {
if (user_access("create stories")) {
- menu("node/add/story", t("story"), "story_page", 0);
+ menu("node/add/story", t("story"), "page", 0);
}
}
diff --git a/modules/story/story.module b/modules/story/story.module
index 17ea3b6c2..b1559c0ed 100644
--- a/modules/story/story.module
+++ b/modules/story/story.module
@@ -53,7 +53,7 @@ function story_link($type) {
if ($type == "system") {
if (user_access("create stories")) {
- menu("node/add/story", t("story"), "story_page", 0);
+ menu("node/add/story", t("story"), "page", 0);
}
}
diff --git a/modules/tracker.module b/modules/tracker.module
index cb75d04e2..78d27c793 100644
--- a/modules/tracker.module
+++ b/modules/tracker.module
@@ -22,7 +22,7 @@ function tracker_link($type) {
if ($type == "system") {
if (user_access("access content")) {
- menu("tracker", t("recent posts"), "tracker_page", 1);
+ menu("tracker", t("recent posts"), "page", 1);
}
}
diff --git a/modules/tracker/tracker.module b/modules/tracker/tracker.module
index cb75d04e2..78d27c793 100644
--- a/modules/tracker/tracker.module
+++ b/modules/tracker/tracker.module
@@ -22,7 +22,7 @@ function tracker_link($type) {
if ($type == "system") {
if (user_access("access content")) {
- menu("tracker", t("recent posts"), "tracker_page", 1);
+ menu("tracker", t("recent posts"), "page", 1);
}
}
diff --git a/modules/user.module b/modules/user.module
index d67f95359..853638672 100644
--- a/modules/user.module
+++ b/modules/user.module
@@ -496,9 +496,9 @@ function user_link($type) {
if ($type == "system") {
global $user;
if ($user->uid) {
- menu("user", t("my account"), "user_page", 8);
- menu("user/edit", t("edit account"), "user_page", 0);
- menu("user/logout", t("log out"), "user_page", 10);
+ menu("user", t("my account"), "page", 8);
+ menu("user/edit", t("edit account"), "page", 0);
+ menu("user/logout", t("log out"), "page", 10);
}
if (user_access("administer users")) {
diff --git a/modules/user/user.module b/modules/user/user.module
index d67f95359..853638672 100644
--- a/modules/user/user.module
+++ b/modules/user/user.module
@@ -496,9 +496,9 @@ function user_link($type) {
if ($type == "system") {
global $user;
if ($user->uid) {
- menu("user", t("my account"), "user_page", 8);
- menu("user/edit", t("edit account"), "user_page", 0);
- menu("user/logout", t("log out"), "user_page", 10);
+ menu("user", t("my account"), "page", 8);
+ menu("user/edit", t("edit account"), "page", 0);
+ menu("user/logout", t("log out"), "page", 10);
}
if (user_access("administer users")) {