diff --git a/mod/admin.php b/mod/admin.php index 5adc8e9c47..91b21ace55 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -651,6 +651,29 @@ function admin_page_federation(App $a) $v[$key] = ['total' => $v[$key]['total'], 'version' => L10n::t('unknown')]; } } + + // Reformat and compact version numbers + if ($p == 'Pleroma') { + $compacted = []; + + foreach ($v as $key => $value) { + $version = $v[$key]['version']; + $parts = explode(' ', trim($version)); + do { + $part = array_pop($parts); + } while (!empty($parts) && ((strlen($part) >= 40) || (strlen($part) <= 3))); + + if (!empty($part)) { + $compacted[$part] += $v[$key]['total']; + } + } + + $v = []; + foreach ($compacted as $version => $total) { + $v[] = ['version' => $version, 'total' => $total]; + } + } + // in the DB the Diaspora versions have the format x.x.x.x-xx the last // part (-xx) should be removed to clean up the versions from the "head // commit" information and combined into a single entry for x.x.x.x diff --git a/src/Network/CurlResult.php b/src/Network/CurlResult.php index bbae881b88..7bf9ad87da 100644 --- a/src/Network/CurlResult.php +++ b/src/Network/CurlResult.php @@ -133,6 +133,11 @@ class CurlResult { $this->isSuccess = ($this->returnCode >= 200 && $this->returnCode <= 299) || $this->errorNumber == 0; + // Everything higher than 299 is not an success + if ($this->returnCode > 299) { + $this->isSuccess = false; + } + if (!$this->isSuccess) { Logger::log('error: ' . $this->url . ': ' . $this->returnCode . ' - ' . $this->error, Logger::INFO); Logger::log('debug: ' . print_r($this->info, true), Logger::DATA);