Commit 71772275 authored by Gábor Hojtsy's avatar Gábor Hojtsy
Browse files

#197500 reported by webernet, patch by myself and chx: instead of calling into...

#197500 reported by webernet, patch by myself and chx: instead of calling into the Drupal API with _block_rehash(), implement what we need from that right there in system_update_6027
parent e16be08d
......@@ -2463,25 +2463,17 @@ function system_update_6027() {
// The cache_block table is created in update_fix_d6_requirements() since
// calls to cache_clear_all() would otherwise cause warnings.
// Fill in the values for the new 'cache' column,
// by refreshing the {blocks} table.
global $theme, $custom_theme;
$old_theme = $theme;
$themes = list_themes();
$result = db_query("SELECT DISTINCT theme FROM {blocks}");
while ($row = db_fetch_array($result)) {
if (array_key_exists($row['theme'], $themes)) {
// Set up global values so that _blocks_rehash()
// operates on the expected theme.
$theme = NULL;
$custom_theme = $row['theme'];
_block_rehash();
// Fill in the values for the new 'cache' column in the {blocks} table.
foreach (module_list() as $module) {
if ($module_blocks = module_invoke($module, 'block', 'list')) {
foreach ($module_blocks as $delta => $block) {
if (isset($block['cache'])) {
db_query("UPDATE {blocks} SET cache = %d WHERE module = '%s' AND delta = %d", $block['cache'], $module, $delta);
}
}
}
}
$theme = $old_theme;
return $ret;
}
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment