You are here

protected function ConfigBit::validateDependencies in Varbase: The Ultimate Drupal CMS Starter Kit (Bootstrap Ready) 8.8

Same name and namespace in other branches
  1. 9.0.x src/Config/ConfigBit.php \Drupal\varbase\Config\ConfigBit::validateDependencies()

Validate dependencies for Varbase config template bit data.

Parameters

array $config_template_data: The config template data.

Return value

bool The status if dependencies are valid.

1 call to ConfigBit::validateDependencies()
ConfigBit::processConfigBits in src/Config/ConfigBit.php
Process Config Bits.

File

src/Config/ConfigBit.php, line 376

Class

ConfigBit
Class ConfigBit.

Namespace

Drupal\varbase\Config

Code

protected function validateDependencies(array $config_template_data) {
  if (isset($config_template_data['dependencies']) && is_array($config_template_data['dependencies'])) {
    $dependencies = $config_template_data['dependencies'];
    if (isset($dependencies['module']) && is_array($dependencies['module'])) {
      foreach ($dependencies['module'] as $module) {
        if (!$this->moduleHandler
          ->moduleExists($module)) {
          return FALSE;
        }
      }
    }
    if (isset($dependencies['config']) && is_array($dependencies['config'])) {
      $all_config = $this->configFactory
        ->listAll();
      if (!empty($all_config)) {
        $missing = [];
        $missing = array_merge($missing, array_diff($dependencies['config'], $all_config));
        if (!empty($missing) && count($missing) > 0) {
          return FALSE;
        }
      }
    }
  }
  return TRUE;
}