X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FPost.php;h=807c2d2227364ecb510503668c8118c5a1bdc807;hb=2b537840941634d561ba3eed2215aedca7897471;hp=bc1123db2b1af845e6a98a915c4c773cee5221a6;hpb=9a5f9829c11998284620a804eee15049fccc0757;p=friendica.git diff --git a/src/Object/Post.php b/src/Object/Post.php index bc1123db2b..807c2d2227 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -6,6 +6,7 @@ namespace Friendica\Object; use Friendica\BaseObject; use Friendica\Content\ContactSelector; +use Friendica\Content\Feature; use Friendica\Core\Addon; use Friendica\Core\Config; use Friendica\Core\Hook; @@ -18,6 +19,7 @@ use Friendica\Database\DBA; use Friendica\Model\Contact; use Friendica\Model\Item; use Friendica\Model\Term; +use Friendica\Model\User; use Friendica\Util\Crypto; use Friendica\Util\DateTimeFormat; use Friendica\Util\Proxy as ProxyUtils; @@ -81,7 +83,7 @@ class Post extends BaseObject $author = ['uid' => 0, 'id' => $this->getDataValue('author-id'), 'network' => $this->getDataValue('author-network'), 'url' => $this->getDataValue('author-link')]; - $this->redirect_url = Contact::magicLinkbyContact($author); + $this->redirect_url = Contact::magicLinkByContact($author); if (!$this->isToplevel()) { $this->threaded = true; } @@ -222,7 +224,7 @@ class Post extends BaseObject 'network' => $item['author-network'], 'url' => $item['author-link']]; if (local_user() || remote_user()) { - $profile_link = Contact::magicLinkbyContact($author); + $profile_link = Contact::magicLinkByContact($author); } else { $profile_link = $item['author-link']; } @@ -364,6 +366,7 @@ class Post extends BaseObject 'tags' => $tags['tags'], 'hashtags' => $tags['hashtags'], 'mentions' => $tags['mentions'], + 'implicit_mentions' => $tags['implicit_mentions'], 'txt_cats' => L10n::t('Categories:'), 'txt_folders' => L10n::t('Filed under:'), 'has_cats' => ((count($categories)) ? 'true' : ''), @@ -414,6 +417,7 @@ class Post extends BaseObject 'dislike' => $responses['dislike']['output'], 'responses' => $responses, 'switchcomment' => L10n::t('Comment'), + 'reply_label' => L10n::t('Reply to %s', $name_e), 'comment' => $comment, 'previewing' => $conv->isPreview() ? ' preview ' : '', 'wait' => L10n::t('Please wait'), @@ -432,6 +436,7 @@ class Post extends BaseObject 'delivery_pending' => L10n::t('Delivery to remote servers is pending'), 'delivery_underway' => L10n::t('Delivery to remote servers is underway'), 'delivery_almost' => L10n::t('Delivery to remote servers is mostly done'), + 'delivery_done' => L10n::t('Delivery to remote servers is done'), ], ]; @@ -447,13 +452,13 @@ class Post extends BaseObject foreach ($children as $child) { $result['children'][] = $child->getTemplateData($conv_responses, $thread_level + 1); } + // Collapse if (($nb_children > 2) || ($thread_level > 1)) { $result['children'][0]['comment_firstcollapsed'] = true; $result['children'][0]['num_comments'] = L10n::tt('%d comment', '%d comments', $total_children); - $result['children'][0]['hidden_comments_num'] = $total_children; - $result['children'][0]['hidden_comments_text'] = L10n::tt('comment', 'comments', $total_children); - $result['children'][0]['hide_text'] = L10n::t('show more'); + $result['children'][0]['show_text'] = L10n::t('Show more'); + $result['children'][0]['hide_text'] = L10n::t('Show fewer'); if ($thread_level > 1) { $result['children'][$nb_children - 1]['comment_lastcollapsed'] = true; } else { @@ -772,29 +777,40 @@ class Post extends BaseObject * Get default text for the comment box * * @return string + * @throws \Friendica\Network\HTTPException\InternalServerErrorException */ private function getDefaultText() { $a = self::getApp(); + if (!local_user()) { + return ''; + } + + $owner = User::getOwnerDataById($a->user['uid']); + + if (!Feature::isEnabled(local_user(), 'explicit_mentions')) { + return ''; + } + $item = Item::selectFirst(['author-addr'], ['id' => $this->getId()]); if (!DBA::isResult($item) || empty($item['author-addr'])) { // Should not happen return ''; } - if ($item['author-addr'] != $a->profile['addr']) { + if ($item['author-addr'] != $owner['addr']) { $text = '@' . $item['author-addr'] . ' '; } else { $text = ''; } - $terms = Term::tagArrayFromItemId($this->getId(), TERM_MENTION); + $terms = Term::tagArrayFromItemId($this->getId(), [Term::MENTION, Term::IMPLICIT_MENTION]); foreach ($terms as $term) { $profile = Contact::getDetailsByURL($term['url']); - if (!empty($profile['addr']) && ($profile['contact-type'] != Contact::TYPE_COMMUNITY) && - ($profile['addr'] != $a->profile['addr']) && !strstr($text, $profile['addr'])) { + if (!empty($profile['addr']) && !empty($profile['contact-type']) && ($profile['contact-type'] != Contact::TYPE_COMMUNITY) && + ($profile['addr'] != $owner['addr']) && !strstr($text, $profile['addr'])) { $text .= '@' . $profile['addr'] . ' '; } } @@ -933,7 +949,7 @@ class Post extends BaseObject $owner = ['uid' => 0, 'id' => $this->getDataValue('owner-id'), 'network' => $this->getDataValue('owner-network'), 'url' => $this->getDataValue('owner-link')]; - $this->owner_url = Contact::magicLinkbyContact($owner); + $this->owner_url = Contact::magicLinkByContact($owner); } } }