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\Proxy;
use Friendica\Util\XML;
/**
$uid = $item['uid'] ?: $uid;
- if (!Post\Category::existsForURIId($item['uri-id'], $uid)) {
+ if (empty($item['has-categories'])) {
return [$categories, $folders];
}
// Search for forum mentions
foreach (Tag::getFromBody($item['body'], Tag::TAG_CHARACTER[Tag::MENTION] . Tag::TAG_CHARACTER[Tag::EXCLUSIVE_MENTION]) as $tag) {
$contact = Contact::getByURLForUser($tag[2], $item['uid']);
+ if (empty($contact)) {
+ continue;
+ }
$receivers[] = $contact['id'];
}
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;
+ }
}