X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FProtocol%2FActivityPub%2FProcessor.php;h=948a3983bc1d6bde8d9ff02a3792af0c715b3bb9;hb=bd8032f2baa0e77cdf537093bd2fc7edf6f9a85d;hp=bd198fb30e6637994094c3f176f01f881cbcbd4a;hpb=8357deb28cffc3803dea27cd3ad566157ae1c4bf;p=friendica.git diff --git a/src/Protocol/ActivityPub/Processor.php b/src/Protocol/ActivityPub/Processor.php index bd198fb30e..948a3983bc 100644 --- a/src/Protocol/ActivityPub/Processor.php +++ b/src/Protocol/ActivityPub/Processor.php @@ -180,6 +180,38 @@ class Processor } Item::update($item, ['uri' => $activity['id']]); + + if ($activity['object_type'] == 'as:Event') { + $posts = Post::select(['event-id', 'uid'], ['uri' => $activity['id']]); + while ($post = DBA::fetch($posts)) { + if (empty($post['event-id'])) { + continue; + } + self::updateEvent($post['event-id'], $activity); + } + } + } + + /** + * Update an existing event + * + * @param int $event_id + * @param array $activity + */ + private static function updateEvent(int $event_id, array $activity) + { + $event = DBA::selectFirst('event', [], ['id' => $event_id]); + + $event['edited'] = DateTimeFormat::utc($activity['updated']); + $event['summary'] = HTML::toBBCode($activity['name']); + $event['desc'] = HTML::toBBCode($activity['content']); + $event['start'] = $activity['start-time']; + $event['finish'] = $activity['end-time']; + $event['nofinish'] = empty($event['finish']); + $event['location'] = $activity['location']; + + Logger::info('Updating event', ['uri' => $activity['id'], 'id' => $event_id]); + Event::store($event); } /**