summaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
Diffstat (limited to 'modules')
-rw-r--r--modules/admin.module6
-rw-r--r--modules/system.module33
-rw-r--r--modules/system/system.module33
3 files changed, 27 insertions, 45 deletions
diff --git a/modules/admin.module b/modules/admin.module
index 9fb1a34bb..866aec55b 100644
--- a/modules/admin.module
+++ b/modules/admin.module
@@ -44,7 +44,7 @@ function admin_page() {
<?php
// NOTE: we include a dummy "print.css" to remove the "flash of unstyled content" (FUOC) problems in IE.
- module_invoke_all("link", "admin");
+ menu_build("admin");
/*
** Body:
@@ -79,8 +79,12 @@ function admin_page() {
/*
** Menu:
+ ** We rebuild the admin menu once more because one might have
+ ** enabled/disabled themes or modules, changed permissions, etc.
*/
+ menu_build("admin");
+
print "<div id=\"menu\">";
echo "<h1><a href=\"index.php\">". variable_get("site_name", "drupal") ."</a></h1>";
print menu_tree("admin") ;
diff --git a/modules/system.module b/modules/system.module
index 2f351580d..636b61f3b 100644
--- a/modules/system.module
+++ b/modules/system.module
@@ -44,7 +44,8 @@ function system_link($type) {
menu("admin/system", "site configuration", "system_admin", $help["general"], 3);
menu("admin/system/themes", "themes", "system_admin", $help["themes"], 2);
- foreach (theme_list() as $theme) {
+ foreach (theme_list(1) as $theme) {
+ // NOTE: refresh the list because some themes might have been enabled/disabled.
include_once "$theme->filename";
$function = $theme->name ."_settings";
if (function_exists($function)) {
@@ -53,7 +54,8 @@ function system_link($type) {
}
menu("admin/system/modules", "modules", "system_admin", $help["modules"], 3);
- foreach (module_list() as $name) {
+ foreach (module_list(1) as $name) {
+ // NOTE: refresh the list because some modules might have been enabled/disabled.
if (module_hook($name, "settings")) {
menu("admin/system/modules/$name", $name, "system_admin", module_invoke($name, "system", "description"));
}
@@ -299,31 +301,18 @@ function system_listing($type, $directory, $required = array()) {
return $output;
}
-function system_init() {
- global $HTTP_POST_VARS, $REQUEST_URI, $system_init_status;
+function system_admin() {
+ global $op, $edit;
- session_register("system_init_status");
if (user_access("administer site configuration")) {
- if (isset($HTTP_POST_VARS["op"]) && $HTTP_POST_VARS["op"] == t("Reset to defaults")) {
- $system_init_status = status(system_reset_default($HTTP_POST_VARS["edit"]));
- }
- else if (isset($HTTP_POST_VARS["op"]) && $HTTP_POST_VARS["op"] == t("Save configuration")) {
- $system_init_status = status(system_save_settings($HTTP_POST_VARS["edit"]));
+ if ($op == t("Reset to defaults")) {
+ print status(system_reset_default($edit));
}
- else {
- return;
- }
- drupal_goto("$REQUEST_URI");
- }
-}
-function system_admin() {
- global $system_init_status;
+ if ($op == t("Save configuration")) {
+ print status(system_save_settings($edit));
+ }
- if (user_access("administer site configuration")) {
- session_register("system_init_status");
- print $system_init_status;
- session_unregister("system_init_status");
print system_view(arg(2), arg(3));
}
else {
diff --git a/modules/system/system.module b/modules/system/system.module
index 2f351580d..636b61f3b 100644
--- a/modules/system/system.module
+++ b/modules/system/system.module
@@ -44,7 +44,8 @@ function system_link($type) {
menu("admin/system", "site configuration", "system_admin", $help["general"], 3);
menu("admin/system/themes", "themes", "system_admin", $help["themes"], 2);
- foreach (theme_list() as $theme) {
+ foreach (theme_list(1) as $theme) {
+ // NOTE: refresh the list because some themes might have been enabled/disabled.
include_once "$theme->filename";
$function = $theme->name ."_settings";
if (function_exists($function)) {
@@ -53,7 +54,8 @@ function system_link($type) {
}
menu("admin/system/modules", "modules", "system_admin", $help["modules"], 3);
- foreach (module_list() as $name) {
+ foreach (module_list(1) as $name) {
+ // NOTE: refresh the list because some modules might have been enabled/disabled.
if (module_hook($name, "settings")) {
menu("admin/system/modules/$name", $name, "system_admin", module_invoke($name, "system", "description"));
}
@@ -299,31 +301,18 @@ function system_listing($type, $directory, $required = array()) {
return $output;
}
-function system_init() {
- global $HTTP_POST_VARS, $REQUEST_URI, $system_init_status;
+function system_admin() {
+ global $op, $edit;
- session_register("system_init_status");
if (user_access("administer site configuration")) {
- if (isset($HTTP_POST_VARS["op"]) && $HTTP_POST_VARS["op"] == t("Reset to defaults")) {
- $system_init_status = status(system_reset_default($HTTP_POST_VARS["edit"]));
- }
- else if (isset($HTTP_POST_VARS["op"]) && $HTTP_POST_VARS["op"] == t("Save configuration")) {
- $system_init_status = status(system_save_settings($HTTP_POST_VARS["edit"]));
+ if ($op == t("Reset to defaults")) {
+ print status(system_reset_default($edit));
}
- else {
- return;
- }
- drupal_goto("$REQUEST_URI");
- }
-}
-function system_admin() {
- global $system_init_status;
+ if ($op == t("Save configuration")) {
+ print status(system_save_settings($edit));
+ }
- if (user_access("administer site configuration")) {
- session_register("system_init_status");
- print $system_init_status;
- session_unregister("system_init_status");
print system_view(arg(2), arg(3));
}
else {