diff --git a/modules/pi_control/pages/hosts.php b/modules/pi_control/pages/hosts.php index bf1fa7d..2c7df27 100644 --- a/modules/pi_control/pages/hosts.php +++ b/modules/pi_control/pages/hosts.php @@ -68,10 +68,8 @@ SH; $updateCount = null; $updatePreview = ''; $updateErr = str_contains($updOutStr, '__ERR__NO_APT'); - if ($updExit === 0 && !$updateErr) { - if (preg_match('/^__COUNT__=(\d+)$/m', $updOutStr, $m)) { - $updateCount = (int)$m[1]; - } + if (preg_match('/^__COUNT__=(\d+)$/m', $updOutStr, $m)) { + $updateCount = (int)$m[1]; } $updatePreview = trim($updOutStr); if (strlen($updatePreview) > 1200) { @@ -92,7 +90,7 @@ SH; $driver = (string)$pdo->getAttribute(PDO::ATTR_DRIVER_NAME); $nowExpr = $driver === 'pgsql' ? 'NOW()' : "DATETIME('now')"; $updCountVal = $updateCount; - $updErrVal = $updExit === 0 && !$updateErr ? null : trim($updErrStr ?: $updOutStr); + $updErrVal = (!$updateErr && $updateCount !== null) ? null : trim($updErrStr ?: $updOutStr); $upgAvailVal = $upgradeAvailable; $upgErrVal = $upgExit === 0 && !$upgradeErr ? null : trim($upgErrStr ?: $upgOutStr); $stmt = $pdo->prepare( @@ -122,7 +120,7 @@ SH; 'count' => $updateCount, 'preview' => $updatePreview, 'raw' => $updatePreview, - 'error' => $updExit === 0 && !$updateErr ? '' : trim($updErrStr ?: $updOutStr), + 'error' => (!$updateErr && $updateCount !== null) ? '' : trim($updErrStr ?: $updOutStr), ], 'os' => [ 'available' => $upgradeAvailable, diff --git a/tools/pi_control/check_updates.php b/tools/pi_control/check_updates.php index a5426cb..16d740c 100644 --- a/tools/pi_control/check_updates.php +++ b/tools/pi_control/check_updates.php @@ -44,10 +44,8 @@ foreach ($hosts as $host) { $updateCount = null; $updatePreview = ''; $updateErr = str_contains($updOutStr, '__ERR__NO_APT'); - if ($updExit === 0 && !$updateErr) { - if (preg_match('/^__COUNT__=(\d+)$/m', $updOutStr, $m)) { - $updateCount = (int)$m[1]; - } + if (preg_match('/^__COUNT__=(\d+)$/m', $updOutStr, $m)) { + $updateCount = (int)$m[1]; } $updatePreview = trim($updOutStr); if (strlen($updatePreview) > 1200) { @@ -65,7 +63,7 @@ foreach ($hosts as $host) { } } - $updErrVal = $updExit === 0 && !$updateErr ? null : trim($updErrStr ?: $updOutStr); + $updErrVal = (!$updateErr && $updateCount !== null) ? null : trim($updErrStr ?: $updOutStr); $upgErrVal = $upgExit === 0 && !$upgradeErr ? null : trim($upgErrStr ?: $upgOutStr); $stmt = $pdo->prepare(