X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=src%2FObject%2FPost.php;h=216008974ab9525f4e7115ccd2d78421bab85ad8;hb=4d35e228c41a1fc6a6de9f50b8ec5c5bb45a9c2d;hp=4c2783874c78d0c9047b568b6078fb31415e5025;hpb=3f07d01dd1660a9c7b88f0848e5256dd287c79b5;p=friendica.git diff --git a/src/Object/Post.php b/src/Object/Post.php index 4c2783874c..216008974a 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -13,6 +13,7 @@ use Friendica\Core\L10n; use Friendica\Core\PConfig; use Friendica\Database\DBM; use Friendica\Model\Contact; +use Friendica\Model\Item; use Friendica\Util\DateTimeFormat; use Friendica\Util\Temporal; use dba; @@ -70,8 +71,10 @@ class Post extends BaseObject } $this->writable = $this->getDataValue('writable') || $this->getDataValue('self'); - $this->redirect_url = Contact::magicLinkById($this->getDataValue('cid')); - + $author = ['uid' => 0, 'id' => $this->getDataValue('author-id'), + 'network' => $this->getDataValue('author-network'), + 'url' => $this->getDataValue('author-link')]; + $this->redirect_url = Contact::magicLinkbyContact($author); if (!$this->isToplevel()) { $this->threaded = true; } @@ -176,7 +179,7 @@ class Post extends BaseObject if (!$origin) { /// @todo This shouldn't be done as query here, but better during the data creation. // it is now done here, since during the RC phase we shouldn't make to intense changes. - $parent = dba::selectFirst('item', ['origin'], ['id' => $item['parent']]); + $parent = Item::selectFirst(['origin'], ['id' => $item['parent']]); if (DBM::is_result($parent)) { $origin = $parent['origin']; } @@ -192,26 +195,20 @@ class Post extends BaseObject 'delete' => $delete, ]; - if (!local_user()) { + if (!local_user() || ($item['uid'] == 0)) { $drop = false; } $filer = (($conv->getProfileOwner() == local_user() && ($item['uid'] != 0)) ? L10n::t("save to folder") : false); - if ($item['network'] == NETWORK_FEED) { - $item['author-avatar'] = $item['contact-avatar']; - $item['author-name'] = $item['contact-name']; - $item['owner-avatar'] = $item['contact-avatar']; - $item['owner-name'] = $item['contact-name']; - } - - $diff_author = !link_compare($item['url'], $item['author-link']); - $profile_name = htmlentities(((strlen($item['author-name'])) && $diff_author) ? $item['author-name'] : $item['name']); - if ($item['author-link'] && (!$item['author-name'])) { + $profile_name = htmlentities($item['author-name']); + if (!empty($item['author-link']) && empty($item['author-name'])) { $profile_name = $item['author-link']; } - $profile_link = Contact::magicLinkById($item['author-id']); + $author = ['uid' => 0, 'id' => $item['author-id'], + 'network' => $item['author-network'], 'url' => $item['author-link']]; + $profile_link = Contact::magicLinkbyContact($author); if (strpos($profile_link, 'redir/') === 0) { $sparkle = ' sparkle'; } @@ -326,17 +323,17 @@ class Post extends BaseObject $owner_name_e = $this->getOwnerName(); // Disable features that aren't available in several networks - if (!in_array($item["item_network"], [NETWORK_DFRN, NETWORK_DIASPORA]) && isset($buttons["dislike"])) { + if (!in_array($item["network"], [NETWORK_DFRN, NETWORK_DIASPORA]) && isset($buttons["dislike"])) { unset($buttons["dislike"]); $isevent = false; $tagger = ''; } - if (($item["item_network"] == NETWORK_FEED) && isset($buttons["like"])) { + if (($item["network"] == NETWORK_FEED) && isset($buttons["like"])) { unset($buttons["like"]); } - if (($item["item_network"] == NETWORK_MAIL) && isset($buttons["like"])) { + if (($item["network"] == NETWORK_MAIL) && isset($buttons["like"])) { unset($buttons["like"]); } @@ -401,8 +398,8 @@ class Post extends BaseObject 'wait' => L10n::t('Please wait'), 'thread_level' => $thread_level, 'edited' => $edited, - 'network' => $item["item_network"], - 'network_name' => ContactSelector::networkToName($item['item_network'], $profile_link), + 'network' => $item["network"], + 'network_name' => ContactSelector::networkToName($item['network'], $profile_link), 'received' => $item['received'], 'commented' => $item['commented'], 'created_date' => $item['created'], @@ -847,7 +844,7 @@ class Post extends BaseObject $alias_linkmatch = (($this->getDataValue('alias')) && link_compare($this->getDataValue('alias'), $this->getDataValue('author-link'))); $owner_namematch = (($this->getDataValue('owner-name')) && $this->getDataValue('owner-name') == $this->getDataValue('author-name')); - if ((!$owner_linkmatch) && (!$alias_linkmatch) && (!$owner_namematch)) { + if (!$owner_linkmatch && !$alias_linkmatch && !$owner_namematch) { // The author url doesn't match the owner (typically the contact) // and also doesn't match the contact alias. // The name match is a hack to catch several weird cases where URLs are @@ -860,7 +857,11 @@ class Post extends BaseObject $this->owner_photo = $this->getDataValue('owner-avatar'); $this->owner_name = $this->getDataValue('owner-name'); $this->wall_to_wall = true; - $this->owner_url = Contact::magicLinkById($this->getDataValue('owner-id')); + + $owner = ['uid' => 0, 'id' => $this->getDataValue('owner-id'), + 'network' => $this->getDataValue('owner-network'), + 'url' => $this->getDataValue('owner-link')]; + $this->owner_url = Contact::magicLinkbyContact($owner); } } }