X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FItem.php;h=240de4c741cba9f63a7a5dddbda42e4077a2c474;hb=65b86fe0d556829c09e8c8f5c707b868ad37dfe1;hp=f6906b79629b142417ca4c77a375d85c09bdca32;hpb=e351122cc5bc8b451fea520571911d3b7095bc0b;p=friendica.git diff --git a/src/Content/Item.php b/src/Content/Item.php index f6906b7962..240de4c741 100644 --- a/src/Content/Item.php +++ b/src/Content/Item.php @@ -26,16 +26,16 @@ use Friendica\Core\Hook; use Friendica\Core\L10n; use Friendica\Core\Logger; use Friendica\Core\Protocol; -use Friendica\Core\Session; use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Model\Group; use Friendica\Model\Item as ModelItem; +use Friendica\Model\Photo; use Friendica\Model\Tag; use Friendica\Model\Post; use Friendica\Protocol\Activity; use Friendica\Util\Profiler; -use Friendica\Util\Strings; +use Friendica\Util\Proxy; use Friendica\Util\XML; /** @@ -93,6 +93,10 @@ class Item $uid = $item['uid'] ?: $uid; + if (!Post\Category::existsForURIId($item['uri-id'], $uid)) { + return [$categories, $folders]; + } + foreach (Post\Category::getArrayByURIId($item['uri-id'], $uid, Post\Category::CATEGORY) as $savedFolderName) { if (!empty($item['author-link'])) { $url = $item['author-link'] . "?category=" . rawurlencode($savedFolderName); @@ -353,22 +357,6 @@ class Item } } - $matches = null; - if (preg_match_all('/@\[url=(.*?)\]/is', $item['body'], $matches, PREG_SET_ORDER)) { - foreach ($matches as $mtch) { - if (!strpos($mtch[1], 'zrl=')) { - $item['body'] = str_replace($mtch[0], '@[url=' . Contact::magicLink($mtch[1]) . ']', $item['body']); - } - } - } - - // add sparkle links to appropriate permalinks - // Only create a redirection to a magic link when logged in - if (!empty($item['plink']) && Session::isAuthenticated() && $item['private'] == ModelItem::PRIVATE) { - $author = ['uid' => 0, 'id' => $item['author-id'], - 'network' => $item['author-network'], 'url' => $item['author-link']]; - $item['plink'] = Contact::magicLinkByContact($author, $item['plink']); - } $this->profiler->stopRecording(); } @@ -398,7 +386,7 @@ class Item $pcid = $item['author-id']; $network = ''; $rel = 0; - $condition = ['uid' => local_user(), 'nurl' => Strings::normaliseLink($item['author-link'])]; + $condition = ['uid' => local_user(), 'uri-id' => $item['author-uri-id']]; $contact = DBA::selectFirst('contact', ['id', 'network', 'rel'], $condition); if (DBA::isResult($contact)) { $cid = $contact['id']; @@ -577,4 +565,43 @@ class Item } return $item; } + + public function getAuthorAvatar(array $item): string + { + if (in_array($item['network'], [Protocol::FEED, Protocol::MAIL])) { + $author_avatar = $item['contact-id']; + $author_updated = ''; + $author_thumb = $item['contact-avatar']; + } else { + $author_avatar = $item['author-id']; + $author_updated = $item['author-updated']; + $author_thumb = $item['author-avatar']; + } + + + if (empty($author_thumb) || Photo::isPhotoURI($author_thumb)) { + $author_thumb = Contact::getAvatarUrlForId($author_avatar, Proxy::SIZE_THUMB, $author_updated); + } + + return $author_thumb; + } + + public function getOwnerAvatar(array $item): string + { + if (in_array($item['network'], [Protocol::FEED, Protocol::MAIL])) { + $owner_avatar = $item['contact-id']; + $owner_updated = ''; + $owner_thumb = $item['contact-avatar']; + } else { + $owner_avatar = $item['owner-id']; + $owner_updated = $item['owner-updated']; + $owner_thumb = $item['owner-avatar']; + } + + if (empty($owner_thumb) || Photo::isPhotoURI($owner_thumb)) { + $owner_thumb = Contact::getAvatarUrlForId($owner_avatar, Proxy::SIZE_THUMB, $owner_updated); + } + + return $owner_thumb; + } }