]> git.mxchange.org Git - friendica.git/commitdiff
Simplify event storing
authorMichael <heluecht@pirati.ca>
Tue, 10 Aug 2021 10:24:14 +0000 (10:24 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 10 Aug 2021 10:24:14 +0000 (10:24 +0000)
src/Model/Event.php
src/Model/Item.php
src/Protocol/ActivityPub/Processor.php
src/Protocol/DFRN.php

index 924fc7eca3ce83006ef9a29d647564bdfe0d4112..331a77e3f1e8a1bd3d1f76aceda3bd94043f4568 100644 (file)
@@ -337,12 +337,12 @@ class Event
        public static function getItemArrayForId(int $event_id, array $item = []):array
        {
                if (empty($event_id)) {
-                       return [];
+                       return $item;
                }
 
                $event = DBA::selectFirst('event', [], ['id' => $event_id]);
                if ($event['type'] != 'event') {
-                       return [];
+                       return $item;
                }
 
                if ($event['cid']) {
@@ -375,7 +375,7 @@ class Event
                $item['allow_gid']     = $event['allow_gid'];
                $item['deny_cid']      = $event['deny_cid'];
                $item['deny_gid']      = $event['deny_gid'];
-               $item['private']       = intval($event['private'] ?? 0);;
+               $item['private']       = intval($event['private'] ?? 0);
                $item['visible']       = 1;
                $item['verb']          = Activity::POST;
                $item['object-type']   = Activity\ObjectType::EVENT;
@@ -391,6 +391,30 @@ class Event
                return $item;
        }
 
+       public static function getItemArrayForImportedId(int $event_id, array $item = []):array
+       {
+               if (empty($event_id)) {
+                       return $item;
+               }
+
+               $event = DBA::selectFirst('event', [], ['id' => $event_id]);
+               if ($event['type'] != 'event') {
+                       return $item;
+               }
+
+               $item['post-type']     = Item::PT_EVENT;
+               $item['title']         = '';
+               $item['object-type']   = Activity\ObjectType::EVENT;
+               $item['body']          = self::getBBCode($event);
+               $item['event-id']      = $event_id;
+
+               $item['object']  = '<object><type>' . XML::escape(Activity\ObjectType::EVENT) . '</type><title></title><id>' . XML::escape($event['uri']) . '</id>';
+               $item['object'] .= '<content>' . XML::escape(self::getBBCode($event)) . '</content>';
+               $item['object'] .= '</object>' . "\n";
+
+               return $item;
+       }
+
        /**
         * Create an array with translation strings used for events.
         *
index 441808ea91116fd91be00de98554c39d15d51fa0..beb7db5764773a41f2909bead2446d8e644a5f1d 100644 (file)
@@ -1039,7 +1039,7 @@ class Item
                                }
 
                                $event_id = Event::store($ev);
-                               $item = Event::getItemArrayForId($event_id, $item);
+                               $item = Event::getItemArrayForImportedId($event_id, $item);
 
                                Logger::info('Event was stored', ['id' => $event_id]);
                        }
index d84453f7367765936d02563f42dbaadf5ca515fc..496e735534ac413fae5265cf5e7fa5e6e698f806 100644 (file)
@@ -631,7 +631,7 @@ class Processor
                        if (($item['gravity'] != GRAVITY_ACTIVITY) && ($activity['object_type'] == 'as:Event')) {
                                $event_id = self::createEvent($activity, $item);
 
-                               $item = Event::getItemArrayForId($event_id, $item);
+                               $item = Event::getItemArrayForImportedId($event_id, $item);
                        }
 
                        $item_id = Item::insert($item);
index 3c28aca901d05427aab507d7fbd646529eb8f5b0..832e2bde23f7952c1dd658cef1c61760c4953b49 100644 (file)
@@ -1978,7 +1978,7 @@ class DFRN
                                        $event_id = Event::store($ev);
                                        Logger::info('Event was stored', ['id' => $event_id]);
 
-                                       $item = Event::getItemArrayForId($event_id, $item);
+                                       $item = Event::getItemArrayForImportedId($event_id, $item);
                                }
                        }
                }