]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
trac626 Put a list of feed links
authorcsarven <csarven@controlyourself.ca>
Fri, 14 Nov 2008 21:05:06 +0000 (16:05 -0500)
committercsarven <csarven@controlyourself.ca>
Fri, 14 Nov 2008 21:05:06 +0000 (16:05 -0500)
darcs-hash:20081114210506-eefa4-ba7e9bdd794ddfcacc397d732073abf99e97f3a5.gz

actions/all.php
actions/replies.php
actions/showfavorites.php
actions/showstream.php
lib/personal.php
lib/util.php
theme/default/display.css
theme/identica/icon_foaf.gif [new file with mode: 0644]
theme/identica/icon_rss.png [new file with mode: 0644]

index bd5b9f01e5f5dce8f642ea28300ee47d6d6734a1..729b8dd16aec644e619fa6040967e5baa0e64216 100644 (file)
@@ -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) {
index f5bc2ce1a43801f0ebc5a35d87a9cf8cae61dcee..529ce7e980eee6ca0c8eaddab5472568ac1198bf 100644 (file)
@@ -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) {
index f7061dc08e26526764af8cee5a959519cde38f86..c18c73a7a1b25a692fa9f33fe2eb269be6f72d2c 100644 (file)
@@ -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();
        }
 
index 16bffa4ea7edeb1711ae92a8a7893e4a26492a4b..9db31c108e82b02af3d3a4234970d925c9c022a5 100644 (file)
@@ -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',
index 248b4cc6bb76a5ae3b3b758f4825d0a3e04aa0f0..f1c6ea9b137a1476b95c71a138ef3e23b1e1235d 100644 (file)
@@ -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
+}
index 6f6d615e5c30eb98e00cf6de5b0f16496e9fd80e..2b4071ba6dde544a1d54fc293fc396cc8dbaea68 100644 (file)
@@ -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':
index f4eb917ef92df7d3db1d25657ed1014fedbc9e20..b17e5f448296adea963a735c2935b31e77af8267 100644 (file)
@@ -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
new file mode 100644 (file)
index 0000000..f8f7844
Binary files /dev/null and b/theme/identica/icon_foaf.gif differ
diff --git a/theme/identica/icon_rss.png b/theme/identica/icon_rss.png
new file mode 100644 (file)
index 0000000..da7a39b
Binary files /dev/null and b/theme/identica/icon_rss.png differ