]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/atompubsubscriptionfeed.php
fix navigation links for subscriptions feed
[quix0rs-gnu-social.git] / actions / atompubsubscriptionfeed.php
index b5577b71acb914b405a75b57a748fc751b94bc17..15ae79f6a6c5782bd9ec9977d72d2994ddcd81ee 100644 (file)
@@ -51,8 +51,8 @@ require_once INSTALLDIR . '/lib/apiauth.php';
 
 class AtompubsubscriptionfeedAction extends ApiAuthAction
 {
-    private $_profile    = null;
-    private $_subscribed = null;
+    private $_profile       = null;
+    private $_subscriptions = null;
 
     /**
      * For initializing members of the class.
@@ -76,11 +76,12 @@ class AtompubsubscriptionfeedAction extends ApiAuthAction
         }
 
         // page and count from ApiAction
-        // Note: this is a list of profiles, not subscriptions
 
-        $this->_subscribed = 
-            $this->_profile->getSubscriptions(($this->page-1) * $this->count, 
-                                              $this->count + 1);
+        $offset = ($this->page-1) * $this->count;
+
+        $this->_subscriptions = Subscription::bySubscriber($subscriber,
+                                                           $offset,
+                                                           $this->count + 1);
 
         return true;
     }
@@ -147,8 +148,8 @@ class AtompubsubscriptionfeedAction extends ApiAuthAction
                                 $this->_profile->getBestName()));
 
         $feed->setSubtitle(sprintf(_("People %s has subscribed to on %s"),
-                                   $this->_profile->getBestName()),
-                           common_config('site', 'name'));
+                                   $this->_profile->getBestName(),
+                                   common_config('site', 'name')));
 
         $feed->addLink(common_local_url('subscriptions',
                                         array('nickname' => 
@@ -167,19 +168,19 @@ class AtompubsubscriptionfeedAction extends ApiAuthAction
 
             $feed->addLink(common_local_url('AtomPubSubscriptionFeed',
                                             array('subscriber' => 
-                                                  $this->_profile->id,
-                                                  'page' => 
+                                                  $this->_profile->id),
+                                            array('page' => 
                                                   $this->page - 1)),
                            array('rel' => 'prev',
                                  'type' => 'application/atom+xml'));
         }
 
-        if ($this->_subscribed->N > $this->count) {
+        if ($this->_subscriptions->N > $this->count) {
 
             $feed->addLink(common_local_url('AtomPubSubscriptionFeed',
                                             array('subscriber' =>
-                                                  $this->_profile->id,
-                                                  'page' =>
+                                                  $this->_profile->id),
+                                            array('page' =>
                                                   $this->page + 1)),
                            array('rel' => 'next',
                                  'type' => 'application/atom+xml'));
@@ -189,7 +190,7 @@ class AtompubsubscriptionfeedAction extends ApiAuthAction
 
         // XXX: This is kind of inefficient
 
-        while ($this->_subscribed->fetch()) {
+        while ($this->_subscriptions->fetch()) {
 
             // We get one more than needed; skip that one
 
@@ -199,17 +200,21 @@ class AtompubsubscriptionfeedAction extends ApiAuthAction
                 break;
             }
 
-            $sub = Subscription::pkeyGet(array('subscriber' =>
-                                               $this->_profile->id,
-                                               'subscribed' =>
-                                               $this->_subscribed->id));
-            $act = $sub->asActivity();
+            $act = $this->_subscriptions->asActivity();
             $feed->addEntryRaw($act->asString(false, false, false));
         }
 
         $this->raw($feed->getString());
     }
 
+    /**
+     * Add a new subscription
+     *
+     * Handling the POST method for AtomPub
+     *
+     * @return void
+     */
+
     function addSubscription()
     {
         if (empty($this->auth_user) ||