]> git.mxchange.org Git - friendica.git/commitdiff
Fix wromg server detecting / improved Pleroma version numbers
authorMichael <heluecht@pirati.ca>
Sun, 11 Nov 2018 21:54:50 +0000 (21:54 +0000)
committerMichael <heluecht@pirati.ca>
Sun, 11 Nov 2018 21:54:50 +0000 (21:54 +0000)
mod/admin.php
src/Network/CurlResult.php

index 5adc8e9c47036b25b6cc5f859ca39cc9dbd74598..91b21ace5574eb6df1965a688c03b85a63afc8f8 100644 (file)
@@ -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
index bbae881b8869c51173e057b7ef15399abd7abaae..7bf9ad87dabc33c6036702f711dbfa755355efdd 100644 (file)
@@ -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);