]> git.mxchange.org Git - friendica.git/blob - mod/_well_known.php
6c33136f957a2576bf8a121404782aa23ece0f03
[friendica.git] / mod / _well_known.php
1 <?php\r
2 require_once("mod/hostxrd.php");\r
3 require_once("mod/nodeinfo.php");\r
4 \r
5 if(! function_exists('_well_known_init')) {\r
6 function _well_known_init(&$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 \r
25 if(! function_exists('wk_social_relay')) {\r
26 function wk_social_relay(&$a) {\r
27 \r
28         define('SR_SCOPE_ALL', 'all');\r
29         define('SR_SCOPE_TAGS', 'tags');\r
30 \r
31         $subscribe = (bool)get_config('system', 'relay_subscribe');\r
32 \r
33         if ($subscribe)\r
34                 $scope = get_config('system', 'relay_scope');\r
35         else\r
36                 $scope = "";\r
37 \r
38         $tags = array();\r
39 \r
40         if ($scope == SR_SCOPE_TAGS) {\r
41 \r
42                 $server_tags = get_config('system', 'relay_server_tags');\r
43                 $tagitems = explode(",", $server_tags);\r
44 \r
45                 foreach($tagitems AS $tag)\r
46                         $tags[trim($tag, "# ")] = trim($tag, "# ");\r
47 \r
48                 if (get_config('system', 'relay_user_tags')) {\r
49                         $terms = q("SELECT DISTINCT(`term`) FROM `search`");\r
50 \r
51                         foreach($terms AS $term) {\r
52                                 $tag = trim($term["term"], "#");\r
53                                 $tags[$tag] = $tag;\r
54                         }\r
55                 }\r
56         }\r
57 \r
58         $taglist = array();\r
59         foreach($tags AS $tag)\r
60                 $taglist[] = $tag;\r
61 \r
62         $relay = array("subscribe" => $subscribe,\r
63                         "scope" => $scope,\r
64                         "tags" => $taglist);\r
65 \r
66         header('Content-type: application/json; charset=utf-8');\r
67         echo json_encode($relay, JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);\r
68         exit;\r
69 }\r
70 }\r