]> git.mxchange.org Git - quix0rs-gnu-social.git/blobdiff - actions/apistatusesretweet.php
Subscription "get by" functions now don't use ArrayWrappers
[quix0rs-gnu-social.git] / actions / apistatusesretweet.php
index fc71d2274332625e6fa46713b5dfc42dad714eac..ee391fdb4adc33ce02b6944ac3d9f79c27163679 100644 (file)
@@ -31,9 +31,6 @@ if (!defined('STATUSNET')) {
     exit(1);
 }
 
-require_once INSTALLDIR . '/lib/apiauth.php';
-require_once INSTALLDIR . '/lib/mediafile.php';
-
 /**
  * Repeat a notice through the API
  *
@@ -43,7 +40,6 @@ require_once INSTALLDIR . '/lib/mediafile.php';
  * @license  http://www.fsf.org/licensing/licenses/agpl-3.0.html GNU Affero General Public License version 3.0
  * @link     http://status.net/
  */
-
 class ApiStatusesRetweetAction extends ApiAuthAction
 {
     var $original = null;
@@ -54,14 +50,13 @@ class ApiStatusesRetweetAction extends ApiAuthAction
      * @param array $args $_REQUEST args
      *
      * @return boolean success flag
-     *
      */
-
     function prepare($args)
     {
         parent::prepare($args);
 
         if ($_SERVER['REQUEST_METHOD'] != 'POST') {
+            // TRANS: Client error. POST is a HTTP command. It should not be translated.
             $this->clientError(_('This method requires a POST.'),
                                400, $this->format);
             return false;
@@ -69,30 +64,17 @@ class ApiStatusesRetweetAction extends ApiAuthAction
 
         $id = $this->trimmed('id');
 
-        $this->original = Notice::staticGet('id', $id);
+        $this->original = Notice::getKV('id', $id);
 
         if (empty($this->original)) {
-            $this->clientError(_('No such notice'),
+            // TRANS: Client error displayed trying to repeat a non-existing notice through the API.
+            $this->clientError(_('No such notice.'),
                                400, $this->format);
             return false;
         }
 
         $this->user = $this->auth_user;
 
-        if ($this->user->id == $notice->profile_id) {
-            $this->clientError(_('Cannot repeat your own notice'));
-                               400, $this->format);
-            return false;
-        }
-
-        $profile = $this->user->getProfile();
-
-        if ($profile->hasRepeated($id)) {
-            $this->clientError(_('Already repeated that notice'),
-                               400, $this->format);
-            return false;
-        }
-
         return true;
     }
 
@@ -105,15 +87,12 @@ class ApiStatusesRetweetAction extends ApiAuthAction
      *
      * @return void
      */
-
     function handle($args)
     {
         parent::handle($args);
 
         $repeat = $this->original->repeat($this->user->id, $this->source);
 
-        common_broadcast_notice($repeat);
-
         $this->showNotice($repeat);
     }
 
@@ -122,7 +101,6 @@ class ApiStatusesRetweetAction extends ApiAuthAction
      *
      * @return void
      */
-
     function showNotice($notice)
     {
         if (!empty($notice)) {