You are here

public function EvaluationCode::modulesEvaluation in Drupal 8 upgrade evaluation 7

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

Implements _upgrade_check_modules_evaluation().

File

includes/EvaluationCode.php, line 119

Class

EvaluationCode

Namespace

Upgrade_check

Code

public function modulesEvaluation($module) {
  $modules = $modules['files'] = array();
  $modules['lines'] = 0;
  $modules['name'] = !empty($module['name']) ? $module['name'] : '';
  $modules['isset_status'] = TRUE;
  $modules['schema_version'] = !empty($module['schema_version']) ? $module['schema_version'] : '';
  $modules['package'] = !empty($module['info']['package']) ? $module['info']['package'] : $this->other;
  $modules['parent_module'] = !empty($module['parent_module']) ? $module['parent_module'] : '';
  $modules['type_module'] = !empty($module['type_module']) ? $module['type_module'] : '';
  if (!empty($module['info']['package']) && $module['info']['package'] === 'Core') {
    $modules['type_status'] = $this->core;
  }
  else {
    $param = array(
      $this->custom,
      $this->contribNoUpgrade,
    );
    $data = $this
      ->updateProcessFetchTask($module);
    $modules['type_status'] = !empty($data['type']) ? $data['type'] : $this->custom;
    $modules['package'] = !empty($module['info']['package']) ? $module['info']['package'] : $this->other;
    if (!empty($data) && !empty($data['type']) && in_array($data['type'], $param, TRUE)) {
      $filePath = substr($module['filename'], 0, strripos($module['filename'], '/'));
      if (file_exists($filePath)) {
        $recursiveDirectory = new \RecursivedirectoryIterator($filePath);
        $recursiveIterator = new \RecursiveIteratorIterator($recursiveDirectory);
        foreach ($recursiveIterator as $name => $object) {
          $status = FALSE;
          foreach ($this->excludedFiles as $val) {
            if (strpos($name, $val) !== FALSE) {
              $status = TRUE;
            }
          }
          if (!empty($status)) {
            continue;
          }
          else {
            $checkCode = $this
              ->checkCode($name, $modules['name']);
            $modules['lines'] += $checkCode['all_strings'];
            $checkCode['file_name'] = $name;
            $modules['files'][] = $checkCode;
          }
        }
      }
      else {
        $modules['isset_status'] = FALSE;
      }
    }
  }
  $modules['version'] = !empty($module['info']['version']) ? $module['info']['version'] : '';
  return $modules;
}