]> git.mxchange.org Git - friendica.git/blobdiff - include/bbcode.php
Small bugfix
[friendica.git] / include / bbcode.php
index 62f56558fb6871a233b3122886821a65420e7190..46e34a1fd505467dcd2021a39489751978e0f8f3 100644 (file)
@@ -408,6 +408,11 @@ function bb_ShareAttributes($share, $simplehtml) {
        if ($itemcache == "")
                $reldate = (($posted) ? " " . relative_date($posted) : '');
 
+       // We only call this so that a previously unknown contact can be added.
+       // This is important for the function "get_contact_details_by_url".
+       // This function then can fetch an entry from the contact table.
+       get_contact($profile, 0);
+
        $data = get_contact_details_by_url($profile);
 
        if (isset($data["name"]) AND isset($data["addr"]))
@@ -423,8 +428,8 @@ function bb_ShareAttributes($share, $simplehtml) {
        if (isset($data["name"]))
                $author = $data["name"];
 
-       if (isset($data["photo"]))
-               $avatar = $data["photo"];
+       if (isset($data["micro"]))
+               $avatar = $data["micro"];
 
        $preshare = trim($share[1]);
 
@@ -490,6 +495,8 @@ function bb_ShareAttributes($share, $simplehtml) {
                default:
                        $text = trim($share[1])."\n";
 
+                       $avatar = proxy_url($avatar, false, PROXY_SIZE_THUMB);
+
                        $tpl = get_markup_template('shared_content.tpl');
                        $text .= replace_macros($tpl,
                                        array(
@@ -717,6 +724,13 @@ function bb_CleanPictureLinks($text) {
        return ($text);
 }
 
+function bb_highlight($match) {
+       if(in_array(strtolower($match[1]),['php','css','mysql','sql','abap','diff','html','perl','ruby',
+               'vbscript','avrc','dtd','java','xml','cpp','python','javascript','js','sh']))
+               return text_highlight($match[2],strtolower($match[1]));
+       return $match[0];
+}
+
        // BBcode 2 HTML was written by WAY2WEB.net
        // extended to work with Mistpark/Friendica - Mike Macgirvin
 
@@ -769,6 +783,11 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
        if (!$tryoembed)
                $Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text);
 
+       // Check for [code] text here, before the linefeeds are messed with.
+       // The highlighter will unescape and re-escape the content.
+       if (strpos($Text,'[code=') !== false) {
+               $Text = preg_replace_callback("/\[code=(.*?)\](.*?)\[\/code\]/ism", 'bb_highlight', $Text);
+       }
        // Convert new line chars to html <br /> tags
 
        // nlbr seems to be hopelessly messed up