AP: Follow a note to receive all upcoming activities

This commit is contained in:
Michael 2019-01-30 16:30:01 +00:00
parent 25aa3cff1b
commit fce46f5124
2 changed files with 41 additions and 1 deletions

View file

@ -208,7 +208,8 @@ class Receiver
}
// We had been able to retrieve the object data - so we can trust the source
$trust_source = true;
} elseif (in_array($type, ['as:Like', 'as:Dislike'])) {
} elseif (in_array($type, ['as:Like', 'as:Dislike']) ||
(($type == 'as:Follow') && in_array($object_type, self::CONTENT_TYPES))) {
// Create a mostly empty array out of the activity data (instead of the object).
// This way we later don't have to check for the existence of ech individual array element.
$object_data = self::processObject($activity);
@ -394,6 +395,9 @@ class Receiver
case 'as:Follow':
if (in_array($object_data['object_type'], self::ACCOUNT_TYPES)) {
ActivityPub\Processor::followUser($object_data);
} elseif (in_array($object_data['object_type'], self::CONTENT_TYPES)) {
$object_data['reply-to-id'] = $object_data['object_id'];
ActivityPub\Processor::createActivity($object_data, ACTIVITY_FOLLOW);
}
break;