diff options
Diffstat (limited to 'modules/block/block.module')
-rw-r--r-- | modules/block/block.module | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/modules/block/block.module b/modules/block/block.module index 7f0f21070..72c3c5c56 100644 --- a/modules/block/block.module +++ b/modules/block/block.module @@ -559,7 +559,7 @@ function block_form_user_profile_form_alter(&$form, &$form_state) { $blocks[$block->module][$block->delta] = array( '#type' => 'checkbox', '#title' => check_plain($data[$block->delta]['info']), - '#default_value' => isset($account->block[$block->module][$block->delta]) ? $account->block[$block->module][$block->delta] : ($block->custom == 1), + '#default_value' => isset($account->data['block'][$block->module][$block->delta]) ? $account->data['block'][$block->module][$block->delta] : ($block->custom == 1), ); } } @@ -579,6 +579,15 @@ function block_form_user_profile_form_alter(&$form, &$form_state) { } /** + * Implements hook_user_presave(). + */ +function block_user_presave(&$edit, $account, $category) { + if (isset($edit['block'])) { + $edit['data']['block'] = $edit['block']; + } +} + +/** * Initialize blocks for enabled themes. */ function block_themes_enabled($theme_list) { @@ -741,8 +750,8 @@ function block_block_list_alter(&$blocks) { // Use the user's block visibility setting, if necessary. if ($block->custom != BLOCK_CUSTOM_FIXED) { - if ($user->uid && isset($user->block[$block->module][$block->delta])) { - $enabled = $user->block[$block->module][$block->delta]; + if ($user->uid && isset($user->data['block'][$block->module][$block->delta])) { + $enabled = $user->data['block'][$block->module][$block->delta]; } else { $enabled = ($block->custom == BLOCK_CUSTOM_ENABLED); |