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;
use Friendica\Util\Profiler;
use Friendica\Util\Proxy;
use Friendica\Util\XML;
+use GuzzleHttp\Psr7\Uri;
/**
* A content helper class for displaying items
{
$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;';
$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';
$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'])) {
unset($item['owner-name']);
unset($item['owner-avatar']);
}
-
+
$item['postopts'] = '';
}
*
* @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
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'] = '';
}