]> git.mxchange.org Git - friendica.git/commitdiff
Improve links for API
authorMichael <heluecht@pirati.ca>
Tue, 13 Jul 2021 14:40:10 +0000 (14:40 +0000)
committerMichael <heluecht@pirati.ca>
Tue, 13 Jul 2021 14:40:10 +0000 (14:40 +0000)
src/Content/Text/BBCode.php

index 1de3c0a68dfb8c1b3a3c04123fca4d4749098fc7..d4ed5049949d564fc0d5999d9131ef3e3b8a14b1 100644 (file)
@@ -417,9 +417,9 @@ class BBCode
                                if (empty($attach_data['url'])) {
                                        return $match[0];
                                } elseif (empty($attach_data['title']) || $no_link_desc) {
-                                       return "\n[url]" . $attach_data['url'] . "[/url]\n";
+                                       return " \n[url]" . $attach_data['url'] . "[/url]\n";
                                } else {
-                                       return "\n[url=" . $attach_data['url'] . ']' . $attach_data['title'] . "[/url]\n";
+                                       return " \n[url=" . $attach_data['url'] . ']' . $attach_data['title'] . "[/url]\n";
                                }
                }, $body);
        }
@@ -1431,12 +1431,9 @@ class BBCode
                                        } while ($oldtext != $text);
                                }
 
-                               // Add HTML new lines
-                               $text = str_replace("\n", '<br>', $text);
-
                                /// @todo Have a closer look at the different html modes
                                // Handle attached links or videos
-                               if ($simple_html == self::ACTIVITYPUB) {
+                               if (in_array($simple_html, [self::API, self::ACTIVITYPUB])) {
                                        $text = self::removeAttachment($text);
                                } elseif (!in_array($simple_html, [self::INTERNAL, self::EXTERNAL, self::CONNECTORS])) {
                                        $text = self::removeAttachment($text, true);
@@ -1444,6 +1441,9 @@ class BBCode
                                        $text = self::convertAttachment($text, $simple_html, $try_oembed, [], $uriid);
                                }
 
+                               // Add HTML new lines
+                               $text = str_replace("\n", '<br>', $text);
+
                                $nosmile = strpos($text, '[nosmile]') !== false;
                                $text = str_replace('[nosmile]', '', $text);
 
@@ -1749,7 +1749,7 @@ class BBCode
                                }
 
                                if (!$for_plaintext) {
-                                       if (in_array($simple_html, [self::OSTATUS, self::ACTIVITYPUB])) {
+                                       if (in_array($simple_html, [self::OSTATUS, self::API, self::ACTIVITYPUB])) {
                                                $text = preg_replace_callback("/\[url\](.*?)\[\/url\]/ism", 'self::convertUrlForActivityPubCallback', $text);
                                                $text = preg_replace_callback("/\[url\=(.*?)\](.*?)\[\/url\]/ism", 'self::convertUrlForActivityPubCallback', $text);
                                        }
@@ -1782,7 +1782,7 @@ class BBCode
                                $text = preg_replace("/#\[url\=.*?\]\^\[\/url\]\[url\=(.*?)\](.*?)\[\/url\]/i",
                                                        "[bookmark=$1]$2[/bookmark]", $text);
 
-                               if (in_array($simple_html, [self::API, self::OSTATUS, self::TWITTER])) {
+                               if (in_array($simple_html, [self::OSTATUS, self::TWITTER])) {
                                        $text = preg_replace_callback("/([^#@!])\[url\=([^\]]*)\](.*?)\[\/url\]/ism", "self::expandLinksCallback", $text);
                                        //$Text = preg_replace("/[^#@!]\[url\=([^\]]*)\](.*?)\[\/url\]/ism", ' $2 [url]$1[/url]', $Text);
                                        $text = preg_replace("/\[bookmark\=([^\]]*)\](.*?)\[\/bookmark\]/ism", ' $2 [url]$1[/url]',$text);
@@ -1821,7 +1821,7 @@ class BBCode
                                 * - [url=<anything>]#<term>[/url]
                                 */
                                $text = preg_replace_callback("/(?:#\[url\=[^\[\]]*\]|\[url\=[^\[\]]*\]#)(.*?)\[\/url\]/ism", function($matches) use ($simple_html) {
-                                       if ($simple_html == BBCode::ACTIVITYPUB) {
+                                       if ($simple_html == self::ACTIVITYPUB) {
                                                return '<a href="' . DI::baseUrl() . '/search?tag=' . rawurlencode($matches[1])
                                                        . '" data-tag="' . XML::escape($matches[1]) . '" rel="tag ugc">#'
                                                        . XML::escape($matches[1]) . '</a>';
@@ -2115,7 +2115,7 @@ class BBCode
        {
                $ret = [];
 
-               BBCode::performWithEscapedTags($string, ['noparse', 'pre', 'code', 'img'], function ($string) use (&$ret) {
+               self::performWithEscapedTags($string, ['noparse', 'pre', 'code', 'img'], function ($string) use (&$ret) {
                        // Convert hashtag links to hashtags
                        $string = preg_replace('/#\[url\=([^\[\]]*)\](.*?)\[\/url\]/ism', '#$2 ', $string);
 
@@ -2222,8 +2222,8 @@ class BBCode
         */
        public static function setMentions($body, $profile_uid = 0, $network = '')
        {
-               BBCode::performWithEscapedTags($body, ['noparse', 'pre', 'code', 'img'], function ($body) use ($profile_uid, $network) {
-                       $tags = BBCode::getTags($body);
+               self::performWithEscapedTags($body, ['noparse', 'pre', 'code', 'img'], function ($body) use ($profile_uid, $network) {
+                       $tags = self::getTags($body);
 
                        $tagged = [];
                        $inform = '';