]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - lib/atomusernoticefeed.php
use the new maxNoticeLength and maxUrlLength functionality introduced in commit 14adb...
[quix0rs-gnu-social.git] / lib / atomusernoticefeed.php
index 2ad8de4550d1a3c3aac8b694f974a4ebf9e19c2d..acfcbd75fb9fc25ad8ab5b4a0e23ea732167680b 100644 (file)
@@ -49,23 +49,74 @@ class AtomUserNoticeFeed extends AtomNoticeFeed
     /**
      * Constructor
      *
-     * @param User    $user    the user for the feed (optional)
+     * @param User    $user    the user for the feed
      * @param boolean $indent  flag to turn indenting on or off
      *
      * @return void
      */
 
-    function __construct($user = null, $indent = true) {
+    function __construct($user, $indent = true) {
         parent::__construct($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;
+    }
 }