Chris@0
|
1 <?php
|
Chris@0
|
2
|
Chris@0
|
3 /**
|
Chris@0
|
4 * @file
|
Chris@0
|
5 * Contains database additions to drupal-8.bare.standard.php.gz for testing the
|
Chris@0
|
6 * upgrade path of https://www.drupal.org/node/507488.
|
Chris@0
|
7 */
|
Chris@0
|
8
|
Chris@0
|
9 use Drupal\Core\Database\Database;
|
Chris@0
|
10 use Drupal\Core\Serialization\Yaml;
|
Chris@0
|
11
|
Chris@0
|
12 $connection = Database::getConnection();
|
Chris@0
|
13
|
Chris@0
|
14 // Structure of a custom block with visibility settings.
|
Chris@0
|
15 $block_configs[] = Yaml::decode(file_get_contents(__DIR__ . '/block.block.testfor507488.yml'));
|
Chris@0
|
16
|
Chris@0
|
17 foreach ($block_configs as $block_config) {
|
Chris@0
|
18 $connection->insert('config')
|
Chris@0
|
19 ->fields([
|
Chris@0
|
20 'collection',
|
Chris@0
|
21 'name',
|
Chris@0
|
22 'data',
|
Chris@0
|
23 ])
|
Chris@0
|
24 ->values([
|
Chris@0
|
25 'collection' => '',
|
Chris@0
|
26 'name' => 'block.block.' . $block_config['id'],
|
Chris@0
|
27 'data' => serialize($block_config),
|
Chris@0
|
28 ])
|
Chris@0
|
29 ->execute();
|
Chris@0
|
30 }
|
Chris@0
|
31
|
Chris@0
|
32 // Update the config entity query "index".
|
Chris@0
|
33 $existing_blocks = $connection->select('key_value')
|
Chris@0
|
34 ->fields('key_value', ['value'])
|
Chris@0
|
35 ->condition('collection', 'config.entity.key_store.block')
|
Chris@0
|
36 ->condition('name', 'theme:seven')
|
Chris@0
|
37 ->execute()
|
Chris@0
|
38 ->fetchField();
|
Chris@0
|
39 $existing_blocks = unserialize($existing_blocks);
|
Chris@0
|
40
|
Chris@0
|
41 $connection->update('key_value')
|
Chris@0
|
42 ->fields([
|
Chris@17
|
43 'value' => serialize(array_merge($existing_blocks, ['block.block.seven_local_actions'])),
|
Chris@0
|
44 ])
|
Chris@0
|
45 ->condition('collection', 'config.entity.key_store.block')
|
Chris@0
|
46 ->condition('name', 'theme:seven')
|
Chris@0
|
47 ->execute();
|
Chris@0
|
48
|
Chris@0
|
49 // Enable test theme.
|
Chris@0
|
50 $extensions = $connection->select('config')
|
Chris@0
|
51 ->fields('config', ['data'])
|
Chris@0
|
52 ->condition('name', 'core.extension')
|
Chris@0
|
53 ->execute()
|
Chris@0
|
54 ->fetchField();
|
Chris@0
|
55 $extensions = unserialize($extensions);
|
Chris@0
|
56 $connection->update('config')
|
Chris@0
|
57 ->fields([
|
Chris@17
|
58 'data' => serialize(array_merge_recursive($extensions, ['theme' => ['test_theme' => 0]])),
|
Chris@0
|
59 ])
|
Chris@0
|
60 ->condition('name', 'core.extension')
|
Chris@0
|
61 ->execute();
|