- Patch #667098 by catch: drupal_get_bootstrap_phase() was broken.
parent
fed2d40473
commit
239cec289d
|
@ -1498,7 +1498,7 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
|
||||||
static $final_phase;
|
static $final_phase;
|
||||||
// Not drupal_static(), because it's impossible to roll back to an earlier
|
// Not drupal_static(), because it's impossible to roll back to an earlier
|
||||||
// bootstrap state.
|
// bootstrap state.
|
||||||
static $completed_phase = -1;
|
static $stored_phase = -1;
|
||||||
|
|
||||||
// When not recursing, store the phase name so it's not forgotten while
|
// When not recursing, store the phase name so it's not forgotten while
|
||||||
// recursing.
|
// recursing.
|
||||||
|
@ -1508,8 +1508,15 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
|
||||||
if (isset($phase)) {
|
if (isset($phase)) {
|
||||||
// Call a phase if it has not been called before and is below the requested
|
// Call a phase if it has not been called before and is below the requested
|
||||||
// phase.
|
// phase.
|
||||||
while ($phases && $phase > $completed_phase && $final_phase > $completed_phase) {
|
while ($phases && $phase > $stored_phase && $final_phase > $stored_phase) {
|
||||||
$current_phase = array_shift($phases);
|
$current_phase = array_shift($phases);
|
||||||
|
|
||||||
|
// This function is re-entrant. Only update the completed phase when the
|
||||||
|
// current call actually resulted in a progress in the bootstrap process.
|
||||||
|
if ($current_phase > $stored_phase) {
|
||||||
|
$stored_phase = $current_phase;
|
||||||
|
}
|
||||||
|
|
||||||
switch ($current_phase) {
|
switch ($current_phase) {
|
||||||
case DRUPAL_BOOTSTRAP_CONFIGURATION:
|
case DRUPAL_BOOTSTRAP_CONFIGURATION:
|
||||||
_drupal_bootstrap_configuration();
|
_drupal_bootstrap_configuration();
|
||||||
|
@ -1545,14 +1552,9 @@ function drupal_bootstrap($phase = NULL, $new_phase = TRUE) {
|
||||||
_drupal_bootstrap_full();
|
_drupal_bootstrap_full();
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
// This function is reentrant. Only update the completed phase when the
|
|
||||||
// current call actually resulted in a progress in the bootstrap process.
|
|
||||||
if ($current_phase > $completed_phase) {
|
|
||||||
$completed_phase = $current_phase;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return $completed_phase;
|
return $stored_phase;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue