]> git.mxchange.org Git - friendica.git/blobdiff - src/Protocol/ActivityPub/Processor.php
Merge remote-tracking branch 'upstream/develop' into loop-prevention
[friendica.git] / src / Protocol / ActivityPub / Processor.php
index ef4e1097642ef3a6a8bf75547322d8ec27b22eb3..d84453f7367765936d02563f42dbaadf5ca515fc 100644 (file)
@@ -26,7 +26,6 @@ use Friendica\Content\Text\HTML;
 use Friendica\Content\Text\Markdown;
 use Friendica\Core\Logger;
 use Friendica\Core\Protocol;
-use Friendica\Core\System;
 use Friendica\Database\DBA;
 use Friendica\DI;
 use Friendica\Model\APContact;
@@ -192,10 +191,6 @@ class Processor
         */
        public static function createItem($activity)
        {
-               if (empty($activity['reply-to-id'])) {
-                       $activity['reply-to-id'] = $activity['id'];
-               }
-
                $item = [];
                $item['verb'] = Activity::POST;
                $item['thr-parent'] = $activity['reply-to-id'];
@@ -401,6 +396,8 @@ class Processor
         *
         * @param array $activity Activity array
         * @param array $item
+        * 
+        * @return int event id
         * @throws \Exception
         */
        public static function createEvent($activity, $item)
@@ -424,14 +421,16 @@ class Processor
                $event['direction'] = $item['direction'];
                $event['source']    = $item['source'];
 
-               $condition = ['uri' => $item['uri'], 'uid' => $item['uid']];
-               $ev = DBA::selectFirst('event', ['id'], $condition);
+               $ev = DBA::selectFirst('event', ['id'], ['uri' => $item['uri'], 'uid' => $item['uid']]);
                if (DBA::isResult($ev)) {
                        $event['id'] = $ev['id'];
                }
 
                $event_id = Event::store($event);
+
                Logger::info('Event was stored', ['id' => $event_id]);
+
+               return $event_id;
        }
 
        /**
@@ -630,7 +629,9 @@ class Processor
                        }
 
                        if (($item['gravity'] != GRAVITY_ACTIVITY) && ($activity['object_type'] == 'as:Event')) {
-                               self::createEvent($activity, $item);
+                               $event_id = self::createEvent($activity, $item);
+
+                               $item = Event::getItemArrayForId($event_id, $item);
                        }
 
                        $item_id = Item::insert($item);