]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Non-functional "retweeted to me" API call modified (but not fixed)
authorMikael Nordfeldth <mmn@hethane.se>
Tue, 17 Feb 2015 15:45:26 +0000 (16:45 +0100)
committerMikael Nordfeldth <mmn@hethane.se>
Tue, 17 Feb 2015 15:48:24 +0000 (16:48 +0100)
For some reason the "retweeted to me" part of the Twitter API was removed
when Evan made some inbox changes back in the StatusNet days. We might
recover this functionality, but not yet. The proper function calls are
however fixed in this commit.

actions/apitimelineretweetedtome.php
classes/Profile.php
classes/User.php

index 85f52f7388f88c27314534c8c1736b6a4587b74d..92d4b358fe4168dbaf6b452c4de6b5547e16ebbe 100644 (file)
@@ -27,9 +27,7 @@
  * @link      http://status.net/
  */
 
-if (!defined('STATUSNET')) {
-    exit(1);
-}
+if (!defined('GNUSOCIAL')) { exit(1); }
 
 /**
  * Show most recent notices that are repeats in user's inbox
@@ -59,7 +57,7 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction
      *
      * @return boolean success flag
      */
-    function prepare($args)
+    protected function prepare(array $args=array())
     {
         parent::prepare($args);
 
@@ -79,35 +77,33 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction
      *
      * show a timeline of the user's repeated notices
      *
-     * @param array $args $_REQUEST data (unused)
-     *
      * @return void
      */
-    function handle($args)
+    protected function handle()
     {
-        parent::handle($args);
+        parent::handle();
 
         $offset = ($this->page-1) * $this->cnt;
         $limit  = $this->cnt;
 
         // TRANS: Title for Atom feed "repeated to me". %s is the user nickname.
-        $title      = sprintf(_("Repeated to %s"), $this->auth_user->nickname);
+        $title      = sprintf(_("Repeated to %s"), $this->scoped->getNickname());
         $subtitle   = sprintf(
             // @todo FIXME: $profile is not defined.
             // TRANS: Subtitle for API action that shows most recent notices that are repeats in user's inbox.
             // TRANS: %1$s is the sitename, %2$s is a user nickname, %3$s is a user profile name.
             _('%1$s notices that were to repeated to %2$s / %3$s.'),
-            $sitename, $this->user->nickname, $profile->getBestName()
+            $sitename, $this->scoped->getNickname(), $profile->getBestName()
         );
         $taguribase = TagURI::base();
-        $id         = "tag:$taguribase:RepeatedToMe:" . $this->auth_user->id;
+        $id         = "tag:$taguribase:RepeatedToMe:" . $this->scoped->id;
 
         $link = common_local_url(
             'all',
-             array('nickname' => $this->auth_user->nickname)
+             array('nickname' => $this->scoped->getNickname())
         );
 
-        $strm = $this->auth_user->repeatedToMe($offset, $limit, $this->since_id, $this->max_id);
+        $strm = $this->scoped->repeatedToMe($offset, $limit, $this->since_id, $this->max_id);
 
         switch ($this->format) {
         case 'xml':
@@ -119,7 +115,7 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction
         case 'atom':
             header('Content-Type: application/atom+xml; charset=utf-8');
 
-            $atom = new AtomNoticeFeed($this->auth_user);
+            $atom = new AtomNoticeFeed($this->scoped->getUser());
 
             $atom->setId($id);
             $atom->setTitle($title);
@@ -137,7 +133,7 @@ class ApiTimelineRetweetedToMeAction extends ApiAuthAction
             break;
         case 'as':
             header('Content-Type: ' . ActivityStreamJSONDocument::CONTENT_TYPE);
-            $doc = new ActivityStreamJSONDocument($this->auth_user);
+            $doc = new ActivityStreamJSONDocument($this->scoped->getUser());
             $doc->setTitle($title);
             $doc->addLink($link, 'alternate', 'text/html');
             $doc->addItemsFromNotices($strm);
index 0b608fbb24883164733d90560d8c9a8c1c5cbbcc..6ae1b90011e1d6472ede0754e1258e32a65b71a0 100644 (file)
@@ -1451,6 +1451,12 @@ class Profile extends Managed_DataObject
         return $feed;
     }
 
+    public function repeatedToMe($offset=0, $limit=20, $since_id=null, $max_id=null)
+    {
+        // TRANS: Exception thrown when trying view "repeated to me".
+        throw new Exception(_('Not implemented since inbox change.'));
+    }
+
     /*
      * Get a Profile object by URI. Will call external plugins for help
      * using the event StartGetProfileFromURI.
index 7a19ae3a0a04cbf9e39cdb5d724106292078d78b..6e42daa90cd52df4e9d92135445072d4d8f6ad99 100644 (file)
@@ -687,11 +687,9 @@ class User extends Managed_DataObject
         return $stream->getNotices($offset, $limit, $since_id, $max_id);
     }
 
-
-    function repeatedToMe($offset=0, $limit=20, $since_id=null, $max_id=null)
+    public function repeatedToMe($offset=0, $limit=20, $since_id=null, $max_id=null)
     {
-        // TRANS: Exception thrown when trying view "repeated to me".
-        throw new Exception(_('Not implemented since inbox change.'));
+        return $this->getProfile()->repeatedToMe($offset, $limit, $since_id, $max_id);
     }
 
     public static function siteOwner()