summaryrefslogtreecommitdiff
path: root/includes
diff options
context:
space:
mode:
Diffstat (limited to 'includes')
-rw-r--r--includes/menu.inc9
-rw-r--r--includes/module.inc6
2 files changed, 14 insertions, 1 deletions
diff --git a/includes/menu.inc b/includes/menu.inc
index 13cad943e..58422702e 100644
--- a/includes/menu.inc
+++ b/includes/menu.inc
@@ -163,4 +163,13 @@ function menu_execute_action() {
}
}
+function menu_build($type) {
+
+ // Empty the existing menu tree (if any):
+ unset($GLOBALS["_gmenu"]);
+
+ // Build the menu tree:
+ module_invoke_all("link", $type);
+}
+
?>
diff --git a/includes/module.inc b/includes/module.inc
index a3a1be482..a8214e49c 100644
--- a/includes/module.inc
+++ b/includes/module.inc
@@ -41,9 +41,13 @@ function module_invoke_all($hook, $a1 = NULL, $a2 = NULL, $a3 = NULL, $a4 = NULL
}
// return array of module names (includes lazy module loading):
-function module_list() {
+function module_list($refresh = 0) {
static $list;
+ if ($refresh) {
+ unset($list);
+ }
+
if (!$list) {
$list = array("system" => "system", "user" => "user", "watchdog" => "watchdog");
$result = db_query("SELECT name, filename FROM system WHERE type = 'module' AND status = '1' ORDER BY name");