From: Mikael Nordfeldth <mmn@hethane.se>
Date: Tue, 17 Feb 2015 15:45:26 +0000 (+0100)
Subject: Non-functional "retweeted to me" API call modified (but not fixed)
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=901a825b6143b649f82e95cade8e8de1911151af;p=quix0rs-gnu-social.git

Non-functional "retweeted to me" API call modified (but not fixed)

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.
---

diff --git a/actions/apitimelineretweetedtome.php b/actions/apitimelineretweetedtome.php
index 85f52f7388..92d4b358fe 100644
--- a/actions/apitimelineretweetedtome.php
+++ b/actions/apitimelineretweetedtome.php
@@ -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);
diff --git a/classes/Profile.php b/classes/Profile.php
index 0b608fbb24..6ae1b90011 100644
--- a/classes/Profile.php
+++ b/classes/Profile.php
@@ -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.
diff --git a/classes/User.php b/classes/User.php
index 7a19ae3a0a..6e42daa90c 100644
--- a/classes/User.php
+++ b/classes/User.php
@@ -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()