]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/tag.php
Merge commit 'br3nda/0.8.x-attachmentfix' into 0.8.x
[quix0rs-gnu-social.git] / actions / tag.php
index 231f2c299280580842099f251541fbc9d2619204..020399d9eeddc2b1d6476f4460fcefc117c26646 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
  * Laconica - a distributed open-source microblogging tool
- * Copyright (C) 2008, Controlez-Vous, Inc.
+ * Copyright (C) 2008, 2009, Control Yourself, Inc.
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as published by
@@ -33,7 +33,9 @@ class TagAction extends Action
         }
 
         if ($this->tag != $taginput) {
-            common_redirect(common_local_url('tag', array('tag' => $this->tag)));
+            common_redirect(common_local_url('tag', array('tag' => $this->tag)),
+                            301);
+            return false;
         }
 
         $this->page = ($this->arg('page')) ? ($this->arg('page')+0) : 1;
@@ -43,6 +45,12 @@ class TagAction extends Action
         return true;
     }
 
+    function showSections()
+    {
+        $pop = new PopularNoticeSection($this);
+        $pop->show();
+    }
+
     function title()
     {
         if ($this->page == 1) {
@@ -64,13 +72,24 @@ class TagAction extends Action
     function getFeeds()
     {
         return array(new Feed(Feed::RSS1,
-                              common_local_url('tagrss', array('tag' => $this->tag)),
-                              sprintf(_('Feed for tag %s'), $this->tag)));
-    }
-
-    function showPageNotice()
-    {
-        return sprintf(_('Messages tagged "%s", most recent first'), $this->tag);
+                              common_local_url('tagrss',
+                                               array('tag' => $this->tag)),
+                              sprintf(_('Notice feed for tag %s (RSS 1.0)'),
+                                      $this->tag)),
+                     new Feed(Feed::RSS2,   
+                              common_local_url('api',
+                                               array('apiaction' => 'tags',
+                                                     'method' => 'timeline',
+                                                     'argument' => $this->tag.'.rss')),
+                              sprintf(_('Notice feed for %s group (RSS 2.0)'),
+                                      $this->tag)),
+                     new Feed(Feed::ATOM,
+                              common_local_url('api',
+                                               array('apiaction' => 'tags',
+                                                     'method' => 'timeline',
+                                                     'argument' => $this->tag.'.atom')),
+                              sprintf(_('Notice feed for tag %s (Atom)'),
+                                      $this->tag)));
     }
 
     function showContent()
@@ -84,4 +103,9 @@ class TagAction extends Action
         $this->pagination($this->page > 1, $cnt > NOTICES_PER_PAGE,
                           $this->page, 'tag', array('tag' => $this->tag));
     }
+
+    function isReadOnly($args)
+    {
+        return true;
+    }
 }