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