getExtensionChangelist example

/** * Gets a list of unprocessed changes for extensions. * * @param string $type * The type of extension, either 'theme' or 'module'. * * @return array * An array of extension names. */
  protected function getUnprocessedExtensions($type) {
    $changelist = $this->getExtensionChangelist($type);
    return [
      'install' => array_diff($changelist['install']$this->processedExtensions[$type]['install']),
      'uninstall' => array_diff($changelist['uninstall']$this->processedExtensions[$type]['uninstall']),
    ];
  }

  /** * Imports the changelist to the target storage. * * @return $this * The ConfigImporter instance. * * @throws \Drupal\Core\Config\ConfigException */

    }

    // Get a list of modules with dependency weights as values.     $module_data = $this->moduleExtensionList->getList();
    $nonexistent_modules = array_keys(array_diff_key($core_extension['module']$module_data));
    foreach ($nonexistent_modules as $module) {
      $config_importer->logError($this->t('Unable to install the %module module since it does not exist.', ['%module' => $module]));
    }

    // Ensure that all modules being installed have their dependencies met.     $installs = $config_importer->getExtensionChangelist('module', 'install');
    foreach ($installs as $module) {
      $missing_dependencies = [];
      foreach (array_keys($module_data[$module]->requires) as $required_module) {
        if (!isset($core_extension['module'][$required_module])) {
          $missing_dependencies[] = $module_data[$required_module]->info['name'];
        }
      }
      if (!empty($missing_dependencies)) {
        $module_name = $module_data[$module]->info['name'];
        $message = $this->formatPlural(count($missing_dependencies),
          'Unable to install the %module module since it requires the %required_module module.',
          
Home | Imprint | This part of the site doesn't use cookies.