Fix version fallback: use 0.0.0 with error flag when version.php is missing or invalid

- handleUpdate(): set versionError flag and return 0.0.0 if version.php missing/invalid
- Dashboard stats: use 0.0.0 fallback instead of '-' when version cannot be determined
- Makes version.php truly required as intended
This commit is contained in:
2026-08-08 18:37:26 +02:00
parent 68db5fe7b2
commit 3dffc82f1e
+21 -5
View File
@@ -215,7 +215,14 @@ function handleDashboard(AdminAuth $auth, array $config): void
$configJson = $config['config_json'];
$versionFile = __DIR__ . '/../version.php';
$versionInfo = file_exists($versionFile) ? include $versionFile : [];
$versionInfo = [];
if (file_exists($versionFile)) {
$verData = include $versionFile;
$versionInfo = is_array($verData) ? $verData : [];
}
if (empty($versionInfo['version'])) {
$versionInfo['version'] = '0.0.0';
}
$stats = [
'pages' => countFiles($contentDir, ['md', 'php', 'html']),
@@ -224,7 +231,7 @@ function handleDashboard(AdminAuth $auth, array $config): void
'config_exists' => file_exists($configJson),
'content_size' => formatSize(dirSize($contentDir)),
'php_version' => PHP_VERSION,
'cms_version' => $versionInfo['version'] ?? '-',
'cms_version' => $versionInfo['version'],
'os' => PHP_OS_FAMILY . ' (' . php_uname('r') . ')',
];
@@ -1834,10 +1841,19 @@ function handleUpdate(AdminAuth $auth, array $config): void
// Load CMS version
$versionFile = $config['codepress_root'] . '/version.php';
$cmsVersion = '1.7.1';
if (file_exists($versionFile)) {
$cmsVersion = '0.0.0';
$versionError = false;
if (!file_exists($versionFile)) {
$versionError = true;
$cmsVersion = '0.0.0';
} else {
$verData = require $versionFile;
$cmsVersion = is_array($verData) ? ($verData['version'] ?? '1.7.1') : '1.7.1';
if (!is_array($verData) || empty($verData['version'])) {
$versionError = true;
$cmsVersion = '0.0.0';
} else {
$cmsVersion = $verData['version'];
}
}
// Get git branch & check git permissions