#592008 follow-up by chx and moshe weitzman: All theme() function calls in hook_init().

merge-requests/26/head
Angie Byron 2009-11-01 22:10:07 +00:00
parent 45c7f0c02e
commit c409a47fcc
2 changed files with 18 additions and 4 deletions

View File

@ -6,16 +6,30 @@
* API for loading and interacting with Drupal modules.
*/
/**
* Load all the modules that have been enabled in the system table.
*
* @param $bootstrap
* Whether to load only the reduced set of modules loaded in "bootstrap mode"
* for cached pages. See bootstrap.inc.
* @return
* If $bootstrap is NULL, return a boolean indicating whether all modules
* have been loaded.
*/
function module_load_all($bootstrap = FALSE) {
foreach (module_list(TRUE, $bootstrap) as $module) {
drupal_load('module', $module);
static $has_run = FALSE;
if (isset($bootstrap)) {
foreach (module_list(TRUE, $bootstrap) as $module) {
drupal_load('module', $module);
}
// $has_run will be TRUE if $bootstrap is FALSE.
$has_run = !$bootstrap;
}
return $has_run;
}
/**
* Collect a list of all loaded modules. During the bootstrap, return only
* vital modules. See bootstrap.inc

View File

@ -258,7 +258,7 @@ function _theme_load_registry($theme, $base_theme = NULL, $theme_engine = NULL)
$registry = _theme_build_registry($theme, $base_theme, $theme_engine);
// Only persist this registry if all modules are loaded. This assures a
// complete set of theme hooks.
if (drupal_get_bootstrap_phase() == DRUPAL_BOOTSTRAP_FULL) {
if (module_load_all(NULL)) {
_theme_save_registry($theme, $registry);
_theme_set_registry($registry);
}