Merge pull request #3009 from annando/issue-2999

Issue 2999: Better Mastodon handling
This commit is contained in:
Tobias Diekershoff 2016-12-12 07:54:59 +01:00 committed by GitHub
commit 29bc27fa6a
2 changed files with 20 additions and 0 deletions

View file

@ -280,6 +280,10 @@ function add_page_info_to_body($body, $texturl = false, $no_photos = false) {
$URLSearchString = "^\[\]"; $URLSearchString = "^\[\]";
// Fix for Mastodon where the mentions are in a different format
$body = preg_replace("/\[url\=([$URLSearchString]*)\]([#!@])(.*?)\[\/url\]/ism",
'$2[url=$1]$3[/url]', $body);
// Adding these spaces is a quick hack due to my problems with regular expressions :) // Adding these spaces is a quick hack due to my problems with regular expressions :)
preg_match("/[^!#@]\[url\]([$URLSearchString]*)\[\/url\]/ism", " ".$body, $matches); preg_match("/[^!#@]\[url\]([$URLSearchString]*)\[\/url\]/ism", " ".$body, $matches);

View file

@ -391,6 +391,15 @@ function poco_detect_server($profile) {
} }
} }
// Mastodon
if ($server_url == "") {
$red = preg_replace("=(https?://)(.*)/users/(.*)=ism", "$1$2", $profile);
if ($red != $profile) {
$server_url = $red;
$network = NETWORK_OSTATUS;
}
}
return $server_url; return $server_url;
} }
@ -755,6 +764,13 @@ function poco_check_server($server_url, $network = "", $force = false) {
$versionparts = explode("-", $version); $versionparts = explode("-", $version);
$version = $versionparts[0]; $version = $versionparts[0];
} }
if(stristr($line,'Server: Mastodon')) {
$platform = "Mastodon";
$network = NETWORK_OSTATUS;
// Mastodon doesn't reveal version numbers
$version = "";
}
} }
} }
} }