+ $quotes = Post::select(array_merge(ItemModel::DISPLAY_FIELDLIST, ['featured', 'contact-uid', 'gravity', 'post-type', 'post-reason']), ['quote-uri-id' => array_column($quote_uri_ids, 'uri-id'), 'body' => '', 'uid' => 0]);
+ while ($quote = Post::fetch($quotes)) {
+ $row = $quote;
+
+ $row['uid'] = $uid;
+ $row['verb'] = $row['body'] = $row['raw-body'] = Activity::ANNOUNCE;
+ $row['gravity'] = ItemModel::GRAVITY_ACTIVITY;
+ $row['object-type'] = Activity\ObjectType::NOTE;
+ $row['parent-uri'] = $quote_uri_ids[$quote['quote-uri-id']]['parent-uri'];
+ $row['parent-uri-id'] = $quote_uri_ids[$quote['quote-uri-id']]['parent-uri-id'];
+ $row['thr-parent'] = $quote_uri_ids[$quote['quote-uri-id']]['uri'];
+ $row['thr-parent-id'] = $quote_uri_ids[$quote['quote-uri-id']]['uri-id'];
+
+ $authors[] = $row['author-id'];
+ $authors[] = $row['owner-id'];
+
+ $items[$row['uri-id']] = $this->addRowInformation($row, [], []);
+ }
+ DBA::close($quotes);
+
+ $authors = array_unique($authors);
+
+ $blocks = [];
+ $ignores = [];
+ $collapses = [];
+ if (!empty($authors)) {
+ $usercontacts = DBA::select('user-contact', ['cid', 'blocked', 'ignored', 'collapsed'], ['uid' => $uid, 'cid' => $authors]);
+ while ($usercontact = DBA::fetch($usercontacts)) {
+ if ($usercontact['blocked']) {
+ $blocks[] = $usercontact['cid'];
+ }
+ if ($usercontact['ignored']) {
+ $ignores[] = $usercontact['cid'];
+ }
+ if ($usercontact['collapsed']) {
+ $collapses[] = $usercontact['cid'];
+ }
+ }
+ DBA::close($usercontacts);
+ }
+
+ foreach ($items as $key => $row) {
+ $items[$key]['emojis'] = $emojis[$key] ?? [];
+
+ $always_display = in_array($mode, [self::MODE_CONTACTS, self::MODE_CONTACT_POSTS]);
+
+ $items[$key]['user-blocked-author'] = !$always_display && in_array($row['author-id'], $blocks);
+ $items[$key]['user-ignored-author'] = !$always_display && in_array($row['author-id'], $ignores);
+ $items[$key]['user-blocked-owner'] = !$always_display && in_array($row['owner-id'], $blocks);
+ $items[$key]['user-ignored-owner'] = !$always_display && in_array($row['owner-id'], $ignores);
+ $items[$key]['user-collapsed-author'] = !$always_display && in_array($row['author-id'], $collapses);
+ $items[$key]['user-collapsed-owner'] = !$always_display && in_array($row['owner-id'], $collapses);
+
+ if (in_array($mode, [self::MODE_COMMUNITY, self::MODE_NETWORK]) &&
+ (in_array($row['author-id'], $blocks) || in_array($row['owner-id'], $blocks) || in_array($row['author-id'], $ignores) || in_array($row['owner-id'], $ignores))) {
+ unset($items[$key]);
+ }
+ }
+