]> git.mxchange.org Git - friendica.git/blob - mod/_well_known.php
Merge remote-tracking branch 'upstream/develop' into develop
[friendica.git] / mod / _well_known.php
1 <?php\r
2 /// @TODO This file has DOS line endings!\r
3 require_once("mod/hostxrd.php");\r
4 require_once("mod/nodeinfo.php");\r
5 \r
6 function _well_known_init(App &$a){\r
7         if ($a->argc > 1) {\r
8                 switch($a->argv[1]) {\r
9                         case "host-meta":\r
10                                 hostxrd_init($a);\r
11                                 break;\r
12                         case "x-social-relay":\r
13                                 wk_social_relay($a);\r
14                                 break;\r
15                         case "nodeinfo":\r
16                                 nodeinfo_wellknown($a);\r
17                                 break;\r
18                 }\r
19         }\r
20         http_status_exit(404);\r
21         killme();\r
22 }\r
23 \r
24 function wk_social_relay(App &$a) {\r
25 \r
26         define('SR_SCOPE_ALL', 'all');\r
27         define('SR_SCOPE_TAGS', 'tags');\r
28 \r
29         $subscribe = (bool)get_config('system', 'relay_subscribe');\r
30 \r
31         if ($subscribe)\r
32                 $scope = get_config('system', 'relay_scope');\r
33         else\r
34                 $scope = "";\r
35 \r
36         $tags = array();\r
37 \r
38         if ($scope == SR_SCOPE_TAGS) {\r
39 \r
40                 $server_tags = get_config('system', 'relay_server_tags');\r
41                 $tagitems = explode(",", $server_tags);\r
42 \r
43                 foreach($tagitems AS $tag)\r
44                         $tags[trim($tag, "# ")] = trim($tag, "# ");\r
45 \r
46                 if (get_config('system', 'relay_user_tags')) {\r
47                         $terms = q("SELECT DISTINCT(`term`) FROM `search`");\r
48 \r
49                         foreach($terms AS $term) {\r
50                                 $tag = trim($term["term"], "#");\r
51                                 $tags[$tag] = $tag;\r
52                         }\r
53                 }\r
54         }\r
55 \r
56         $taglist = array();\r
57         foreach($tags AS $tag)\r
58                 $taglist[] = $tag;\r
59 \r
60         $relay = array("subscribe" => $subscribe,\r
61                         "scope" => $scope,\r
62                         "tags" => $taglist);\r
63 \r
64         header('Content-type: application/json; charset=utf-8');\r
65         echo json_encode($relay, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);\r
66         exit;\r
67 }\r