]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/showstream.php
Initial upgraded Atom output for group timelines
[quix0rs-gnu-social.git] / actions / showstream.php
index 4952ebdb7e357a49dd22987d5fb5266f790f4878..f9407e35a1f7890189b817c39dd8900c2c6a1f33 100644 (file)
@@ -76,7 +76,7 @@ class ShowstreamAction extends ProfileAction
         if ($this->page == 1) {
             return $base;
         } else {
-            return sprintf(_("%s, page %d"),
+            return sprintf(_('%1$s, page %2$d'),
                            $base,
                            $this->page);
         }
@@ -119,7 +119,7 @@ class ShowstreamAction extends ProfileAction
                                   common_local_url('userrss',
                                                    array('nickname' => $this->user->nickname,
                                                          'tag' => $this->tag)),
-                                  sprintf(_('Notice feed for %s tagged %s (RSS 1.0)'),
+                                  sprintf(_('Notice feed for %1$s tagged %2$s (RSS 1.0)'),
                                           $this->user->nickname, $this->tag)));
         }
 
@@ -131,14 +131,14 @@ class ShowstreamAction extends ProfileAction
                      new Feed(Feed::RSS2,
                               common_local_url('ApiTimelineUser',
                                                array(
-                                                    'id' => $this->user->nickname,
+                                                    'id' => $this->user->id,
                                                     'format' => 'rss')),
                               sprintf(_('Notice feed for %s (RSS 2.0)'),
                                       $this->user->nickname)),
                      new Feed(Feed::ATOM,
                               common_local_url('ApiTimelineUser',
                                                array(
-                                                    'id' => $this->user->nickname,
+                                                    'id' => $this->user->id,
                                                     'format' => 'atom')),
                               sprintf(_('Notice feed for %s (Atom)'),
                                       $this->user->nickname)),
@@ -178,6 +178,15 @@ class ShowstreamAction extends ProfileAction
         $this->element('link', array('rel' => 'microsummary',
                                      'href' => common_local_url('microsummary',
                                                                 array('nickname' => $this->profile->nickname))));
+
+        $rsd = common_local_url('rsd',
+                                array('nickname' => $this->profile->nickname));
+
+        // RSD, http://tales.phrasewise.com/rfc/rsd
+        $this->element('link', array('rel' => 'EditURI',
+                                     'type' => 'application/rsd+xml',
+                                     'href' => $rsd));
+
     }
 
     function showProfile()
@@ -188,14 +197,14 @@ class ShowstreamAction extends ProfileAction
 
     function showEmptyListMessage()
     {
-        $message = sprintf(_('This is the timeline for %s but %s hasn\'t posted anything yet.'), $this->user->nickname, $this->user->nickname) . ' ';
+        $message = sprintf(_('This is the timeline for %1$s but %2$s hasn\'t posted anything yet.'), $this->user->nickname, $this->user->nickname) . ' ';
 
         if (common_logged_in()) {
             $current_user = common_current_user();
             if ($this->user->id === $current_user->id) {
                 $message .= _('Seen anything interesting recently? You haven\'t posted any notices yet, now would be a good time to start :)');
             } else {
-                $message .= sprintf(_('You can try to nudge %s or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%s).'), $this->user->nickname, '@' . $this->user->nickname);
+                $message .= sprintf(_('You can try to nudge %1$s or [post something to his or her attention](%%%%action.newnotice%%%%?status_textarea=%2$s).'), $this->user->nickname, '@' . $this->user->nickname);
             }
         }
         else {
@@ -253,7 +262,7 @@ class ShowstreamAction extends ProfileAction
     }
 }
 
-// We do not show the author for a profile, since we already know who it is!
+// We don't show the author for a profile, since we already know who it is!
 
 class ProfileNoticeList extends NoticeList
 {
@@ -269,4 +278,33 @@ class ProfileNoticeListItem extends NoticeListItem
     {
         return;
     }
+
+    /**
+     * show a link to the author of repeat
+     *
+     * @return void
+     */
+
+    function showRepeat()
+    {
+        if (!empty($this->repeat)) {
+
+            // FIXME: this code is almost identical to default; need to refactor
+
+            $attrs = array('href' => $this->profile->profileurl,
+                           'class' => 'url');
+
+            if (!empty($this->profile->fullname)) {
+                $attrs['title'] = $this->profile->fullname . ' (' . $this->profile->nickname . ')';
+            }
+
+            $this->out->elementStart('span', 'repeat');
+
+            $text_link = XMLStringer::estring('a', $attrs, $this->profile->nickname);
+
+            $this->out->raw(sprintf(_('Repeat of %s'), $text_link));
+
+            $this->out->elementEnd('span');
+        }
+    }
 }