diff --git a/includes/bootstrap.inc b/includes/bootstrap.inc
index ed274055d11..2cfbdacb7e6 100644
--- a/includes/bootstrap.inc
+++ b/includes/bootstrap.inc
@@ -144,13 +144,8 @@ function drupal_page_header() {
** call all init() and exit() hooks without including all modules
** only use those hooks for critical operations
*/
- foreach (module_list(0, 1) as $module) {
- if (is_array($module) && $module['bootstrap']) {
- include_once $module['filename'];
- foreach (bootstrap_hooks() as $hook) {
- module_invoke($module['name'], $hook);
- }
- }
+ foreach (bootstrap_hooks() as $hook) {
+ module_invoke_all($hook);
}
exit();
}
diff --git a/includes/theme.inc b/includes/theme.inc
index 0bd2416bf62..25c50488354 100644
--- a/includes/theme.inc
+++ b/includes/theme.inc
@@ -117,22 +117,26 @@ function path_to_theme() {
return dirname($themes[$theme]->filename);
}
-/**
- * @defgroup themeable Themeable functions
- * @{
- *
- * Themeable functions - functions that can be styled differently in themes.
- *
- * @see theme
- * @see theme.inc
- */
/**
- * Returns the theme header.
+ * Returns an entire Drupal page displaying the supplied content.
*
- * @return a string containing the @a header output.
+ * @param $content a string containing the content to display
+ * @param $title (optional) page title (\
\)
+ * @param $breadcrumb (optional) page breadcrumb
+ *
+ * @see drupal_breadcrumb
+ *
+ * @return a string containing the @a page output.
*/
-function theme_header() {
+function theme_page($content, $title = NULL, $breadcrumb = NULL) {
+ if (isset($title)) {
+ drupal_set_title($title);
+ }
+ if (isset($breadcrumb)) {
+ drupal_set_breadcrumb($breadcrumb);
+ }
+
$output = "\n";
$output .= "";
$output .= "";
@@ -156,31 +160,13 @@ function theme_header() {
$output .= "$help
";
}
- return $output;
-}
-
-/**
- * Returns an entire Drupal page displaying the supplied content.
- *
- * @param $content a string containing the content to display
- * @param $title (optional) page title (\\)
- * @param $breadcrumb (optional) page breadcrumb
- *
- * @see drupal_breadcrumb
- *
- * @return a string containing the @a page output.
- */
-function theme_page($content, $title = NULL, $breadcrumb = NULL) {
- if (isset($title)) {
- drupal_set_title($title);
- }
- if (isset($breadcrumb)) {
- drupal_set_breadcrumb($breadcrumb);
- }
-
- $output = theme("header");
+ $output .= "\n\n";
$output .= $content;
- $output .= theme("footer");
+ $output .= "\n\n";
+
+ $output .= "";
+ $output .= theme_closure();
+ $output .= "";
return $output;
}
@@ -394,18 +380,6 @@ function theme_block($block) {
return $output;
}
-/**
- * Returns themed page footer.
- *
- * @return a string containing the @a footer output.
- */
-function theme_footer() {
- $output = "";
- $output .= theme_closure();
- $output .= "";
- return $output;
-}
-
/**
* Returns themed marker, useful for marking new comments or required form
* elements.
diff --git a/themes/chameleon/chameleon.theme b/themes/chameleon/chameleon.theme
index 0bb52adb03f..c9f2ada3920 100644
--- a/themes/chameleon/chameleon.theme
+++ b/themes/chameleon/chameleon.theme
@@ -32,7 +32,13 @@ function chameleon_settings() {
return $output;
}
-function chameleon_header($title = "") {
+function chameleon_page($content, $title = NULL, $breadcrumb = NULL) {
+ if (isset($title)) {
+ drupal_set_title($title);
+ }
+ if (isset($breadcrumb)) {
+ drupal_set_breadcrumb($breadcrumb);
+ }
$output = "\n";
$output .= "\n";
@@ -70,6 +76,22 @@ function chameleon_header($title = "") {
$output .= "". t("Status") .": $message
";
}
+ $output .= "\n\n";
+ $output .= $content;
+ $output .= "\n\n";
+
+ $output .= " \n";
+
+ if ($blocks = theme_blocks("right")) {
+ $output .= " \n";
+ }
+
+ $output .= " \n";
+ $output .= " \n";
+ $output .= theme_closure();
+ $output .= " \n";
+ $output .= "