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;
}
}
}
}
}
}
}