diff options
author | csarven <csarven@controlyourself.ca> | 2008-11-14 16:05:06 -0500 |
---|---|---|
committer | csarven <csarven@controlyourself.ca> | 2008-11-14 16:05:06 -0500 |
commit | 67f3c1a8d40d6e05ea2fa72af917b26fb9503e06 (patch) | |
tree | 357376fc9d907003334bb62e045e5f623e408386 | |
parent | 577b54c2afda7c817d01af493b68f09f35e360a1 (diff) |
trac626 Put a list of feed links
darcs-hash:20081114210506-eefa4-ba7e9bdd794ddfcacc397d732073abf99e97f3a5.gz
-rw-r--r-- | actions/all.php | 5 | ||||
-rw-r--r-- | actions/replies.php | 5 | ||||
-rw-r--r-- | actions/showfavorites.php | 4 | ||||
-rw-r--r-- | actions/showstream.php | 17 | ||||
-rw-r--r-- | lib/personal.php | 70 | ||||
-rw-r--r-- | lib/util.php | 3 | ||||
-rw-r--r-- | theme/default/display.css | 31 | ||||
-rw-r--r-- | theme/identica/icon_foaf.gif | bin | 0 -> 1144 bytes | |||
-rw-r--r-- | theme/identica/icon_rss.png | bin | 0 -> 781 bytes |
9 files changed, 134 insertions, 1 deletions
diff --git a/actions/all.php b/actions/all.php index bd5b9f01e..729b8dd16 100644 --- a/actions/all.php +++ b/actions/all.php @@ -69,6 +69,11 @@ class AllAction extends StreamAction { } $this->views_menu(); + + $this->show_feeds_list(array(0=>array('href'=>common_local_url('allrss', array('nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'allrss'))); } function show_notices($user) { diff --git a/actions/replies.php b/actions/replies.php index f5bc2ce1a..529ce7e98 100644 --- a/actions/replies.php +++ b/actions/replies.php @@ -73,6 +73,11 @@ class RepliesAction extends StreamAction { } $this->views_menu(); + + $this->show_feeds_list(array(0=>array('href'=>common_local_url('repliesrss', array('nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'repliesrss'))); } function show_replies($user) { diff --git a/actions/showfavorites.php b/actions/showfavorites.php index f7061dc08..c18c73a7a 100644 --- a/actions/showfavorites.php +++ b/actions/showfavorites.php @@ -68,6 +68,10 @@ class ShowfavoritesAction extends StreamAction { common_notice_form('all'); } + $this->show_feeds_list(array(0=>array('href'=>common_local_url('favoritesrss', array('nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'Favorites'))); $this->views_menu(); } diff --git a/actions/showstream.php b/actions/showstream.php index 16bffa4ea..9db31c108 100644 --- a/actions/showstream.php +++ b/actions/showstream.php @@ -72,8 +72,25 @@ class ShowstreamAction extends StreamAction { } $this->views_menu(); + + $this->show_feeds_list(array(0=>array('href'=>common_local_url('userrss', array('nickname' => $user->nickname)), + 'type' => 'rss', + 'version' => 'RSS 1.0', + 'item' => 'notices'), + 1=>array('href'=>common_local_url('usertimeline', array('nickname' => $user->nickname)), + 'type' => 'atom', + 'version' => 'Atom 1.0', + 'item' => 'usertimeline'), + + 2=>array('href'=>common_local_url('foaf',array('nickname' => $user->nickname)), + 'type' => 'rdf', + 'version' => 'FOAF', + 'item' => 'foaf'))); } + + + function show_header($user) { # Feeds common_element('link', array('rel' => 'alternate', diff --git a/lib/personal.php b/lib/personal.php index 248b4cc6b..f1c6ea9b1 100644 --- a/lib/personal.php +++ b/lib/personal.php @@ -84,6 +84,74 @@ class PersonalAction extends Action { common_element_end('ul'); } + + function show_feeds_list($feeds) { + common_element_start('div', array('class' => 'feeds')); + common_element('p', null, 'Feeds:'); + common_element_start('ul', array('class' => 'xoxo')); + + foreach ($feeds as $key => $value) { + $this->common_feed_item($feeds[$key]); + } + common_element_end('ul'); + common_element_end('div'); + } + + function common_feed_item($feed) { + $nickname = $this->trimmed('nickname'); + + switch($feed['item']) { + case 'notices': default: + $feed_classname = $feed['type']; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "$nickname's ".$feed['version']." notice feed"; + $feed['textContent'] = "RSS"; + break; + + case 'allrss': + $feed_classname = $feed['type']; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = $feed['version']." feed for $nickname and friends"; + $feed['textContent'] = "RSS"; + break; + + case 'repliesrss': + $feed_classname = $feed['type']; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = $feed['version']." feed for replies to $nickname"; + $feed['textContent'] = "RSS"; + break; + + case 'foaf': + $feed_classname = "foaf"; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "$nickname's FOAF file"; + $feed['textContent'] = "FOAF"; + break; + + case 'favoritesrss': + $feed_classname = "favorites"; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "Feed for favorites of $nickname"; + $feed['textContent'] = "RSS"; + break; + + case 'usertimeline': + $feed_classname = "atom"; + $feed_mimetype = "application/".$feed['type']."+xml"; + $feed_title = "$nickname's ".$feed['version']." notice feed"; + $feed['textContent'] = "Atom"; + break; + } + common_element_start('li'); + common_element('a', array('href' => $feed['href'], + 'class' => $feed_classname, + 'type' => $feed_mimetype, + 'title' => $feed_title), + $feed['textContent']); + common_element_end('li'); + } + function source_link($source) { $source_name = _($source); @@ -107,4 +175,4 @@ class PersonalAction extends Action { } return; } -}
\ No newline at end of file +} diff --git a/lib/util.php b/lib/util.php index 6f6d615e5..2b4071ba6 100644 --- a/lib/util.php +++ b/lib/util.php @@ -1029,6 +1029,9 @@ function common_fancy_url($action, $args=NULL) { } else { return common_path($args['nickname']); } + + case 'usertimeline': + return common_path("api/statuses/user_timeline/".$args['nickname']."atom"); case 'confirmaddress': return common_path('main/confirmaddress/'.$args['code']); case 'userbyid': diff --git a/theme/default/display.css b/theme/default/display.css index f4eb917ef..b17e5f448 100644 --- a/theme/default/display.css +++ b/theme/default/display.css @@ -138,6 +138,37 @@ p#branding a { border-right: 1px solid #dcaa3f; } + +.feeds { +clear:both; +float:right; +margin-top:1.25em; +position:absolute; +right:0; +bottom:-30px; +} +.feeds * { +line-height:1.4; +padding:0; +margin:0; +font-size:12px; +} + +.feeds p { +font-weight:bold; +display:inline; +display:none; +} +.feeds ul { +display:inline; +} +.feeds li { +list-style-type:none; +display:inline; +margin-left:0.5em; +} + + /* ----- Nav Footer ----- */ #nav_sub { clear: both; diff --git a/theme/identica/icon_foaf.gif b/theme/identica/icon_foaf.gif Binary files differnew file mode 100644 index 000000000..f8f784423 --- /dev/null +++ b/theme/identica/icon_foaf.gif diff --git a/theme/identica/icon_rss.png b/theme/identica/icon_rss.png Binary files differnew file mode 100644 index 000000000..da7a39b4e --- /dev/null +++ b/theme/identica/icon_rss.png |