4 use Friendica\Core\Config;
6 require_once("mod/hostxrd.php");
7 require_once("mod/nodeinfo.php");
8 require_once("mod/xrd.php");
10 function _well_known_init(App $a)
13 switch ($a->argv[1]) {
17 case "x-social-relay":
21 nodeinfo_wellknown($a);
28 http_status_exit(404);
32 function wk_social_relay()
34 $subscribe = (bool) Config::get('system', 'relay_subscribe', false);
37 $scope = Config::get('system', 'relay_scope', SR_SCOPE_ALL);
39 $scope = SR_SCOPE_NONE;
44 if ($scope == SR_SCOPE_TAGS) {
45 $server_tags = Config::get('system', 'relay_server_tags');
46 $tagitems = explode(",", $server_tags);
48 foreach ($tagitems AS $tag) {
49 $tags[trim($tag, "# ")] = trim($tag, "# ");
52 if (Config::get('system', 'relay_user_tags')) {
53 $terms = q("SELECT DISTINCT(`term`) FROM `search`");
55 foreach ($terms AS $term) {
56 $tag = trim($term["term"], "#");
63 foreach ($tags AS $tag) {
68 "subscribe" => $subscribe,
73 header('Content-type: application/json; charset=utf-8');
74 echo json_encode($relay, JSON_PRETTY_PRINT | JSON_UNESCAPED_SLASHES);