comparison core/modules/system/tests/fixtures/update/drupal-8.block-context-manager-2354889.php @ 0:c75dbcec494b

Initial commit from drush-created site
author Chris Cannam
date Thu, 05 Jul 2018 14:24:15 +0000
parents
children a9cd425dd02b
comparison
equal deleted inserted replaced
-1:000000000000 0:c75dbcec494b
1 <?php
2
3 /**
4 * @file
5 * Contains database additions to drupal-8.bare.standard.php.gz for testing the
6 * upgrade path of https://www.drupal.org/node/2354889.
7 */
8
9 use Drupal\Core\Database\Database;
10 use Drupal\Core\Serialization\Yaml;
11
12 $connection = Database::getConnection();
13
14 // A custom block with visibility settings.
15 $block_configs[] = Yaml::decode(file_get_contents(__DIR__ . '/block.block.testfor2354889.yml'));
16
17 // A custom block without any visibility settings.
18 $block_configs[] = Yaml::decode(file_get_contents(__DIR__ . '/block.block.secondtestfor2354889.yml'));
19
20 // A custom block with visibility settings that contain a non-existing context
21 // mapping.
22 $block_configs[] = Yaml::decode(file_get_contents(__DIR__ . '/block.block.thirdtestfor2354889.yml'));
23
24 foreach ($block_configs as $block_config) {
25 $connection->insert('config')
26 ->fields([
27 'collection',
28 'name',
29 'data',
30 ])
31 ->values([
32 'collection' => '',
33 'name' => 'block.block.' . $block_config['id'],
34 'data' => serialize($block_config),
35 ])
36 ->execute();
37 }
38
39 // Update the config entity query "index".
40 $existing_blocks = $connection->select('key_value')
41 ->fields('key_value', ['value'])
42 ->condition('collection', 'config.entity.key_store.block')
43 ->condition('name', 'theme:bartik')
44 ->execute()
45 ->fetchField();
46 $existing_blocks = unserialize($existing_blocks);
47
48 $connection->update('key_value')
49 ->fields([
50 'value' => serialize(array_merge($existing_blocks, ['block.block.testfor2354889', 'block.block.secondtestfor2354889', 'block.block.thirdtestfor2354889']))
51 ])
52 ->condition('collection', 'config.entity.key_store.block')
53 ->condition('name', 'theme:bartik')
54 ->execute();