]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix atom feed IDs in user and group atom feeds
authorZach Copley <zach@status.net>
Fri, 26 Feb 2010 02:12:34 +0000 (18:12 -0800)
committerZach Copley <zach@status.net>
Fri, 26 Feb 2010 02:13:06 +0000 (18:13 -0800)
actions/apitimelinegroup.php
actions/apitimelineuser.php

index 0bb4860ea7f6009ac185d711e2cbf327d6410523..04456ffea4826456862de6de03b165f51f461919 100644 (file)
@@ -107,8 +107,6 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
         $sitename   = common_config('site', 'name');
         $avatar     = $this->group->homepage_logo;
         $title      = sprintf(_("%s timeline"), $this->group->nickname);
-        $taguribase = TagURI::base();
-        $id         = "tag:$taguribase:GroupTimeline:" . $this->group->id;
 
         $subtitle   = sprintf(
             _('Updates from %1$s on %2$s!'),
@@ -138,19 +136,9 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
 
             try {
 
-                // If this was called using an integer ID, i.e.: using the canonical
-                // URL for this group's feed, then pass the Group object into the feed, 
-                // so the OStatus plugin, and possibly other plugins, can access it. 
-                // Feels sorta hacky. -- Z
+                $atom = new AtomGroupNoticeFeed($this->group);
 
-                $atom = null;
-                $id = $this->arg('id');
-
-                if (strval(intval($id)) === strval($id)) {
-                    $atom = new AtomGroupNoticeFeed($this->group);
-                } else {
-                    $atom = new AtomGroupNoticeFeed();
-                }
+                // @todo set all this Atom junk up inside the feed class
 
                 $atom->setId($id);
                 $atom->setTitle($title);
@@ -169,6 +157,8 @@ class ApiTimelineGroupAction extends ApiPrivateAuthAction
                     $aargs['id'] = $id;
                 }
 
+                $atom->setId($this->getSelfUri('ApiTimelineGroup', $aargs));
+
                 $atom->addLink(
                     $this->getSelfUri('ApiTimelineGroup', $aargs),
                     array('rel' => 'self', 'type' => 'application/atom+xml')
index 3e849cc786c56b69c77b67c5ae6eee3685cdbd8b..b3ded97c0fc09152b985e62fa93c3fb3929e2627 100644 (file)
@@ -116,8 +116,6 @@ class ApiTimelineUserAction extends ApiBareAuthAction
 
         $sitename   = common_config('site', 'name');
         $title      = sprintf(_("%s timeline"), $this->user->nickname);
-        $taguribase = TagURI::base();
-        $id         = "tag:$taguribase:UserTimeline:" . $this->user->id;
         $link       = common_local_url(
             'showstream',
             array('nickname' => $this->user->nickname)
@@ -148,21 +146,10 @@ class ApiTimelineUserAction extends ApiBareAuthAction
 
             header('Content-Type: application/atom+xml; charset=utf-8');
 
-            // If this was called using an integer ID, i.e.: using the canonical
-            // URL for this user's feed, then pass the User object into the feed,
-            // so the OStatus plugin, and possibly other plugins, can access it.
-            // Feels sorta hacky. -- Z
+            // @todo set all this Atom junk up inside the feed class
 
-            $atom = null;
-            $id = $this->arg('id');
-
-            if (strval(intval($id)) === strval($id)) {
-                $atom = new AtomUserNoticeFeed($this->user);
-            } else {
-                $atom = new AtomUserNoticeFeed();
-            }
+            $atom = new AtomUserNoticeFeed($this->user);
 
-            $atom->setId($id);
             $atom->setTitle($title);
             $atom->setSubtitle($subtitle);
             $atom->setLogo($logo);
@@ -181,6 +168,8 @@ class ApiTimelineUserAction extends ApiBareAuthAction
                 $aargs['id'] = $id;
             }
 
+            $atom->setId($this->getSelfUri('ApiTimelineUser', $aargs));
+
             $atom->addLink(
                 $this->getSelfUri('ApiTimelineUser', $aargs),
                 array('rel' => 'self', 'type' => 'application/atom+xml')