mirror of
https://github.com/friendica/friendica
synced 2025-04-24 07:50:11 +00:00
Rewrite:
- moved constants GRAVITY_* from boot.php to Friendica\Model\Item - also rewrote some array initialization: From: ```` <?php $arr = []; $arr['foo'] = "FOO"; ```` To: ```` <?php $arr['foo'] = "FOO"; ```` - added a few type-hints
This commit is contained in:
parent
e5ae5c7e67
commit
da66730e4f
77 changed files with 547 additions and 513 deletions
|
@ -308,10 +308,10 @@ class Processor
|
|||
$item['thr-parent'] = $activity['reply-to-id'];
|
||||
|
||||
if ($activity['reply-to-id'] == $activity['id']) {
|
||||
$item['gravity'] = GRAVITY_PARENT;
|
||||
$item['gravity'] = Item::GRAVITY_PARENT;
|
||||
$item['object-type'] = Activity\ObjectType::NOTE;
|
||||
} else {
|
||||
$item['gravity'] = GRAVITY_COMMENT;
|
||||
$item['gravity'] = Item::GRAVITY_COMMENT;
|
||||
$item['object-type'] = Activity\ObjectType::COMMENT;
|
||||
}
|
||||
|
||||
|
@ -356,7 +356,7 @@ class Processor
|
|||
|
||||
$item['diaspora_signed_text'] = $activity['diaspora:comment'] ?? '';
|
||||
|
||||
if (empty($conversation) && empty($activity['directmessage']) && ($item['gravity'] != GRAVITY_PARENT) && !Post::exists(['uri' => $item['thr-parent']])) {
|
||||
if (empty($conversation) && empty($activity['directmessage']) && ($item['gravity'] != Item::GRAVITY_PARENT) && !Post::exists(['uri' => $item['thr-parent']])) {
|
||||
Logger::notice('Parent not found, message will be discarded.', ['thr-parent' => $item['thr-parent']]);
|
||||
if (!$fetch_parents) {
|
||||
Queue::remove($activity);
|
||||
|
@ -663,7 +663,7 @@ class Processor
|
|||
|
||||
$item['verb'] = $verb;
|
||||
$item['thr-parent'] = $activity['object_id'];
|
||||
$item['gravity'] = GRAVITY_ACTIVITY;
|
||||
$item['gravity'] = Item::GRAVITY_ACTIVITY;
|
||||
unset($item['post-type']);
|
||||
$item['object-type'] = Activity\ObjectType::NOTE;
|
||||
|
||||
|
@ -833,7 +833,7 @@ class Processor
|
|||
$item['body'] = Item::improveSharedDataInBody($item);
|
||||
} else {
|
||||
$parent_uri = $item['parent-uri'] ?? $item['thr-parent'];
|
||||
if (empty($activity['directmessage']) && ($parent_uri != $item['uri']) && ($item['gravity'] == GRAVITY_COMMENT)) {
|
||||
if (empty($activity['directmessage']) && ($parent_uri != $item['uri']) && ($item['gravity'] == Item::GRAVITY_COMMENT)) {
|
||||
$parent = Post::selectFirst(['id', 'uri-id', 'private', 'author-link', 'alias'], ['uri' => $parent_uri]);
|
||||
if (!DBA::isResult($parent)) {
|
||||
Logger::warning('Unknown parent item.', ['uri' => $parent_uri]);
|
||||
|
@ -937,7 +937,7 @@ class Processor
|
|||
return true;
|
||||
}
|
||||
|
||||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
if ($item['gravity'] != Item::GRAVITY_PARENT) {
|
||||
// We cannot reliably check at this point if a comment or activity belongs to an accepted post or needs to be fetched
|
||||
// This can possibly be improved in the future.
|
||||
Logger::debug('Message is no parent - accepted', ['uri-id' => $item['uri-id'], 'guid' => $item['guid'], 'url' => $item['uri']]);
|
||||
|
@ -1035,7 +1035,7 @@ class Processor
|
|||
// When a post arrives via a relay and we follow the author, we have to override the causer.
|
||||
// Otherwise the system assumes that we follow the relay. (See "addRowInformation")
|
||||
Logger::debug('Relay post for follower', ['receiver' => $receiver, 'guid' => $item['guid'], 'relay' => $activity['from-relay']]);
|
||||
$item['causer-id'] = ($item['gravity'] == GRAVITY_PARENT) ? $item['owner-id'] : $item['author-id'];
|
||||
$item['causer-id'] = ($item['gravity'] == Item::GRAVITY_PARENT) ? $item['owner-id'] : $item['author-id'];
|
||||
}
|
||||
|
||||
if ($item['isForum'] ?? false) {
|
||||
|
@ -1053,7 +1053,7 @@ class Processor
|
|||
continue;
|
||||
}
|
||||
|
||||
if (($receiver != 0) && ($item['gravity'] == GRAVITY_PARENT) && !in_array($item['post-reason'], [Item::PR_FOLLOWER, Item::PR_TAG, item::PR_TO, Item::PR_CC])) {
|
||||
if (($receiver != 0) && ($item['gravity'] == Item::GRAVITY_PARENT) && !in_array($item['post-reason'], [Item::PR_FOLLOWER, Item::PR_TAG, item::PR_TO, Item::PR_CC])) {
|
||||
if (!($item['isForum'] ?? false)) {
|
||||
if ($item['post-reason'] == Item::PR_BCC) {
|
||||
Logger::info('Top level post via BCC from a non sharer, ignoring', ['uid' => $receiver, 'contact' => $item['contact-id'], 'url' => $item['uri']]);
|
||||
|
@ -1088,7 +1088,7 @@ class Processor
|
|||
continue;
|
||||
}
|
||||
|
||||
if (($item['gravity'] != GRAVITY_ACTIVITY) && ($activity['object_type'] == 'as:Event')) {
|
||||
if (($item['gravity'] != Item::GRAVITY_ACTIVITY) && ($activity['object_type'] == 'as:Event')) {
|
||||
$event_id = self::createEvent($activity, $item);
|
||||
|
||||
$item = Event::getItemArrayForImportedId($event_id, $item);
|
||||
|
@ -1118,7 +1118,7 @@ class Processor
|
|||
}
|
||||
|
||||
// Store send a follow request for every reshare - but only when the item had been stored
|
||||
if ($stored && ($item['private'] != Item::PRIVATE) && ($item['gravity'] == GRAVITY_PARENT) && !empty($item['author-link']) && ($item['author-link'] != $item['owner-link'])) {
|
||||
if ($stored && ($item['private'] != Item::PRIVATE) && ($item['gravity'] == Item::GRAVITY_PARENT) && !empty($item['author-link']) && ($item['author-link'] != $item['owner-link'])) {
|
||||
$author = APContact::getByURL($item['owner-link'], false);
|
||||
// We send automatic follow requests for reshared messages. (We don't need though for forum posts)
|
||||
if ($author['type'] != 'Group') {
|
||||
|
@ -1138,7 +1138,7 @@ class Processor
|
|||
*/
|
||||
private static function hasParents(array $item, int $receiver)
|
||||
{
|
||||
if (($receiver == 0) || ($item['gravity'] == GRAVITY_PARENT)) {
|
||||
if (($receiver == 0) || ($item['gravity'] == Item::GRAVITY_PARENT)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1149,7 +1149,7 @@ class Processor
|
|||
if ($item['verb'] != Activity::ANNOUNCE) {
|
||||
switch (DI::pConfig()->get($receiver, 'system', 'accept_only_sharer')) {
|
||||
case Item::COMPLETION_COMMENT:
|
||||
$add_parent = ($item['gravity'] != GRAVITY_ACTIVITY);
|
||||
$add_parent = ($item['gravity'] != Item::GRAVITY_ACTIVITY);
|
||||
break;
|
||||
|
||||
case Item::COMPLETION_NONE:
|
||||
|
@ -1283,7 +1283,7 @@ class Processor
|
|||
*/
|
||||
private static function postMail(array $activity, array $item)
|
||||
{
|
||||
if (($item['gravity'] != GRAVITY_PARENT) && !DBA::exists('mail', ['uri' => $item['thr-parent'], 'uid' => $item['uid']])) {
|
||||
if (($item['gravity'] != Item::GRAVITY_PARENT) && !DBA::exists('mail', ['uri' => $item['thr-parent'], 'uid' => $item['uid']])) {
|
||||
Logger::info('Parent not found, mail will be discarded.', ['uid' => $item['uid'], 'uri' => $item['thr-parent']]);
|
||||
return false;
|
||||
}
|
||||
|
@ -1859,7 +1859,7 @@ class Processor
|
|||
return;
|
||||
}
|
||||
|
||||
Item::markForDeletion(['uri' => $activity['object_id'], 'author-id' => $author_id, 'gravity' => GRAVITY_ACTIVITY]);
|
||||
Item::markForDeletion(['uri' => $activity['object_id'], 'author-id' => $author_id, 'gravity' => Item::GRAVITY_ACTIVITY]);
|
||||
Queue::remove($activity);
|
||||
}
|
||||
|
||||
|
|
|
@ -264,7 +264,7 @@ class Receiver
|
|||
}
|
||||
}
|
||||
|
||||
if (Post::exists(['uri' => $object_id, 'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT]])) {
|
||||
if (Post::exists(['uri' => $object_id, 'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT]])) {
|
||||
// We just assume "note" since it doesn't make a difference for the further processing
|
||||
return 'as:Note';
|
||||
}
|
||||
|
|
|
@ -266,7 +266,7 @@ class Transmitter
|
|||
$condition = array_merge($condition, [
|
||||
'uid' => $owner['uid'],
|
||||
'author-id' => Contact::getIdForURL($owner['url'], 0, false),
|
||||
'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT],
|
||||
'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT],
|
||||
'network' => Protocol::FEDERATED,
|
||||
'parent-network' => Protocol::FEDERATED,
|
||||
'origin' => true,
|
||||
|
@ -351,7 +351,7 @@ class Transmitter
|
|||
'uid' => $owner['uid'],
|
||||
'author-id' => $owner_cid,
|
||||
'private' => [Item::PUBLIC, Item::UNLISTED],
|
||||
'gravity' => [GRAVITY_PARENT, GRAVITY_COMMENT],
|
||||
'gravity' => [Item::GRAVITY_PARENT, Item::GRAVITY_COMMENT],
|
||||
'network' => Protocol::FEDERATED,
|
||||
'parent-network' => Protocol::FEDERATED,
|
||||
'origin' => true,
|
||||
|
@ -577,7 +577,7 @@ class Transmitter
|
|||
$item_profile = APContact::getByURL($item['author-link']);
|
||||
$exclude[] = $item['author-link'];
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
if ($item['gravity'] == Item::GRAVITY_PARENT) {
|
||||
$exclude[] = $item['owner-link'];
|
||||
}
|
||||
|
||||
|
@ -665,7 +665,7 @@ class Transmitter
|
|||
|
||||
$data = ['to' => [], 'cc' => [], 'bcc' => []];
|
||||
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
if ($item['gravity'] == Item::GRAVITY_PARENT) {
|
||||
$actor_profile = APContact::getByURL($item['owner-link']);
|
||||
} else {
|
||||
$actor_profile = APContact::getByURL($item['author-link']);
|
||||
|
@ -753,10 +753,10 @@ class Transmitter
|
|||
if (!empty($item['parent'])) {
|
||||
$parents = Post::select(['id', 'author-link', 'owner-link', 'gravity', 'uri'], ['parent' => $item['parent']], ['order' => ['id']]);
|
||||
while ($parent = Post::fetch($parents)) {
|
||||
if ($parent['gravity'] == GRAVITY_PARENT) {
|
||||
if ($parent['gravity'] == Item::GRAVITY_PARENT) {
|
||||
$profile = APContact::getByURL($parent['owner-link'], false);
|
||||
if (!empty($profile)) {
|
||||
if ($item['gravity'] != GRAVITY_PARENT) {
|
||||
if ($item['gravity'] != Item::GRAVITY_PARENT) {
|
||||
// Comments to forums are directed to the forum
|
||||
// But comments to forums aren't directed to the followers collection
|
||||
// This rule is only valid when the actor isn't the forum.
|
||||
|
@ -971,7 +971,7 @@ class Transmitter
|
|||
|
||||
$inboxes = [];
|
||||
|
||||
if ($item['gravity'] == GRAVITY_ACTIVITY) {
|
||||
if ($item['gravity'] == Item::GRAVITY_ACTIVITY) {
|
||||
$item_profile = APContact::getByURL($item['author-link'], false);
|
||||
} else {
|
||||
$item_profile = APContact::getByURL($item['owner-link'], false);
|
||||
|
@ -1060,7 +1060,7 @@ class Transmitter
|
|||
$mail['parent-uri'] = $reply['uri'];
|
||||
$mail['parent-uri-id'] = $reply['uri-id'];
|
||||
$mail['parent-author-id'] = Contact::getIdForURL($reply['from-url'], 0, false);
|
||||
$mail['gravity'] = ($mail['reply'] ? GRAVITY_COMMENT: GRAVITY_PARENT);
|
||||
$mail['gravity'] = ($mail['reply'] ? Item::GRAVITY_COMMENT: Item::GRAVITY_PARENT);
|
||||
$mail['event-type'] = '';
|
||||
$mail['language'] = '';
|
||||
$mail['parent'] = 0;
|
||||
|
@ -1245,7 +1245,7 @@ class Transmitter
|
|||
if (!$object_mode) {
|
||||
$data = ['@context' => $context ?? ActivityPub::CONTEXT];
|
||||
|
||||
if ($item['deleted'] && ($item['gravity'] == GRAVITY_ACTIVITY)) {
|
||||
if ($item['deleted'] && ($item['gravity'] == Item::GRAVITY_ACTIVITY)) {
|
||||
$type = 'Undo';
|
||||
} elseif ($item['deleted']) {
|
||||
$type = 'Delete';
|
||||
|
@ -1256,7 +1256,7 @@ class Transmitter
|
|||
|
||||
if ($type == 'Delete') {
|
||||
$data['id'] = Item::newURI($item['guid']) . '/' . $type;;
|
||||
} elseif (($item['gravity'] == GRAVITY_ACTIVITY) && ($type != 'Undo')) {
|
||||
} elseif (($item['gravity'] == Item::GRAVITY_ACTIVITY) && ($type != 'Undo')) {
|
||||
$data['id'] = $item['uri'];
|
||||
} else {
|
||||
$data['id'] = $item['uri'] . '/' . $type;
|
||||
|
@ -1264,7 +1264,7 @@ class Transmitter
|
|||
|
||||
$data['type'] = $type;
|
||||
|
||||
if (($type != 'Announce') || ($item['gravity'] != GRAVITY_PARENT)) {
|
||||
if (($type != 'Announce') || ($item['gravity'] != Item::GRAVITY_PARENT)) {
|
||||
$data['actor'] = $item['author-link'];
|
||||
} else {
|
||||
$data['actor'] = $item['owner-link'];
|
||||
|
@ -1557,7 +1557,7 @@ class Transmitter
|
|||
// We are treating posts differently when they are directed to a community.
|
||||
// This is done to better support Lemmy. Most of the changes should work with other systems as well.
|
||||
// But to not risk compatibility issues we currently perform the changes only for communities.
|
||||
if ($item['gravity'] == GRAVITY_PARENT) {
|
||||
if ($item['gravity'] == Item::GRAVITY_PARENT) {
|
||||
$isCommunityPost = !empty(Tag::getByURIId($item['uri-id'], [Tag::EXCLUSIVE_MENTION]));
|
||||
$links = Post\Media::getByURIId($item['uri-id'], [Post\Media::HTML]);
|
||||
if ($isCommunityPost && (count($links) == 1)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue