From 2c94d59cba0b3231b0dd822fc1b95bed5521c48d Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 2 Sep 2014 17:21:12 -0700 Subject: use feed title for channel name before checking author, make feed items shareable (they're private to the channel so they won't be shown in searches), try and handle Diaspora mentions a bit more elegantly. (Bug: we don't convert mentions to Diaspora's format on outbound at all!) --- include/bb2diaspora.php | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) (limited to 'include/bb2diaspora.php') diff --git a/include/bb2diaspora.php b/include/bb2diaspora.php index f15a34e99..623b2d7b7 100644 --- a/include/bb2diaspora.php +++ b/include/bb2diaspora.php @@ -77,6 +77,25 @@ function share_unshield($m) { } +function diaspora_mention_callback($matches) { + + $webbie = $matches[2]; + $link = ''; + if($webbie) { + $r = q("select * from hubloc left join xchan on hubloc_hash = xchan_hash where hubloc_addr = '%s' limit 1", + dbesc($webbie) + ); + if($r) + $link = $r[0]['xchan_url']; + } + if(! $link) + $link = 'https://' . $matches[3] . '/u/' . $matches[2]; + + return '@[url=' . $link . ']' . trim($matches[1]) . '[/url]'; + +} + + // we don't want to support a bbcode specific markdown interpreter // and the markdown library we have is pretty good, but provides HTML output. @@ -97,7 +116,10 @@ function diaspora2bb($s,$use_zrl = false) { $s = str_replace("
","
",$s); $s = str_replace("\n","
",$s); - $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s); + +// $s = preg_replace('/\@\{(.+?)\; (.+?)\@(.+?)\}/','@[url=https://$3/u/$2]$1[/url]',$s); + + $s = preg_replace_callback('/\@\{(.+?)\; (.+?)\@(.+?)\}/','diaspora_mention_callback',$s); // Escaping the hash tags - doesn't always seem to work // $s = preg_replace('/\#([^\s\#])/','\\#$1',$s); -- cgit v1.2.3