]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/atomusernoticefeed.php
Merge branch '0.9.x' of gitorious.org:statusnet/mainline into 1.0.x
[quix0rs-gnu-social.git] / lib / atomusernoticefeed.php
index 9f224325c63b03d52773c4fd3f35acc70c44a83a..785db4915b9c405be2cee021b4b1378360947ae0 100644 (file)
@@ -49,18 +49,75 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
     /**
      * Constructor
      *
-     * @param User    $user    the user for the feed (optional)
+     * @param User    $user    the user for the feed
+     * @param User    $cur     the current authenticated user, if any
      * @param boolean $indent  flag to turn indenting on or off
      *
      * @return void
      */
-    function __construct($user = null, $indent = true) {
-        parent::__construct($indent);
+
+    function __construct($user, $cur = null, $indent = true) {
+        parent::__construct($cur, $indent);
         $this->user = $user;
+        if (!empty($user)) {
+            $profile = $user->getProfile();
+            $this->addAuthor($profile->nickname, $user->uri);
+            $this->setActivitySubject($profile->asActivityNoun('subject'));
+        }
+
+        // TRANS: Title in atom user notice feed. %s is a user name.
+        $title      = sprintf(_("%s timeline"), $user->nickname);
+        $this->setTitle($title);
+
+        $sitename   = common_config('site', 'name');
+        $subtitle   = sprintf(
+            // TRANS: Message is used as a subtitle in atom user notice feed.
+            // TRANS: %1$s is a user name, %2$s is a site name.
+            _('Updates from %1$s on %2$s!'),
+            $user->nickname, $sitename
+        );
+        $this->setSubtitle($subtitle);
+
+        $avatar = $profile->getAvatar(AVATAR_PROFILE_SIZE);
+        $logo = ($avatar) ? $avatar->displayUrl() : Avatar::defaultImage(AVATAR_PROFILE_SIZE);
+        $this->setLogo($logo);
+
+        $this->setUpdated('now');
+
+        $this->addLink(
+            common_local_url(
+                'showstream',
+                array('nickname' => $user->nickname)
+            )
+        );
+        
+        $self = common_local_url('ApiTimelineUser',
+                                 array('id' => $user->id,
+                                       'format' => 'atom'));
+        $this->setId($self);
+        $this->setSelfLink($self);
+
+        $this->addLink(
+            common_local_url('sup', null, null, $user->id),
+            array(
+                'rel' => 'http://api.friendfeed.com/2008/03#sup',
+                'type' => 'application/json'
+            )
+        );
     }
 
     function getUser()
     {
         return $this->user;
     }
+
+    function showSource()
+    {
+        return false;
+    }
+
+    function showAuthor()
+    {
+        return false;
+    }
 }