X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FContent%2FItem.php;h=163db89aa472c6b698cffb5ca92d244d9d7b4b4f;hb=06a1db4f24bffbb6027f6341879345bde7212ecc;hp=d8e7cecc3c23a18dce69f8536ee6bd47cb399515;hpb=b9bb525fe91c176ada2323c2d628291a27594d59;p=friendica.git diff --git a/src/Content/Item.php b/src/Content/Item.php index d8e7cecc3c..163db89aa4 100644 --- a/src/Content/Item.php +++ b/src/Content/Item.php @@ -34,15 +34,16 @@ use Friendica\Core\Protocol; use Friendica\Core\Session\Capability\IHandleUserSessions; use Friendica\Core\System; use Friendica\Database\DBA; +use Friendica\DI; use Friendica\Model\Attach; +use Friendica\Model\Circle; use Friendica\Model\Contact; use Friendica\Model\Conversation; use Friendica\Model\FileTag; -use Friendica\Model\Circle; use Friendica\Model\Item as ItemModel; use Friendica\Model\Photo; -use Friendica\Model\Tag; use Friendica\Model\Post; +use Friendica\Model\Tag; use Friendica\Model\User; use Friendica\Network\HTTPException; use Friendica\Object\EMail\ItemCCEMail; @@ -54,6 +55,7 @@ use Friendica\Util\ParseUrl; use Friendica\Util\Profiler; use Friendica\Util\Proxy; use Friendica\Util\XML; +use GuzzleHttp\Psr7\Uri; /** * A content helper class for displaying items @@ -367,7 +369,7 @@ class Item { $this->profiler->startRecording('rendering'); $sub_link = $contact_url = $pm_url = $status_link = ''; - $photos_link = $posts_link = $block_link = $ignore_link = ''; + $photos_link = $posts_link = $block_link = $ignore_link = $collapse_link = $ignoreserver_link = ''; if ($this->userSession->getLocalUserId() && $this->userSession->getLocalUserId() == $item['uid'] && $item['gravity'] == ItemModel::GRAVITY_PARENT && !$item['self'] && !$item['mention']) { $sub_link = 'javascript:doFollowThread(' . $item['id'] . '); return false;'; @@ -407,6 +409,11 @@ class Item $collapse_link = $item['self'] ? '' : $contact_url . '/collapse?t=' . $formSecurityToken; } + $authorBaseUri = new Uri($item['author-baseurl'] ?? ''); + if (!empty($item['author-gsid']) && $authorBaseUri->getHost() && !DI::baseUrl()->isLocalUrl($authorBaseUri)) { + $ignoreserver_link = 'settings/server/' . $item['author-gsid'] . '/ignore'; + } + if ($cid && !$item['self']) { $contact_url = 'contact/' . $cid; $posts_link = $contact_url . '/posts'; @@ -427,7 +434,8 @@ class Item $this->l10n->t('Send PM') => $pm_url, $this->l10n->t('Block') => $block_link, $this->l10n->t('Ignore') => $ignore_link, - $this->l10n->t('Collapse') => $collapse_link + $this->l10n->t('Collapse') => $collapse_link, + $this->l10n->t("Ignore %s server", $authorBaseUri->getHost()) => $ignoreserver_link, ]; if (!empty($item['language'])) { @@ -544,7 +552,7 @@ class Item unset($item['owner-name']); unset($item['owner-avatar']); } - + $item['postopts'] = ''; } @@ -670,7 +678,7 @@ class Item * * @param array $item * @param bool $add_media true = Media is added to the body - * @param bool $for_display true = The share block is used for display puposes, false = used for connectors, transport to other systems, ... + * @param bool $for_display true = The share block is used for display purposes, false = used for connectors, transport to other systems, ... * @return string */ public function createSharedBlockByArray(array $item, bool $add_media = false, bool $for_display = false): string @@ -678,7 +686,7 @@ class Item if ($item['network'] == Protocol::FEED) { return PageInfo::getFooterFromUrl($item['plink']); } elseif (!in_array($item['network'] ?? '', Protocol::FEDERATED) && !$for_display) { - $item['guid'] = ''; + $item['guid'] = ''; $item['uri'] = ''; }