Browse Source

Merge pull request #1847 from annando/1508-nodeinfo2

The nodeinfo is changed to the new specifications
pull/1849/head
Tobias Diekershoff 6 years ago
parent
commit
109620ae99
1 changed files with 46 additions and 40 deletions
  1. +46
    -40
      mod/nodeinfo.php

+ 46
- 40
mod/nodeinfo.php View File

@ -52,84 +52,90 @@ function nodeinfo_init(&$a){
$nodeinfo["protocols"]["outbound"][] = "gnusocial";
}
//if ($smtp) {
// $nodeinfo["protocols"]["inbound"][] = "smtp";
// $nodeinfo["protocols"]["outbound"][] = "smtp";
//}
$nodeinfo["services"] = array();
$nodeinfo["services"]["inbound"] = array();
$nodeinfo["services"]["outbound"] = array();
$nodeinfo["openRegistrations"] = ($a->config['register_policy'] != 0);
$nodeinfo["services"] = array();
$nodeinfo["usage"] = array();
$nodeinfo["usage"]["users"] = array("total" => (int)get_config("nodeinfo","total_users"),
"activeHalfyear" => (int)get_config("nodeinfo","active_users_halfyear"),
"activeMonth" => (int)get_config("nodeinfo","active_users_monthly"));
$nodeinfo["usage"]["localPosts"] = (int)get_config("nodeinfo","local_posts");
$nodeinfo["usage"]["localComments"] = (int)get_config("nodeinfo","local_comments");
$nodeinfo["metadata"] = array("nodeName" => $a->config["sitename"]);
if (nodeinfo_plugin_enabled("appnet"))
$nodeinfo["services"]["inbound"][] = "appnet";
if (nodeinfo_plugin_enabled("appnet") OR nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"][] = "appnet";
$nodeinfo["services"]["outbound"][] = "appnet";
if (nodeinfo_plugin_enabled("blogger"))
$nodeinfo["services"][] = "blogger";
//if (get_config("system","diaspora_enabled"))
// $nodeinfo["services"][] = "diaspora";
$nodeinfo["services"]["outbound"][] = "blogger";
if (nodeinfo_plugin_enabled("dwpost"))
$nodeinfo["services"][] = "dreamwidth";
$nodeinfo["services"]["outbound"][] = "dreamwidth";
if (nodeinfo_plugin_enabled("fbpost") OR nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"][] = "facebook";
$nodeinfo["services"]["outbound"][] = "facebook";
//$nodeinfo["services"][] = "friendica";
//if (nodeinfo_plugin_enabled("statusnet") OR !get_config("system","ostatus_disabled"))
if (nodeinfo_plugin_enabled("statusnet"))
$nodeinfo["services"][] = "gnusocial";
if (nodeinfo_plugin_enabled("statusnet")) {
$nodeinfo["services"]["inbound"][] = "gnusocial";
$nodeinfo["services"]["outbound"][] = "gnusocial";
}
if (nodeinfo_plugin_enabled("gpluspost") OR nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"][] = "google";
$nodeinfo["services"]["outbound"][] = "google";
if (nodeinfo_plugin_enabled("ijpost"))
$nodeinfo["services"][] = "insanejournal";
$nodeinfo["services"]["outbound"][] = "insanejournal";
if (nodeinfo_plugin_enabled("libertree"))
$nodeinfo["services"][] = "libertree";
$nodeinfo["services"]["outbound"][] = "libertree";
if (nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"][] = "linkedin";
$nodeinfo["services"]["outbound"][] = "linkedin";
if (nodeinfo_plugin_enabled("ljpost"))
$nodeinfo["services"][] = "livejournal";
$nodeinfo["services"]["outbound"][] = "livejournal";
if (nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"][] = "pinterest";
$nodeinfo["services"]["outbound"][] = "pinterest";
if (nodeinfo_plugin_enabled("posterous"))
$nodeinfo["services"][] = "posterous";
$nodeinfo["services"]["outbound"][] = "posterous";
if (nodeinfo_plugin_enabled("pumpio"))
$nodeinfo["services"][] = "pumpio";
if (nodeinfo_plugin_enabled("pumpio")) {
$nodeinfo["services"]["inbound"][] = "pumpio";
$nodeinfo["services"]["outbound"][] = "pumpio";
}
// redmatrix
if ($smtp)
$nodeinfo["services"][] = "smtp";
$nodeinfo["services"]["outbound"][] = "smtp";
if (nodeinfo_plugin_enabled("tumblr"))
$nodeinfo["services"][] = "tumblr";
$nodeinfo["services"]["outbound"][] = "tumblr";
if (nodeinfo_plugin_enabled("twitter"))
$nodeinfo["services"][] = "twitter";
if (nodeinfo_plugin_enabled("twitter") OR nodeinfo_plugin_enabled("buffer"))
$nodeinfo["services"]["outbound"][] = "twitter";
if (nodeinfo_plugin_enabled("wppost"))
$nodeinfo["services"][] = "wordpress";
$nodeinfo["services"]["outbound"][] = "wordpress";
$nodeinfo["openRegistrations"] = ($a->config['register_policy'] != 0);
$nodeinfo["metadata"]["protocols"] = $nodeinfo["protocols"];
$nodeinfo["metadata"]["protocols"]["outbound"][] = "atom1.0";
$nodeinfo["metadata"]["protocols"]["inbound"][] = "atom1.0";
$nodeinfo["metadata"]["protocols"]["inbound"][] = "rss2.0";
$nodeinfo["usage"] = array();
$nodeinfo["usage"]["users"] = array("total" => (int)get_config("nodeinfo","total_users"),
"activeHalfyear" => (int)get_config("nodeinfo","active_users_halfyear"),
"activeMonth" => (int)get_config("nodeinfo","active_users_monthly"));
$nodeinfo["usage"]["localPosts"] = (int)get_config("nodeinfo","local_posts");
$nodeinfo["usage"]["localComments"] = (int)get_config("nodeinfo","local_comments");
$nodeinfo["metadata"]["services"] = $nodeinfo["services"];
//$nodeinfo["metadata"] = new stdClass();
$nodeinfo["metadata"] = array("nodeName" => $a->config["sitename"]);
if (nodeinfo_plugin_enabled("twitter"))
$nodeinfo["metadata"]["services"]["inbound"][] = "twitter";
header('Content-type: application/json; charset=utf-8');
echo json_encode($nodeinfo, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);


Loading…
Cancel
Save