annotate core/modules/system/tests/fixtures/update/drupal-8.actions-2815379.php @ 19:fa3358dc1485 tip

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