X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FRelay.php;h=7414c29315e5981c479804708fa5065a7158c0fd;hb=e82ef8890b60da42e47b8a4439309f7311e05141;hp=f89dc3999930d48e47ee83044183a2210333454e;hpb=c9ec2e21b3db208282b553fccdd425479f58bf0e;p=friendica.git diff --git a/src/Protocol/Relay.php b/src/Protocol/Relay.php index f89dc39999..7414c29315 100644 --- a/src/Protocol/Relay.php +++ b/src/Protocol/Relay.php @@ -1,6 +1,6 @@ get('system', 'relay_scope'); - if ($scope == SR_SCOPE_NONE) { + if ($scope == self::SCOPE_NONE) { Logger::info('Server does not accept relay posts - rejected', ['network' => $network, 'url' => $url]); return false; } @@ -74,10 +80,10 @@ class Relay $userTags = []; $denyTags = []; - if ($scope == SR_SCOPE_TAGS) { + if ($scope == self::SCOPE_TAGS) { $server_tags = $config->get('system', 'relay_server_tags'); $tagitems = explode(',', mb_strtolower($server_tags)); - foreach ($tagitems AS $tag) { + foreach ($tagitems as $tag) { $systemTags[] = trim($tag, '# '); } @@ -90,7 +96,7 @@ class Relay $deny_tags = $config->get('system', 'relay_deny_tags'); $tagitems = explode(',', mb_strtolower($deny_tags)); - foreach ($tagitems AS $tag) { + foreach ($tagitems as $tag) { $tag = trim($tag, '# '); $denyTags[] = $tag; } @@ -119,7 +125,7 @@ class Relay } } - if ($scope == SR_SCOPE_ALL) { + if ($scope == self::SCOPE_ALL) { Logger::info('Server accept all posts - accepted', ['network' => $network, 'url' => $url]); return true; } @@ -133,6 +139,7 @@ class Relay * * @param array $gserver Global server record * @param array $fields Optional network specific fields + * @return void * @throws \Exception */ public static function updateContact(array $gserver, array $fields = []) @@ -166,7 +173,7 @@ class Relay $fields['updated'] = DateTimeFormat::utcNow(); Logger::info('Update relay contact', ['server' => $gserver['url'], 'id' => $old['id'], 'fields' => $fields]); - DBA::update('contact', $fields, ['id' => $old['id']], $old); + Contact::update($fields, ['id' => $old['id']], $old); } else { $default = ['created' => DateTimeFormat::utcNow(), 'name' => 'relay', 'nick' => 'relay', 'url' => $gserver['url'], @@ -192,6 +199,7 @@ class Relay * The relay contact is a technical contact entry that exists once per server. * * @param array $contact of the relay contact + * @return void */ public static function markForArchival(array $contact) { @@ -223,15 +231,14 @@ class Relay * @param integer $item_id id of the item that is sent * @param array $contacts Previously fetched contacts * @param array $networks Networks of the relay servers - * * @return array of relay servers * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ - public static function getDirectRelayList(int $item_id) + public static function getDirectRelayList(int $item_id): array { $serverlist = []; - if (!DI::config()->get("system", "relay_directly", false)) { + if (!DI::config()->get('system', 'relay_directly', false)) { return []; } @@ -296,10 +303,10 @@ class Relay * Return a list of relay servers * * @param array $fields Field list - * @return array + * @return array List of relay servers * @throws Exception */ - public static function getList($fields = []):array + public static function getList(array $fields = []): array { return DBA::selectToArray('apcontact', $fields, ["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", 'Application', 0, Contact::FRIEND]); @@ -310,7 +317,7 @@ class Relay * * @param array $gserver Global server record * @param array $fields Fieldlist - * @return array with the contact + * @return array|bool Array with the contact or false on error * @throws \Exception */ private static function getContact(array $gserver, array $fields = ['batch', 'id', 'url', 'name', 'network', 'protocol', 'archive', 'blocked']) @@ -335,4 +342,17 @@ class Relay // It should never happen that we arrive here return []; } + + /** + * Resubscribe to all relay servers + * + * @return void + */ + public static function reSubscribe() + { + foreach (self::getList() as $server) { + $success = ActivityPub\Transmitter::sendRelayFollow($server['url']); + Logger::debug('Resubscribed', ['profile' => $server['url'], 'success' => $success]); + } + } }