/**
* Update an existing event
*
- * @param int $event_id
- * @param array $activity
+ * @param int $event_id
+ * @param array $activity
*/
private static function updateEvent(int $event_id, array $activity)
{
Logger::debug('Message is private - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]);
return true;
}
-
+
if (!empty($activity['from-relay'])) {
// We check relay posts at another place. When it arrived here, the message is already checked.
Logger::debug('Message is a relay post that is already checked - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]);
}
$tags = array_column(Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]), 'name');
- return Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::ACTIVITYPUB);
+ if (Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::ACTIVITYPUB)) {
+ Logger::debug('Post is accepted because of the relay settings', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]);
+ return true;
+ } else {
+ return false;
+ }
}
/**
* Checks if an incoming message is wanted
*
* @param array $item
+ * @param array $imporer
* @return boolean Is the message wanted?
*/
- private static function isSolicitedMessage(array $item)
+ private static function isSolicitedMessage(array $item, array $importer)
{
if (DBA::exists('contact', ["`nurl` = ? AND `uid` != ? AND `rel` IN (?, ?)",
Strings::normaliseLink($item["author-link"]), 0, Contact::FRIEND, Contact::SHARING])) {
return true;
}
+ if ($importer['importer_uid'] != 0) {
+ Logger::debug('Message is directed to a user - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri'], 'importer' => $importer['importer_uid']]);
+ return true;
+ }
+
+ if ($item['uri'] != $item['thr-parent']) {
+ Logger::debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]);
+ return true;
+ }
+
$tags = array_column(Tag::getByURIId($item['uri-id'], [Tag::HASHTAG]), 'name');
- return Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::DFRN);
+ if (Relay::isSolicitedPost($tags, $item['body'], $item['author-id'], $item['uri'], Protocol::DFRN)) {
+ Logger::debug('Post is accepted because of the relay settings', ['uri' => $item['uri'], 'author' => $item["author-link"]]);
+ return true;
+ } else {
+ return false;
+ }
}
/**
}
// Check if the message is wanted
- if (($importer['importer_uid'] == 0) && ($item['uri'] == $item['thr-parent'])) {
- if (!self::isSolicitedMessage($item)) {
- DBA::delete('item-uri', ['uri' => $item['uri']]);
- return 403;
- }
+ if (!self::isSolicitedMessage($item, $importer)) {
+ DBA::delete('item-uri', ['uri' => $item['uri']]);
+ return 403;
}
// Get the type of the item (Top level post, reply or remote reply)
}
$tags = array_column(Tag::getByURIId($uriid, [Tag::HASHTAG]), 'name');
- return Relay::isSolicitedPost($tags, $body, $contact['id'], $url, Protocol::DIASPORA);
+ if (Relay::isSolicitedPost($tags, $body, $contact['id'], $url, Protocol::DIASPORA)) {
+ Logger::debug('Post is accepted because of the relay settings', ['url' => $url, 'author' => $author]);
+ return true;
+ } else {
+ return false;
+ }
}
/**
* @param SimpleXMLElement $data The message object
* @param string $xml The original XML of the message
* @param int $direction Indicates if the message had been fetched or pushed
- *
+ *
* @return int The message id of the newly created item
* @throws \Friendica\Network\HTTPException\InternalServerErrorException
* @throws \ImagickException