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