]> git.mxchange.org Git - friendica.git/blobdiff - include/api.php
Vier: Option to switch between shadow style and flat style.
[friendica.git] / include / api.php
index de0debf5a6463adb7145a44fbcc483601e7b1faf..d98ad970d59532a51a304fe6c63251758126a697 100644 (file)
                $include_entities = strtolower(x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:"false");
 
                if ($include_entities != "true")
-                       return false;
+                       return array();
+
+               $bbcode = bb_CleanPictureLinks($bbcode);
 
                // Change pure links in text to bbcode uris
                $bbcode = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1[url=$2]$2[/url]', $bbcode);
 
                $URLSearchString = "^\[\]";
 
+               $bbcode = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",'#$2',$bbcode);
+
                $bbcode = preg_replace("/\[bookmark\=([$URLSearchString]*)\](.*?)\[\/bookmark\]/ism",'[url=$1]$2[/url]',$bbcode);
                //$bbcode = preg_replace("/\[url\](.*?)\[\/url\]/ism",'[url=$1]$1[/url]',$bbcode);
                $bbcode = preg_replace("/\[video\](.*?)\[\/video\]/ism",'[url=$1]$1[/url]',$bbcode);
 
 
                        // Retweets are only valid for top postings
-                       if (($item['owner-link'] != $item['author-link']) AND ($item["id"] == $item["parent"])) {
+                       // It doesn't work reliable with the link if its a feed
+                       $IsRetweet = ($item['owner-link'] != $item['author-link']);
+                       if ($IsRetweet)
+                               $IsRetweet = (($item['owner-name'] != $item['author-name']) OR ($item['owner-avatar'] != $item['author-avatar']));
+
+                       if ($IsRetweet AND ($item["id"] == $item["parent"])) {
                                $retweeted_status = $status;
                                $retweeted_status["user"] = api_get_user($a,$item["author-link"]);
 
@@ -2385,8 +2394,14 @@ function api_get_nick($profile) {
 function api_clean_plain_items($Text) {
        $include_entities = strtolower(x($_REQUEST,'include_entities')?$_REQUEST['include_entities']:"false");
 
-       if ($include_entities == "true")
-               $Text = preg_replace("/\[url\=([^\]]*)\](.*?)\[\/url\]/ism",'[url=$1]$1[/url]',$Text);
+       $Text = bb_CleanPictureLinks($Text);
+
+       if ($include_entities == "true") {
+               $URLSearchString = "^\[\]";
+
+               $Text = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",'#$2',$Text);
+               $Text = preg_replace("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",'[url=$1]$1[/url]',$Text);
+       }
 
        $Text = preg_replace_callback("((.*?)\[class=(.*?)\](.*?)\[\/class\])ism","api_cleanup_share",$Text);
        return($Text);