}
$a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . ($a->profile['net-publish'] ? 'true' : 'false') . '" />' . "\r\n";
- $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/dfrn_poll/' . $which . '" />' . "\r\n";
+ $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/" title="' . t('%s\'s posts', $a->profile['username']) . '"/>' . "\r\n";
+ $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/comments" title="' . t('%s\'s comments', $a->profile['username']) . '"/>' . "\r\n";
+ $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . System::baseUrl() . '/feed/' . $which . '/activity" title="' . t('%s\'s timeline', $a->profile['username']) . '"/>' . "\r\n";
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . ($a->path ? '/' . $a->path : ''));
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . System::baseUrl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
header('Link: <' . System::baseUrl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
--- /dev/null
+<?php\r
+\r
+namespace Friendica\Module;\r
+\r
+use Friendica\BaseModule;\r
+use Friendica\Protocol\OStatus;\r
+\r
+/**\r
+ * Provides public Atom feeds\r
+ *\r
+ * Currently supported:\r
+ * - /feed/[nickname]/ => posts\r
+ * - /feed/[nickname]/posts => posts\r
+ * - /feed/[nickname]/comments => comments\r
+ * - /feed/[nickname]/replies => comments\r
+ * - /feed/[nickname]/activity => activity\r
+ *\r
+ * @brief Provides public Atom feeds\r
+ *\r
+ * @author Hypolite Petovan <mrpetovan@gmail.com>\r
+ */\r
+class Feed extends BaseModule\r
+{\r
+ public static function content()\r
+ {\r
+ $a = self::getApp();\r
+\r
+ $last_update = x($_GET, 'last_update') ? $_GET['last_update'] : '';\r
+ $nocache = x($_GET, 'nocache') && local_user();\r
+\r
+ $type = null;\r
+ if ($a->argc > 2) {\r
+ $type = $a->argv[2];\r
+ }\r
+\r
+ switch ($type) {\r
+ case 'posts':\r
+ case 'comments':\r
+ case 'activity':\r
+ break;\r
+ case 'replies':\r
+ $type = 'comments';\r
+ break;\r
+ default:\r
+ $type = 'posts';\r
+ }\r
+\r
+ $nickname = $a->argv[1];\r
+ header("Content-type: application/atom+xml");\r
+ echo OStatus::feed($nickname, $last_update, 10, $type, $nocache);\r
+ killme();\r
+ }\r
+}\r