+ return $event['id'];
+ }
+
+ public static function getItemArrayForId(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;
+ }
+
+ if ($event['cid']) {
+ $conditions = ['id' => $event['cid']];
+ } else {
+ $conditions = ['uid' => $event['uid'], 'self' => true];
+ }
+
+ $contact = DBA::selectFirst('contact', [], $conditions);
+
+ $event['id'] = $event_id;
+
+ $item['uid'] = $event['uid'];
+ $item['contact-id'] = $event['cid'];
+ $item['uri'] = $event['uri'];
+ $item['uri-id'] = ItemURI::getIdByURI($event['uri']);
+ $item['guid'] = $event['guid'];
+ $item['plink'] = $arr['plink'] ?? '';
+ $item['post-type'] = Item::PT_EVENT;
+ $item['wall'] = $event['cid'] ? 0 : 1;
+ $item['contact-id'] = $contact['id'];
+ $item['owner-name'] = $contact['name'];
+ $item['owner-link'] = $contact['url'];
+ $item['owner-avatar'] = $contact['thumb'];
+ $item['author-name'] = $contact['name'];
+ $item['author-link'] = $contact['url'];
+ $item['author-avatar'] = $contact['thumb'];
+ $item['title'] = '';
+ $item['allow_cid'] = $event['allow_cid'];
+ $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['visible'] = 1;
+ $item['verb'] = Activity::POST;
+ $item['object-type'] = Activity\ObjectType::EVENT;
+ $item['post-type'] = Item::PT_EVENT;
+ $item['origin'] = $event['cid'] === 0 ? 1 : 0;
+ $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;
+ }
+
+ 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;