X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FWorker%2FUpdateGServer.php;h=4b4e40d7666cadb639788c6c7d9123b96be3d749;hb=4139134cfd2f86ba6fec2adef37bca16ab466514;hp=1085c467c7b9df2645256f91d769a80a65a7d04f;hpb=322b7c856ca9ba53bd9c7da50dd5c1e3c9197d56;p=friendica.git diff --git a/src/Worker/UpdateGServer.php b/src/Worker/UpdateGServer.php index 1085c467c7..4b4e40d766 100644 --- a/src/Worker/UpdateGServer.php +++ b/src/Worker/UpdateGServer.php @@ -1,6 +1,6 @@ Strings::normaliseLink($server_url)])) { - GServer::setFailure($server_url); + GServer::setFailureByUrl($server_url); return; } $cleaned = GServer::cleanURL($server_url); if (($cleaned != $server_url) && DBA::exists('gserver', ['nurl' => Strings::normaliseLink($server_url)])) { - GServer::setFailure($server_url); + GServer::setFailureByUrl($server_url); return; } $ret = GServer::check($filtered, '', true, $only_nodeinfo); Logger::info('Updated gserver', ['url' => $filtered, 'result' => $ret]); } + + /** + * @param array|int $run_parameters Priority constant or array of options described in Worker::add + * @param string $serverUrl + * @param bool $onlyNodeInfo Only use NodeInfo for server detection + * @return int + * @throws InternalServerErrorException + */ + public static function add($run_parameters, string $serverUrl, bool $onlyNodeInfo = false): int + { + // Dropping the worker task if the server domain is blocked + if (Network::isUrlBlocked($serverUrl)) { + GServer::setBlockedByUrl($serverUrl); + return 0; + } + + // We have to convert the Uri back to string because worker parameters are saved in JSON format which + // doesn't allow for structured objects. + return Worker::add($run_parameters, 'UpdateGServer', $serverUrl, $onlyNodeInfo); + } }