diff --git a/include/socgraph.php b/include/socgraph.php
index d3f70075b2..d944fa064c 100644
--- a/include/socgraph.php
+++ b/include/socgraph.php
@@ -1146,6 +1146,7 @@ function poco_check_server($server_url, $network = "", $force = false) {
}
// Test for Mastodon
+ $orig_version = $version;
$serverret = z_fetch_url($server_url."/api/v1/instance");
if ($serverret["success"] && ($serverret["body"] != '')) {
$data = json_decode($serverret["body"]);
@@ -1157,6 +1158,9 @@ function poco_check_server($server_url, $network = "", $force = false) {
$network = NETWORK_OSTATUS;
}
}
+ if (strstr($orig_version, 'Pleroma')) {
+ $platform = 'Pleroma';
+ }
}
if (!$failure) {
@@ -1169,7 +1173,9 @@ function poco_check_server($server_url, $network = "", $force = false) {
$version = $data->version;
$network = NETWORK_DIASPORA;
}
- $site_name = $data->site_name;
+ if (!empty($data->site_name)) {
+ $site_name = $data->site_name;
+ }
switch ($data->register_policy) {
case "REGISTER_OPEN":
$register_policy = REGISTER_OPEN;
@@ -1249,9 +1255,11 @@ function poco_check_server($server_url, $network = "", $force = false) {
$version = preg_replace("=(.+)-(.{4,})=ism", "$1", $version);
}
- $site_name = $data->name;
+ if (!empty($data->name)) {
+ $site_name = $data->name;
+ }
- if (isset($data->network)) {
+ if (!empty($data->network)) {
$platform = $data->network;
}
diff --git a/include/text.php b/include/text.php
index 9cd861fa55..9b7b47a773 100644
--- a/include/text.php
+++ b/include/text.php
@@ -1425,6 +1425,7 @@ function prepare_body(&$item, $attach = false, $preview = false) {
$title .= ' ' . $mtch[2] . ' ' . t('bytes');
if (($filetype == 'image') AND ($item['network'] == NETWORK_OSTATUS)) {
+ /// @todo Respect the spoiler for mastodon
$icon = '';
$s .= '
' . $icon . '';
} else {
diff --git a/mod/admin.php b/mod/admin.php
index 2919076675..c5043f2252 100644
--- a/mod/admin.php
+++ b/mod/admin.php
@@ -441,7 +441,7 @@ function admin_page_federation(App $a) {
// off one % two of them are needed in the query
// Add more platforms if you like, when one returns 0 known nodes it is not
// displayed on the stats page.
- $platforms = array('Friendi%%a', 'Diaspora', '%%red%%', 'Hubzilla', 'BlaBlaNet', 'GNU Social', 'StatusNet', 'Mastodon');
+ $platforms = array('Friendi%%a', 'Diaspora', '%%red%%', 'Hubzilla', 'BlaBlaNet', 'GNU Social', 'StatusNet', 'Mastodon', 'Pleroma');
$colors = array('Friendi%%a' => '#ffc018', // orange from the logo
'Diaspora' => '#a1a1a1', // logo is black and white, makes a gray
'%%red%%' => '#c50001', // fire red from the logo
@@ -449,7 +449,8 @@ function admin_page_federation(App $a) {
'BlaBlaNet' => '#3B5998', // blue from the navbar at blablanet-dot-com
'GNU Social'=> '#a22430', // dark red from the logo
'StatusNet' => '#789240', // the green from the logo (red and blue have already others
- 'Mastodon' => '#1a9df9'); // blue from the Mastodon logo
+ 'Mastodon' => '#1a9df9', // blue from the Mastodon logo
+ 'Pleroma' => '#E46F0F'); // Orange from the text that is used on Pleroma instances
$counts = array();
$total = 0;