You are here

public static function EvaluationCode::upgradeCheckSubmodules in Drupal 8 upgrade evaluation 7

Same name and namespace in other branches
  1. 6 includes/EvaluationCode.php \Upgrade_check\EvaluationCode::upgradeCheckSubmodules()

Check for submodules.

1 call to EvaluationCode::upgradeCheckSubmodules()
EvaluationImplementation::upgradeCheckModulesData in includes/EvaluationImplementation.php
Fetch data of all enabled modules.

File

includes/EvaluationCode.php, line 351

Class

EvaluationCode

Namespace

Upgrade_check

Code

public static function upgradeCheckSubmodules($modules) {
  if (!empty($modules)) {
    foreach ($modules as $key => $module) {
      $modules[$key]->type_module = 'module';
      if (!empty($module) && !empty($module->info['dependencies'])) {
        foreach ($module->info['dependencies'] as $dependencies) {
          $delimiter = explode(':', $dependencies);
          if (!empty($delimiter)) {
            $last = end($delimiter);
            if (!empty($last)) {
              $dependencies = $last;
            }
          }
          if (!empty($dependencies) && !empty($modules[$dependencies]) && !empty($module->filename)) {
            if (empty($module->parent_module)) {
              if (strpos($module->filename, '/' . $dependencies . '/') !== FALSE) {
                $modules[$key]->parent_module = $dependencies;
              }
              elseif (self::upgradeCheckSubmodulesSubmodules($modules, $key, $module)) {
                break;
              }
              elseif (!empty($module->info['features'])) {
                $modules[$key]->type_module = 'feature';
              }
            }
          }
        }
      }
      elseif ($module && empty($module->parent_module)) {
        self::upgradeCheckSubmodulesSubmodules($modules, $key, $module);
      }
    }
  }
  return $modules;
}