. */ namespace SP\Domain\Upgrade\Services; use SP\Domain\Config\ConfigInterface; use SP\Domain\Config\In\ConfigDataInterface; use SP\Infrastructure\File\FileException; use SP\Util\VersionUtil; /** * Class UpgradeUtil * * @package SP\Domain\Upgrade\Services */ final class UpgradeUtil { /** * Normalizar un número de versión */ public static function fixVersionNumber(string $version): string { if (strpos($version, '.') === false) { if (strlen($version) === 10) { return substr($version, 0, 2).'0.'.substr($version, 2); } return substr($version, 0, 3).'.'.substr($version, 3); } return $version; } /** * @throws FileException */ public static function fixAppUpgrade(ConfigDataInterface $configData, ConfigInterface $config): void { // Fixes bug in 3.0.X version where some updates weren't applied // when upgrading from v2 // $dbVersion is always '' when upgrading from v2 if (!empty($configData->getDatabaseVersion()) && empty($configData->getAppVersion()) ) { $configData->setAppVersion(VersionUtil::getVersionStringNormalized()); $config->saveConfig($configData, false); } } }