X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FUpdateGServer.php;h=0c42a67ec3d2196a3175e44d12b3a55e44af02d7;hb=bf8fb215a9cc554b5ec5b774168a52fb56fa43e6;hp=696ec125d82516506b8df3c8b6fa35f06b70bfd8;hpb=edbdfbae6b78086c220c0ad116c0fa7deb03a6e8;p=friendica.git diff --git a/src/Worker/UpdateGServer.php b/src/Worker/UpdateGServer.php index 696ec125d8..0c42a67ec3 100644 --- a/src/Worker/UpdateGServer.php +++ b/src/Worker/UpdateGServer.php @@ -22,6 +22,7 @@ namespace Friendica\Worker; use Friendica\Core\Logger; +use Friendica\Database\DBA; use Friendica\Model\GServer; use Friendica\Util\Strings; @@ -32,7 +33,7 @@ class UpdateGServer * @param string $server_url Server URL * @param boolean $only_nodeinfo Only use nodeinfo for server detection */ - public static function execute(string $server_url, bool $only_nodeinfo = false, bool $force = false) + public static function execute(string $server_url, bool $only_nodeinfo = false) { if (empty($server_url)) { return; @@ -40,11 +41,22 @@ class UpdateGServer $filtered = filter_var($server_url, FILTER_SANITIZE_URL); if (substr(Strings::normaliseLink($filtered), 0, 7) != 'http://') { - GServer::setFailure($filtered); + GServer::setFailure($server_url); return; } - $ret = GServer::check($filtered, '', $force, $only_nodeinfo); + if (($filtered != $server_url) && DBA::exists('gserver', ['nurl' => Strings::normaliseLink($server_url)])) { + GServer::setFailure($server_url); + return; + } + + $cleaned = GServer::cleanURL($server_url); + if (($cleaned != $server_url) && DBA::exists('gserver', ['nurl' => Strings::normaliseLink($server_url)])) { + GServer::setFailure($server_url); + return; + } + + $ret = GServer::check($filtered, '', true, $only_nodeinfo); Logger::info('Updated gserver', ['url' => $filtered, 'result' => $ret]); } }