Support for server independant Diaspora style links

This commit is contained in:
Michael 2017-09-06 04:55:36 +00:00
parent 8215b9da87
commit cb8581b29a
2 changed files with 12 additions and 3 deletions

View file

@ -985,6 +985,10 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $simplehtml = fa
// Handle Diaspora posts // Handle Diaspora posts
$Text = preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", 'bb_DiasporaLinks', $Text); $Text = preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", 'bb_DiasporaLinks', $Text);
// Server independent link to posts and comments
// See issue: https://github.com/diaspora/diaspora_federation/issues/75
$Text = preg_replace("=diaspora://(.*?)/([^\s\]]*)=ism", System::baseUrl()."/display/$2", $Text);
// if the HTML is used to generate plain text, then don't do this search, but replace all URL of that kind to text // if the HTML is used to generate plain text, then don't do this search, but replace all URL of that kind to text
// if ($simplehtml != 7) { // if ($simplehtml != 7) {
if (!$forplaintext) { if (!$forplaintext) {

View file

@ -1013,10 +1013,15 @@ class Diaspora {
* @param array $item The item array * @param array $item The item array
*/ */
private static function fetch_guid($item) { private static function fetch_guid($item) {
preg_replace_callback("=diaspora://.*?/([^\s\]]*)=ism",
function ($match) use ($item) {
return self::fetch_guid_sub($match, $item);
}, $item["body"]);
preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi", preg_replace_callback("&\[url=/posts/([^\[\]]*)\](.*)\[\/url\]&Usi",
function ($match) use ($item){ function ($match) use ($item) {
return(self::fetch_guid_sub($match, $item)); return self::fetch_guid_sub($match, $item);
},$item["body"]); }, $item["body"]);
} }
/** /**