annotate core/modules/system/tests/fixtures/update/drupal-8.actions-2815379.php @ 5:12f9dff5fda9 tip

Update to Drupal core 8.7.1
author Chris Cannam
date Thu, 09 May 2019 15:34:47 +0100
parents
children
rev   line source
Chris@5 1 <?php
Chris@5 2
Chris@5 3 /**
Chris@5 4 * @file
Chris@5 5 * Contains database additions to for testing upgrade path for action plugins.
Chris@5 6 *
Chris@5 7 * @see https://www.drupal.org/node/2815379
Chris@5 8 */
Chris@5 9
Chris@5 10 use Drupal\Core\Database\Database;
Chris@5 11 use Drupal\Core\Serialization\Yaml;
Chris@5 12
Chris@5 13 $connection = Database::getConnection();
Chris@5 14
Chris@5 15 // Structure of configured email, goto, and message actions.
Chris@5 16 $actions[] = Yaml::decode(file_get_contents(__DIR__ . '/system.action.goto_2815379.yml'));
Chris@5 17 $actions[] = Yaml::decode(file_get_contents(__DIR__ . '/system.action.message_2815379.yml'));
Chris@5 18 $actions[] = Yaml::decode(file_get_contents(__DIR__ . '/system.action.send_email_2815379.yml'));
Chris@5 19
Chris@5 20 foreach ($actions as $action) {
Chris@5 21 $connection->insert('config')
Chris@5 22 ->fields([
Chris@5 23 'collection',
Chris@5 24 'name',
Chris@5 25 'data',
Chris@5 26 ])
Chris@5 27 ->values([
Chris@5 28 'collection' => '',
Chris@5 29 'name' => 'system.action.' . $action['id'],
Chris@5 30 'data' => serialize($action),
Chris@5 31 ])
Chris@5 32 ->execute();
Chris@5 33 }
Chris@5 34
Chris@5 35 // Enable action module.
Chris@5 36 $extensions = $connection->select('config')
Chris@5 37 ->fields('config', ['data'])
Chris@5 38 ->condition('name', 'core.extension')
Chris@5 39 ->execute()
Chris@5 40 ->fetchField();
Chris@5 41 $extensions = unserialize($extensions);
Chris@5 42 $connection->update('config')
Chris@5 43 ->fields([
Chris@5 44 'data' => serialize(array_merge_recursive($extensions, ['module' => ['action' => 0]])),
Chris@5 45 ])
Chris@5 46 ->condition('name', 'core.extension')
Chris@5 47 ->execute();