You are here

function lightning_core_modules_installed in Lightning Core 8

Same name and namespace in other branches
  1. 8.5 lightning_core.module \lightning_core_modules_installed()
  2. 8.2 lightning_core.module \lightning_core_modules_installed()
  3. 8.3 lightning_core.module \lightning_core_modules_installed()
  4. 8.4 lightning_core.module \lightning_core_modules_installed()

Implements hook_modules_installed().

5 calls to lightning_core_modules_installed()
lightning_core_install in ./lightning_core.install
Implements hook_install().
lightning_core_update_8003 in ./lightning_core.install
Marks all entity token view modes as internal.
ModuleInstallTest::testKnownVersion in tests/src/Kernel/ModuleInstallTest.php
ModuleInstallTest::testUnknownDiscoverableVersion in tests/src/Kernel/ModuleInstallTest.php
@depends testKnownVersion
ModuleInstallTest::testUnknownUndiscoverableVersion in tests/src/Kernel/ModuleInstallTest.php
@depends testUnknownDiscoverableVersion

File

./lightning_core.module, line 124
Contains core functionality for the Lightning distribution.

Code

function lightning_core_modules_installed(array $modules) {

  // Don't do anything during config sync.
  if (\Drupal::isConfigSyncing()) {
    return;
  }

  // Record the semantic version of every module in config.
  $versions = \Drupal::configFactory()
    ->getEditable(UpdateManager::CONFIG_NAME);

  /** @var \Drupal\lightning_core\UpdateManager $update_manager */
  $update_manager = \Drupal::service('lightning.update_manager');
  foreach ($modules as $module) {
    $versions
      ->set($module, $update_manager
      ->getVersion($module));
  }
  $versions
    ->save();
  if (in_array('token', $modules, TRUE)) {
    $view_modes = [];
    foreach (\Drupal::entityTypeManager()
      ->getDefinitions() as $entity_type) {
      $view_modes[] = $entity_type
        ->id() . '.token';
    }
    $view_modes = EntityViewMode::loadMultiple($view_modes);

    /** @var \Drupal\Core\Entity\EntityViewModeInterface $view_mode */
    foreach ($view_modes as $view_mode) {
      $view_mode
        ->setThirdPartySetting('lightning_core', 'internal', TRUE)
        ->save();
    }
  }
  if (in_array('lightning_dev', $modules, TRUE)) {
    $administrator = Role::load('administrator');
    if ($administrator == NULL) {
      $administrator = Role::create([
        'id' => 'administrator',
        'label' => 'Administrator',
      ]);
      $administrator
        ->setIsAdmin(TRUE);
      $administrator
        ->save();
    }
    \Drupal::service('theme_installer')
      ->install([
      'seven',
    ]);
    \Drupal::configFactory()
      ->getEditable('system.theme')
      ->set('admin', 'seven')
      ->set('default', 'seven')
      ->save();
  }
}