]> git.mxchange.org Git - friendica.git/blob - src/Module/Feed.php
Add Feed module
[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  * @brief Provides public Atom feeds\r
19  *\r
20  * @author Hypolite Petovan <mrpetovan@gmail.com>\r
21  */\r
22 class Feed extends BaseModule\r
23 {\r
24         public static function content()\r
25         {\r
26                 $a = self::getApp();\r
27 \r
28                 $last_update = x($_GET, 'last_update') ? $_GET['last_update'] : '';\r
29                 $nocache = x($_GET, 'nocache') && local_user();\r
30 \r
31                 $type = null;\r
32                 if ($a->argc > 2) {\r
33                         $type = $a->argv[2];\r
34                 }\r
35 \r
36                 switch ($type) {\r
37                         case 'posts':\r
38                         case 'comments':\r
39                         case 'activity':\r
40                                 break;\r
41                         case 'replies':\r
42                                 $type = 'comments';\r
43                                 break;\r
44                         default:\r
45                                 $type = 'posts';\r
46                 }\r
47 \r
48                 $nickname = $a->argv[1];\r
49                 header("Content-type: application/atom+xml");\r
50                 echo OStatus::feed($nickname, $last_update, 10, $type, $nocache);\r
51                 killme();\r
52         }\r
53 }\r