annotate core/modules/system/tests/fixtures/update/drupal-8.local-actions-tasks-into-blocks-507488.php @ 19:fa3358dc1485 tip

Add ndrum files
author Chris Cannam
date Wed, 28 Aug 2019 13:14:47 +0100
parents 129ea1e6d783
children
rev   line source
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();