]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Give remote Atom URL for remote profile view
authorMikael Nordfeldth <mmn@hethane.se>
Sun, 9 Apr 2017 10:13:53 +0000 (12:13 +0200)
committerMikael Nordfeldth <mmn@hethane.se>
Sun, 9 Apr 2017 10:13:53 +0000 (12:13 +0200)
actions/showstream.php
classes/Profile.php

index 1e70ecd3ac3fe19ea8084d5efa8c39c3ab701dd5..6fe9451633a844b3492c5ce57b690e8ba4f798c5 100644 (file)
@@ -113,6 +113,18 @@ class ShowstreamAction extends NoticestreamAction
                                           $this->target->getNickname(), $this->tag)));
         }
 
+        if (!$this->target->isLocal()) {
+            // remote profiles at least have Atom, but we can't guarantee anything else
+            return array(
+                     new Feed(Feed::ATOM,
+                              $this->target->getAtomFeed(),
+                              // TRANS: Title for link to notice feed.
+                              // TRANS: %s is a user nickname.
+                              sprintf(_('Notice feed for %s (Atom)'),
+                                      $this->target->getNickname()))
+                     );
+        }
+
         return array(new Feed(Feed::JSON,
                               common_local_url('ApiTimelineUser',
                                                array(
@@ -139,10 +151,7 @@ class ShowstreamAction extends NoticestreamAction
                               sprintf(_('Notice feed for %s (RSS 2.0)'),
                                       $this->target->getNickname())),
                      new Feed(Feed::ATOM,
-                              common_local_url('ApiTimelineUser',
-                                               array(
-                                                    'id' => $this->target->getID(),
-                                                    'format' => 'atom')),
+                              $this->target->getAtomFeed(),
                               // TRANS: Title for link to notice feed.
                               // TRANS: %s is a user nickname.
                               sprintf(_('Notice feed for %s (Atom)'),
index d076203a8df2226e0659e3e1451371cc6b1a640b..ee050dfb4fc788f7dad42fc6a637bec6714fa64c 100644 (file)
@@ -1618,14 +1618,13 @@ class Profile extends Managed_DataObject
         return !empty($block);
     }
 
-    function getAtomFeed()
+    public function getAtomFeed()
     {
         $feed = null;
 
         if (Event::handle('StartProfileGetAtomFeed', array($this, &$feed))) {
-            $user = User::getKV('id', $this->id);
-            if (!empty($user)) {
-                $feed = common_local_url('ApiTimelineUser', array('id' => $user->id,
+            if ($this->isLocal()) {
+                $feed = common_local_url('ApiTimelineUser', array('id' => $this->getID(),
                                                                   'format' => 'atom'));
             }
             Event::handle('EndProfileGetAtomFeed', array($this, $feed));