diff --cc core/includes/bootstrap.inc index 55a3875,dbe0555..0000000 --- a/core/includes/bootstrap.inc +++ b/core/includes/bootstrap.inc diff --cc core/modules/block/block.admin.inc index ffa0b0b,581866f..0000000 --- a/core/modules/block/block.admin.inc +++ b/core/modules/block/block.admin.inc @@@ -184,30 -179,14 +179,14 @@@ function block_admin_display_form($form * @see block_admin_display_form() */ function block_admin_display_form_submit($form, &$form_state) { - $transaction = db_transaction(); - try { - foreach ($form_state['values']['blocks'] as $block) { - $block['status'] = (int) ($block['region'] != BLOCK_REGION_NONE); - $block['region'] = $block['status'] ? $block['region'] : ''; - db_update('block') - ->fields(array( - 'status' => $block['status'], - 'weight' => $block['weight'], - 'region' => $block['region'], - )) - ->condition('module', $block['module']) - ->condition('delta', $block['delta']) - ->condition('theme', $block['theme']) - ->execute(); - } - } - catch (Exception $e) { - $transaction->rollback(); - watchdog_exception('block', $e); - throw $e; + foreach ($form_state['values']['blocks'] as $block) { + $config = config($block['config_id']); + $config->set('weight', $block['weight']); + $config->set('region', $block['region']); + $config->save(); } drupal_set_message(t('The block settings have been updated.')); - cache_invalidate(array('content' => TRUE)); + cache_invalidate_tags(array('content' => TRUE)); } /** diff --cc core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php index 411beb1,91cc7c1..0000000 --- a/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockHtmlIdTest.php @@@ -33,16 -35,19 +35,19 @@@ class BlockHtmlIdTest extends WebTestBa parent::setUp(); // Create an admin user, log in and enable test blocks. - $this->admin_user = $this->drupalCreateUser(array('administer blocks', 'access administration pages')); - $this->drupalLogin($this->admin_user); - - // Enable our test block. - $edit['blocks[block_test_test_html_id][region]'] = 'sidebar_first'; - $this->drupalPost('admin/structure/block', $edit, t('Save blocks')); + $this->adminUser = $this->drupalCreateUser(array('administer blocks', 'access administration pages')); + $this->drupalLogin($this->adminUser); - // Make sure the block has some content so it will appear + // Make sure the block has some content so it will appear. $current_content = $this->randomName(); - variable_set('block_test_content', $current_content); + state()->set('block_test.content', $current_content); + + // Enable our test block. + $default_theme = variable_get('theme_default', 'stark'); + $block = array(); + $block['machine_name'] = 'test_id_block'; + $block['region'] = 'sidebar_first'; + $this->drupalPost('admin/structure/block/manage/test_html_id' . '/' . $default_theme, array('machine_name' => $block['machine_name'], 'region' => $block['region']), t('Save block')); } /** diff --cc core/modules/block/lib/Drupal/block/Tests/BlockTest.php index 7446052,1dec612..0000000 --- a/core/modules/block/lib/Drupal/block/Tests/BlockTest.php +++ b/core/modules/block/lib/Drupal/block/Tests/BlockTest.php diff --cc core/modules/block/tests/block_test.module index 4105294,03f94b0..0000000 --- a/core/modules/block/tests/block_test.module +++ b/core/modules/block/tests/block_test.module