Don't accept ignored author via relay
This commit is contained in:
parent
9cd9ad647d
commit
9b1918c650
4 changed files with 19 additions and 4 deletions
|
@ -806,6 +806,9 @@ class Processor
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$attributed_to = JsonLD::fetchElement($activity['as:object'], 'as:attributedTo', '@id');
|
||||||
|
$authorid = Contact::getIdForURL($attributed_to);
|
||||||
|
|
||||||
$body = HTML::toBBCode(JsonLD::fetchElement($activity['as:object'], 'as:content', '@value'));
|
$body = HTML::toBBCode(JsonLD::fetchElement($activity['as:object'], 'as:content', '@value'));
|
||||||
|
|
||||||
$messageTags = [];
|
$messageTags = [];
|
||||||
|
@ -819,7 +822,7 @@ class Processor
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return Relay::isSolicitedPost($messageTags, $body, $id, Protocol::ACTIVITYPUB);
|
return Relay::isSolicitedPost($messageTags, $body, $authorid, $id, Protocol::ACTIVITYPUB);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2277,7 +2277,7 @@ class DFRN
|
||||||
|
|
||||||
$taglist = Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]);
|
$taglist = Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]);
|
||||||
$tags = array_column($taglist, 'name');
|
$tags = array_column($taglist, 'name');
|
||||||
return Relay::isSolicitedPost($tags, $item['body'], $item['uri'], Protocol::DFRN);
|
return Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::DFRN);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -2807,7 +2807,7 @@ class Diaspora
|
||||||
|
|
||||||
$taglist = Tag::getByURIId($uriid, [Tag::HASHTAG]);
|
$taglist = Tag::getByURIId($uriid, [Tag::HASHTAG]);
|
||||||
$tags = array_column($taglist, 'name');
|
$tags = array_column($taglist, 'name');
|
||||||
return Relay::isSolicitedPost($tags, $body, $url, Protocol::DIASPORA);
|
return Relay::isSolicitedPost($tags, $body, $contact['id'], $url, Protocol::DIASPORA);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -24,6 +24,7 @@ namespace Friendica\Protocol;
|
||||||
use Friendica\Content\Text\BBCode;
|
use Friendica\Content\Text\BBCode;
|
||||||
use Friendica\Core\Logger;
|
use Friendica\Core\Logger;
|
||||||
use Friendica\DI;
|
use Friendica\DI;
|
||||||
|
use Friendica\Model\Contact;
|
||||||
use Friendica\Model\Search;
|
use Friendica\Model\Search;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -36,10 +37,11 @@ class Relay
|
||||||
*
|
*
|
||||||
* @param array $tags
|
* @param array $tags
|
||||||
* @param string $body
|
* @param string $body
|
||||||
|
* @param int $authorid
|
||||||
* @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, string $url, string $network = '')
|
public static function isSolicitedPost(array $tags, string $body, int $authorid, string $url, string $network = '')
|
||||||
{
|
{
|
||||||
$config = DI::config();
|
$config = DI::config();
|
||||||
|
|
||||||
|
@ -55,6 +57,16 @@ class Relay
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Contact::isBlocked($authorid)) {
|
||||||
|
Logger::info('Author is blocked - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Contact::isHidden($authorid)) {
|
||||||
|
Logger::info('Author is hidden - rejected', ['author' => $authorid, 'network' => $network, 'url' => $url]);
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
$systemTags = [];
|
$systemTags = [];
|
||||||
$userTags = [];
|
$userTags = [];
|
||||||
$denyTags = [];
|
$denyTags = [];
|
||||||
|
|
Loading…
Reference in a new issue