diff options
author | Evan Prodromou <evan@controlyourself.ca> | 2008-10-23 17:26:59 -0400 |
---|---|---|
committer | Evan Prodromou <evan@controlyourself.ca> | 2008-10-23 17:26:59 -0400 |
commit | 18d4226ead47b08af03f5e659822389a3cd6bbc9 (patch) | |
tree | b36923cc004e1047f326454b0e5dff4d9db6a181 | |
parent | 894496f0e87fe198a0271cefdea1396c7c9f685d (diff) |
add atom and RSS 2.0 link elements to head of profile page
darcs-hash:20081023212659-5ed1f-0efa86cf7fbcc7bae4cb468fc514f33adf15ba0d.gz
-rw-r--r-- | actions/showstream.php | 18 | ||||
-rw-r--r-- | lib/util.php | 17 |
2 files changed, 34 insertions, 1 deletions
diff --git a/actions/showstream.php b/actions/showstream.php index 5650038b3..16bffa4ea 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -75,11 +75,27 @@ class ShowstreamAction extends StreamAction { } function show_header($user) { + # Feeds + common_element('link', array('rel' => 'alternate', + 'href' => common_local_url('api', + array('apiaction' => 'statuses', + 'method' => 'user_timeline.rss', + 'argument' => $user->nickname)), + 'type' => 'application/rss+xml', + 'title' => sprintf(_('Notice feed for %s'), $user->nickname))); + common_element('link', array('rel' => 'alternate feed', + 'href' => common_local_url('api', + array('apiaction' => 'statuses', + 'method' => 'user_timeline.atom', + 'argument' => $user->nickname)), + 'type' => 'application/atom+xml', + 'title' => sprintf(_('Notice feed for %s'), $user->nickname))); common_element('link', array('rel' => 'alternate', 'href' => common_local_url('userrss', array('nickname' => $user->nickname)), - 'type' => 'application/rss+xml', + 'type' => 'application/rdf+xml', 'title' => sprintf(_('Notice feed for %s'), $user->nickname))); + # FOAF common_element('link', array('rel' => 'meta', 'href' => common_local_url('foaf', array('nickname' => $user->nickname)), diff --git a/lib/util.php b/lib/util.php index 383bbe939..924625e02 100644 --- a/lib/util.php +++ b/lib/util.php @@ -954,6 +954,23 @@ function common_fancy_url($action, $args=NULL) { return common_path('message/' . $args['message']); case 'newmessage': return common_path('message/new' . (($args) ? ('?' . http_build_query($args)) : '')); + case 'api': + # XXX: do fancy URLs for all the API methods + switch (strtolower($args['apiaction'])) { + case 'statuses': + switch (strtolower($args['method'])) { + case 'user_timeline.rss': + return common_path('api/statuses/user_timeline/'.$args['argument'].'.rss'); + case 'user_timeline.atom': + return common_path('api/statuses/user_timeline/'.$args['argument'].'.rss'); + case 'user_timeline.rss': + return common_path('api/statuses/user_timeline/'.$args['argument'].'.rss'); + case 'user_timeline.atom': + return common_path('api/statuses/user_timeline/'.$args['argument'].'.rss'); + default: return common_simple_url($action, $args); + } + default: return common_simple_url($action, $args); + } default: return common_simple_url($action, $args); } |