X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FPost.php;h=a8577dd8bedda9ad7e62db6425b28341f71e99f7;hb=165607ffe74cba5d109f57e6575f87e183254ed9;hp=6e2483c6a0c42e368c09dc06a2e0a641c3afb8da;hpb=cbe2d1745ba327464f260efd7d782c383994a285;p=friendica.git diff --git a/src/Object/Post.php b/src/Object/Post.php index 6e2483c6a0..a8577dd8be 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']; } @@ -236,7 +238,7 @@ class Post extends BaseObject $location = ((strlen($locate['html'])) ? $locate['html'] : render_location_dummy($locate)); // process action responses - e.g. like/dislike/attend/agree/whatever - $response_verbs = ['like', 'dislike']; + $response_verbs = ['like', 'dislike', 'announce']; $isevent = false; $attend = []; @@ -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,13 +777,20 @@ 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() || empty($a->profile['addr'])) { - return; + 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()]); @@ -787,18 +799,17 @@ class Post extends BaseObject 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']) && (defaults($profile, 'contact-type', Contact::TYPE_UNKNOWN) != Contact::TYPE_COMMUNITY) && + ($profile['addr'] != $owner['addr']) && !strstr($text, $profile['addr'])) { $text .= '@' . $profile['addr'] . ' '; } } @@ -937,7 +948,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); } } }