From 7cb91382013ca80103a03ae1593a0dabb60a6372 Mon Sep 17 00:00:00 2001 From: Adam Magness Date: Wed, 7 Nov 2018 07:19:39 -0500 Subject: [PATCH] Move another function move get_plink to Item class, and also fix up getApp since we extend BaseObject --- include/conversation.php | 2 +- include/text.php | 36 ------------------------------------ src/Model/Item.php | 39 +++++++++++++++++++++++++++++++++++++-- src/Object/Post.php | 2 +- 4 files changed, 39 insertions(+), 40 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 3e953db7da..e276fef139 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -689,7 +689,7 @@ function conversation(App $a, array $items, Pager $pager, $mode, $update, $previ 'owner_name' => $owner_name_e, 'owner_url' => $owner_url, 'owner_photo' => System::removedBaseUrl(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)), - 'plink' => get_plink($item), + 'plink' => Item::getPlink($item), 'edpost' => false, 'isstarred' => $isstarred, 'star' => $star, diff --git a/include/text.php b/include/text.php index db8ebcc4eb..876cdbdb8a 100644 --- a/include/text.php +++ b/include/text.php @@ -493,42 +493,6 @@ function get_cats_and_terms($item) return [$categories, $folders]; } - -/** - * get private link for item - * @param array $item - * @return boolean|array False if item has not plink, otherwise array('href'=>plink url, 'title'=>translated title) - */ -function get_plink($item) { - $a = get_app(); - - if ($a->user['nickname'] != "") { - $ret = [ - //'href' => "display/" . $a->user['nickname'] . "/" . $item['id'], - 'href' => "display/" . $item['guid'], - 'orig' => "display/" . $item['guid'], - 'title' => L10n::t('View on separate page'), - 'orig_title' => L10n::t('view on separate page'), - ]; - - if (x($item, 'plink')) { - $ret["href"] = $a->removeBaseURL($item['plink']); - $ret["title"] = L10n::t('link to source'); - } - - } elseif (x($item, 'plink') && ($item['private'] != 1)) { - $ret = [ - 'href' => $item['plink'], - 'orig' => $item['plink'], - 'title' => L10n::t('link to source'), - ]; - } else { - $ret = []; - } - - return $ret; -} - /** * return number of bytes in size (K, M, G) * @param string $size_str diff --git a/src/Model/Item.php b/src/Model/Item.php index d6a6d02085..4f88c2ed9d 100644 --- a/src/Model/Item.php +++ b/src/Model/Item.php @@ -3297,7 +3297,7 @@ class Item extends BaseObject || $rendered_hash != hash("md5", $item["body"]) || Config::get("system", "ignore_cache") ) { - $a = get_app(); + $a = self::getApp(); redir_private_images($a, $item); $item["rendered-html"] = prepare_text($item["body"]); @@ -3348,7 +3348,7 @@ class Item extends BaseObject */ public static function prepareBody(array &$item, $attach = false, $is_preview = false) { - $a = get_app(); + $a = self::getApp(); Addon::callHooks('prepare_body_init', $item); // In order to provide theme developers more possibilities, event items @@ -3509,4 +3509,39 @@ class Item extends BaseObject return $hook_data['html']; } + + /** + * get private link for item + * @param array $item + * @return boolean|array False if item has not plink, otherwise array('href'=>plink url, 'title'=>translated title) + */ + public static function getPlink($item) + { + $a = self::getApp(); + + if ($a->user['nickname'] != "") { + $ret = [ + 'href' => "display/" . $item['guid'], + 'orig' => "display/" . $item['guid'], + 'title' => L10n::t('View on separate page'), + 'orig_title' => L10n::t('view on separate page'), + ]; + + if (x($item, 'plink')) { + $ret["href"] = $a->removeBaseURL($item['plink']); + $ret["title"] = L10n::t('link to source'); + } + + } elseif (x($item, 'plink') && ($item['private'] != 1)) { + $ret = [ + 'href' => $item['plink'], + 'orig' => $item['plink'], + 'title' => L10n::t('link to source'), + ]; + } else { + $ret = []; + } + + return $ret; + } } diff --git a/src/Object/Post.php b/src/Object/Post.php index e5a18e691d..e0e3beadb3 100644 --- a/src/Object/Post.php +++ b/src/Object/Post.php @@ -392,7 +392,7 @@ class Post extends BaseObject 'owner_url' => $this->getOwnerUrl(), 'owner_photo' => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)), 'owner_name' => htmlentities($owner_name_e), - 'plink' => get_plink($item), + 'plink' => Item::getPlink($item), 'edpost' => Feature::isEnabled($conv->getProfileOwner(), 'edit_posts') ? $edpost : '', 'isstarred' => $isstarred, 'star' => Feature::isEnabled($conv->getProfileOwner(), 'star_posts') ? $star : '',