- added type-hints
- added some documentation
- added default: block for unknown 'rel' value
- changed return type void to empty array
This commit is contained in:
Roland Häder 2022-06-22 05:44:57 +02:00
parent dfa95ea58d
commit abd0d9f3fd
Signed by: roland
GPG key ID: C82EDE5DDFA0BA77
5 changed files with 527 additions and 466 deletions

View file

@ -383,7 +383,7 @@ class DFRN
if ($public) { if ($public) {
// DFRN itself doesn't uses this. But maybe someone else wants to subscribe to the public feed. // DFRN itself doesn't uses this. But maybe someone else wants to subscribe to the public feed.
OStatus::hublinks($doc, $root, $owner["nick"]); OStatus::addHubLink($doc, $root, $owner["nick"]);
$attributes = ["rel" => "salmon", "href" => DI::baseUrl()."/salmon/".$owner["nick"]]; $attributes = ["rel" => "salmon", "href" => DI::baseUrl()."/salmon/".$owner["nick"]];
XML::addElement($doc, $root, "link", "", $attributes); XML::addElement($doc, $root, "link", "", $attributes);

View file

@ -1040,7 +1040,7 @@ class Feed
$attributes = ["href" => $owner["url"], "rel" => "alternate", "type" => "text/html"]; $attributes = ["href" => $owner["url"], "rel" => "alternate", "type" => "text/html"];
XML::addElement($doc, $root, "link", "", $attributes); XML::addElement($doc, $root, "link", "", $attributes);
OStatus::hublinks($doc, $root, $owner["nick"]); OStatus::addHubLink($doc, $root, $owner["nick"]);
$attributes = ["href" => DI::baseUrl() . $selfUri, "rel" => "self", "type" => "application/atom+xml"]; $attributes = ["href" => DI::baseUrl() . $selfUri, "rel" => "self", "type" => "application/atom+xml"];
XML::addElement($doc, $root, "link", "", $attributes); XML::addElement($doc, $root, "link", "", $attributes);

File diff suppressed because it is too large Load diff

View file

@ -55,7 +55,7 @@ class Relay
* @param string $url * @param string $url
* @return boolean "true" is the post is wanted by the system * @return boolean "true" is the post is wanted by the system
*/ */
public static function isSolicitedPost(array $tags, string $body, int $authorid, string $url, string $network = '') public static function isSolicitedPost(array $tags, string $body, int $authorid, string $url, string $network = ''): bool
{ {
$config = DI::config(); $config = DI::config();
@ -139,6 +139,7 @@ class Relay
* *
* @param array $gserver Global server record * @param array $gserver Global server record
* @param array $fields Optional network specific fields * @param array $fields Optional network specific fields
* @return void
* @throws \Exception * @throws \Exception
*/ */
public static function updateContact(array $gserver, array $fields = []) public static function updateContact(array $gserver, array $fields = [])
@ -198,6 +199,7 @@ class Relay
* The relay contact is a technical contact entry that exists once per server. * The relay contact is a technical contact entry that exists once per server.
* *
* @param array $contact of the relay contact * @param array $contact of the relay contact
* @return void
*/ */
public static function markForArchival(array $contact) public static function markForArchival(array $contact)
{ {
@ -229,15 +231,14 @@ class Relay
* @param integer $item_id id of the item that is sent * @param integer $item_id id of the item that is sent
* @param array $contacts Previously fetched contacts * @param array $contacts Previously fetched contacts
* @param array $networks Networks of the relay servers * @param array $networks Networks of the relay servers
*
* @return array of relay servers * @return array of relay servers
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public static function getDirectRelayList(int $item_id) public static function getDirectRelayList(int $item_id): array
{ {
$serverlist = []; $serverlist = [];
if (!DI::config()->get("system", "relay_directly", false)) { if (!DI::config()->get('system', 'relay_directly', false)) {
return []; return [];
} }
@ -302,10 +303,10 @@ class Relay
* Return a list of relay servers * Return a list of relay servers
* *
* @param array $fields Field list * @param array $fields Field list
* @return array * @return array List of relay servers
* @throws Exception * @throws Exception
*/ */
public static function getList($fields = []):array public static function getList(array $fields = []): array
{ {
return DBA::selectToArray('apcontact', $fields, return DBA::selectToArray('apcontact', $fields,
["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", 'Application', 0, Contact::FRIEND]); ["`type` = ? AND `url` IN (SELECT `url` FROM `contact` WHERE `uid` = ? AND `rel` = ?)", 'Application', 0, Contact::FRIEND]);
@ -316,7 +317,7 @@ class Relay
* *
* @param array $gserver Global server record * @param array $gserver Global server record
* @param array $fields Fieldlist * @param array $fields Fieldlist
* @return array with the contact * @return array|bool Array with the contact or false on error
* @throws \Exception * @throws \Exception
*/ */
private static function getContact(array $gserver, array $fields = ['batch', 'id', 'url', 'name', 'network', 'protocol', 'archive', 'blocked']) private static function getContact(array $gserver, array $fields = ['batch', 'id', 'url', 'name', 'network', 'protocol', 'archive', 'blocked'])
@ -344,6 +345,8 @@ class Relay
/** /**
* Resubscribe to all relay servers * Resubscribe to all relay servers
*
* @return void
*/ */
public static function reSubscribe() public static function reSubscribe()
{ {

View file

@ -40,10 +40,10 @@ class Salmon
/** /**
* @param string $uri Uniform Resource Identifier * @param string $uri Uniform Resource Identifier
* @param string $keyhash encoded key * @param string $keyhash encoded key
* @return mixed * @return string Key or empty string on any errors
* @throws \Friendica\Network\HTTPException\InternalServerErrorException * @throws \Friendica\Network\HTTPException\InternalServerErrorException
*/ */
public static function getKey(string $uri, string $keyhash) public static function getKey(string $uri, string $keyhash): string
{ {
$ret = []; $ret = [];
@ -83,13 +83,13 @@ class Salmon
Logger::notice('Key located', ['ret' => $ret]); Logger::notice('Key located', ['ret' => $ret]);
if (count($ret) == 1) { if (count($ret) == 1) {
// We only found one one key so we don't care if the hash matches. /* We only found one one key so we don't care if the hash matches.
// If it's the wrong key we'll find out soon enough because * If it's the wrong key we'll find out soon enough because
// message verification will fail. This also covers some older * message verification will fail. This also covers some older
// software which don't supply a keyhash. As long as they only * software which don't supply a keyhash. As long as they only
// have one key we'll be right. * have one key we'll be right.
*/
return $ret[0]; return (string) $ret[0];
} else { } else {
foreach ($ret as $a) { foreach ($ret as $a) {
$hash = Strings::base64UrlEncode(hash('sha256', $a)); $hash = Strings::base64UrlEncode(hash('sha256', $a));