]> git.mxchange.org Git - friendica.git/blob - src/Module/Feed.php
Finish t() for src
[friendica.git] / src / Module / Feed.php
1 <?php\r
2 \r
3 namespace Friendica\Module;\r
4 \r
5 use Friendica\BaseModule;\r
6 use Friendica\Protocol\OStatus;\r
7 \r
8 /**\r
9  * Provides public Atom feeds\r
10  *\r
11  * Currently supported:\r
12  * - /feed/[nickname]/ => posts\r
13  * - /feed/[nickname]/posts => posts\r
14  * - /feed/[nickname]/comments => comments\r
15  * - /feed/[nickname]/replies => comments\r
16  * - /feed/[nickname]/activity => activity\r
17  *\r
18  * The nocache GET parameter is provided mainly for debug purposes, requires auth\r
19  *\r
20  * @brief Provides public Atom feeds\r
21  *\r
22  * @author Hypolite Petovan <mrpetovan@gmail.com>\r
23  */\r
24 class Feed extends BaseModule\r
25 {\r
26         public static function content()\r
27         {\r
28                 $a = self::getApp();\r
29 \r
30                 $last_update = x($_GET, 'last_update') ? $_GET['last_update'] : '';\r
31                 $nocache     = x($_GET, 'nocache') && local_user();\r
32 \r
33                 if ($a->argc < 2) {\r
34                         http_status_exit(400);\r
35                 }\r
36 \r
37                 $type = null;\r
38                 if ($a->argc > 2) {\r
39                         $type = $a->argv[2];\r
40                 }\r
41 \r
42                 switch ($type) {\r
43                         case 'posts':\r
44                         case 'comments':\r
45                         case 'activity':\r
46                                 break;\r
47                         case 'replies':\r
48                                 $type = 'comments';\r
49                                 break;\r
50                         default:\r
51                                 $type = 'posts';\r
52                 }\r
53 \r
54                 $nickname = $a->argv[1];\r
55                 header("Content-type: application/atom+xml");\r
56                 echo OStatus::feed($nickname, $last_update, 10, $type, $nocache);\r
57                 killme();\r
58         }\r
59 }\r