GcConfig\Controller\CmsController::checkVersion PHP Method

checkVersion() protected method

Check version in info file from $type directory
protected checkVersion ( array $directories, string $type, array &$errors ) : void
$directories array List of directories
$type string Type of directory
$errors array
return void
    protected function checkVersion(array $directories, $type, array &$errors)
    {
        $latestVersion = Version::getLatest();
        foreach ($directories as $directory) {
            if (is_dir($directory)) {
                $filename = $directory . '/' . $type . '.info';
                $info = new Info();
                if ($info->fromFile($filename) === true) {
                    $infos = $info->getInfos();
                    if (!empty($infos['cms_version'])) {
                        preg_match('~(?<operator>[>=]*)(?<version>.+)~', $infos['cms_version'], $matches);
                        if (empty($matches['operator'])) {
                            if (version_compare($latestVersion, $matches['version']) === 1) {
                                $errors[] = basename($directory);
                            }
                        } else {
                            if (!version_compare($latestVersion, $matches['version'], $matches['operator'])) {
                                $errors[] = $directory;
                            }
                        }
                    }
                }
            }
        }
    }