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"]))
+ if (isset($data["name"]) AND ($data["name"] != "") AND isset($data["addr"]) AND ($data["addr"] != ""))
$userid_compact = $data["name"]." (".$data["addr"].")";
else
$userid_compact = GetProfileUsername($profile,$author, true);
- if (isset($data["addr"]))
+ if (isset($data["addr"]) AND ($data["addr"] != ""))
$userid = $data["addr"];
else
$userid = GetProfileUsername($profile,$author, false);
- if (isset($data["name"]))
+ if (isset($data["name"]) AND ($data["name"] != ""))
$author = $data["name"];
- if (isset($data["photo"]))
- $avatar = $data["photo"];
+ if (isset($data["micro"]) AND ($data["micro"] != ""))
+ $avatar = $data["micro"];
$preshare = trim($share[1]);
default:
$text = trim($share[1])."\n";
- $tpl = get_markup_template('shared-content.tpl');
+ $avatar = proxy_url($avatar, false, PROXY_SIZE_THUMB);
+
+ $tpl = get_markup_template('shared_content.tpl');
$text .= replace_macros($tpl,
array(
'$profile' => $profile,
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
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
$Text = preg_replace("/\[event\-finish\](.*?)\[\/event\-finish\]/ism",'',$Text);
$Text = preg_replace("/\[event\-location\](.*?)\[\/event\-location\]/ism",'',$Text);
$Text = preg_replace("/\[event\-adjust\](.*?)\[\/event\-adjust\]/ism",'',$Text);
+ $Text = preg_replace("/\[event\-id\](.*?)\[\/event\-id\]/ism",'',$Text);
}