]> git.mxchange.org Git - friendica.git/blobdiff - src/Object/Post.php
Merge pull request #6127 from annando/notice
[friendica.git] / src / Object / Post.php
index 038ca270d79dddc35bce9158ebc404e631502e1a..22016834375b19da3377aef636db75bb01e758a9 100644 (file)
@@ -10,14 +10,18 @@ use Friendica\Content\Feature;
 use Friendica\Core\Addon;
 use Friendica\Core\Config;
 use Friendica\Core\L10n;
+use Friendica\Core\Logger;
 use Friendica\Core\PConfig;
 use Friendica\Core\Protocol;
+use Friendica\Core\Renderer;
 use Friendica\Database\DBA;
 use Friendica\Model\Contact;
 use Friendica\Model\Item;
 use Friendica\Model\Term;
+use Friendica\Util\Crypto;
 use Friendica\Util\DateTimeFormat;
 use Friendica\Util\Proxy as ProxyUtils;
+use Friendica\Util\Strings;
 use Friendica\Util\Temporal;
 
 require_once 'include/dba.php';
@@ -153,7 +157,7 @@ class Post extends BaseObject
 
                $shareable = in_array($conv->getProfileOwner(), [0, local_user()]) && $item['private'] != 1;
 
-               if (local_user() && link_compare($a->contact['url'], $item['author-link'])) {
+               if (local_user() && Strings::compareLink($a->contact['url'], $item['author-link'])) {
                        if ($item["event-id"] != 0) {
                                $edpost = ["events/event/" . $item['event-id'], L10n::t("Edit")];
                        } else {
@@ -209,7 +213,13 @@ class Post extends BaseObject
 
                $author = ['uid' => 0, 'id' => $item['author-id'],
                        'network' => $item['author-network'], 'url' => $item['author-link']];
-               $profile_link = Contact::magicLinkbyContact($author);
+
+               if (local_user() || remote_user()) {
+                       $profile_link = Contact::magicLinkbyContact($author);
+               } else {
+                       $profile_link = $item['author-link'];
+               }
+
                if (strpos($profile_link, 'redir/') === 0) {
                        $sparkle = ' sparkle';
                }
@@ -306,7 +316,7 @@ class Post extends BaseObject
 
                localize_item($item);
 
-               $body = prepare_body($item, true);
+               $body = Item::prepareBody($item, true);
 
                list($categories, $folders) = get_cats_and_terms($item);
 
@@ -324,7 +334,7 @@ class Post extends BaseObject
                $owner_name_e = $this->getOwnerName();
 
                // Disable features that aren't available in several networks
-               if (!in_array($item["network"], [Protocol::DFRN, Protocol::DIASPORA]) && isset($buttons["dislike"])) {
+               if (!in_array($item["network"], [Protocol::ACTIVITYPUB, Protocol::DFRN, Protocol::DIASPORA]) && isset($buttons["dislike"])) {
                        unset($buttons["dislike"]);
                        $isevent = false;
                        $tagger = '';
@@ -368,7 +378,7 @@ class Post extends BaseObject
                        'profile_url'     => $profile_link,
                        'item_photo_menu' => item_photo_menu($item),
                        'name'            => $name_e,
-                       'thumb'           => $a->remove_baseurl(ProxyUtils::proxifyUrl($item['author-avatar'], false, ProxyUtils::SIZE_THUMB)),
+                       'thumb'           => $a->removeBaseURL(ProxyUtils::proxifyUrl($item['author-avatar'], false, ProxyUtils::SIZE_THUMB)),
                        'osparkle'        => $osparkle,
                        'sparkle'         => $sparkle,
                        'title'           => $title_e,
@@ -381,9 +391,9 @@ class Post extends BaseObject
                        'indent'          => $indent,
                        'shiny'           => $shiny,
                        'owner_url'       => $this->getOwnerUrl(),
-                       'owner_photo'     => $a->remove_baseurl(ProxyUtils::proxifyUrl($item['owner-avatar'], false, ProxyUtils::SIZE_THUMB)),
+                       '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 : '',
@@ -402,10 +412,11 @@ class Post extends BaseObject
                        'thread_level'    => $thread_level,
                        'edited'          => $edited,
                        'network'         => $item["network"],
-                       'network_name'    => ContactSelector::networkToName($item['network'], $profile_link),
+                       'network_name'    => ContactSelector::networkToName($item['network'], $item['author-link']),
                        'received'        => $item['received'],
                        'commented'       => $item['commented'],
                        'created_date'    => $item['created'],
+                       'return'          => ($a->cmd) ? bin2hex($a->cmd) : '',
                ];
 
                $arr = ['item' => $item, 'output' => $tmp_item];
@@ -481,10 +492,10 @@ class Post extends BaseObject
        {
                $item_id = $item->getId();
                if (!$item_id) {
-                       logger('[ERROR] Post::addChild : Item has no ID!!', LOGGER_DEBUG);
+                       Logger::log('[ERROR] Post::addChild : Item has no ID!!', Logger::DEBUG);
                        return false;
                } elseif ($this->getChild($item->getId())) {
-                       logger('[WARN] Post::addChild : Item already exists (' . $item->getId() . ').', LOGGER_DEBUG);
+                       Logger::log('[WARN] Post::addChild : Item already exists (' . $item->getId() . ').', Logger::DEBUG);
                        return false;
                }
                /*
@@ -578,7 +589,7 @@ class Post extends BaseObject
                                return true;
                        }
                }
-               logger('[WARN] Item::removeChild : Item is not a child (' . $id . ').', LOGGER_DEBUG);
+               Logger::log('[WARN] Item::removeChild : Item is not a child (' . $id . ').', Logger::DEBUG);
                return false;
        }
 
@@ -644,7 +655,7 @@ class Post extends BaseObject
        public function getDataValue($name)
        {
                if (!isset($this->data[$name])) {
-                       // logger('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".', LOGGER_DEBUG);
+                       // Logger::log('[ERROR] Item::getDataValue : Item has no value name "'. $name .'".', Logger::DEBUG);
                        return false;
                }
 
@@ -661,7 +672,7 @@ class Post extends BaseObject
        private function setTemplate($name)
        {
                if (!x($this->available_templates, $name)) {
-                       logger('[ERROR] Item::setTemplate : Template not available ("' . $name . '").', LOGGER_DEBUG);
+                       Logger::log('[ERROR] Item::setTemplate : Template not available ("' . $name . '").', Logger::DEBUG);
                        return false;
                }
 
@@ -765,7 +776,7 @@ class Post extends BaseObject
                         * Hmmm, code depending on the presence of a particular addon?
                         * This should be better if done by a hook
                         */
-                       if (in_array('qcomment', $a->addons)) {
+                       if (Addon::isEnabled('qcomment')) {
                                $qc = ((local_user()) ? PConfig::get(local_user(), 'qcomment', 'words') : null);
                                $qcomment = (($qc) ? explode("\n", $qc) : null);
                        }
@@ -778,8 +789,8 @@ class Post extends BaseObject
                                $uid = $parent_uid;
                        }
 
-                       $template = get_markup_template($this->getCommentBoxTemplate());
-                       $comment_box = replace_macros($template, [
+                       $template = Renderer::getMarkupTemplate($this->getCommentBoxTemplate());
+                       $comment_box = Renderer::replaceMacros($template, [
                                '$return_path' => $a->query_string,
                                '$threaded'    => $this->isThreaded(),
                                '$jsreload'    => '',
@@ -788,9 +799,9 @@ class Post extends BaseObject
                                '$parent'      => $this->getId(),
                                '$qcomment'    => $qcomment,
                                '$profile_uid' => $uid,
-                               '$mylink'      => $a->remove_baseurl($a->contact['url']),
+                               '$mylink'      => $a->removeBaseURL($a->contact['url']),
                                '$mytitle'     => L10n::t('This is you'),
-                               '$myphoto'     => $a->remove_baseurl($a->contact['thumb']),
+                               '$myphoto'     => $a->removeBaseURL($a->contact['thumb']),
                                '$comment'     => L10n::t('Comment'),
                                '$submit'      => L10n::t('Submit'),
                                '$edbold'      => L10n::t('Bold'),
@@ -800,12 +811,13 @@ class Post extends BaseObject
                                '$edcode'      => L10n::t('Code'),
                                '$edimg'       => L10n::t('Image'),
                                '$edurl'       => L10n::t('Link'),
-                               '$edvideo'     => L10n::t('Video'),
+                               '$edattach'    => L10n::t('Link or Media'),
+                               '$prompttext'  => L10n::t('Please enter a image/video/audio/webpage URL:'),
                                '$preview'     => ((Feature::isEnabled($conv->getProfileOwner(), 'preview')) ? L10n::t('Preview') : ''),
                                '$indent'      => $indent,
                                '$sourceapp'   => L10n::t($a->sourcename),
                                '$ww'          => $conv->getMode() === 'network' ? $ww : '',
-                               '$rand_num'    => random_digits(12)
+                               '$rand_num'    => Crypto::randomDigits(12)
                        ]);
                }
 
@@ -843,8 +855,8 @@ class Post extends BaseObject
                                        $this->owner_name = $a->page_contact['name'];
                                        $this->wall_to_wall = true;
                                } elseif ($this->getDataValue('owner-link')) {
-                                       $owner_linkmatch = (($this->getDataValue('owner-link')) && link_compare($this->getDataValue('owner-link'), $this->getDataValue('author-link')));
-                                       $alias_linkmatch = (($this->getDataValue('alias')) && link_compare($this->getDataValue('alias'), $this->getDataValue('author-link')));
+                                       $owner_linkmatch = (($this->getDataValue('owner-link')) && Strings::compareLink($this->getDataValue('owner-link'), $this->getDataValue('author-link')));
+                                       $alias_linkmatch = (($this->getDataValue('alias')) && Strings::compareLink($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) {