]> git.mxchange.org Git - quix0rs-gnu-social.git/commitdiff
Fix for repeats from the API having null source attribution
authorZach Copley <zach@status.net>
Fri, 7 May 2010 23:32:24 +0000 (16:32 -0700)
committerZach Copley <zach@status.net>
Sat, 8 May 2010 00:07:42 +0000 (00:07 +0000)
actions/apidirectmessagenew.php
actions/apistatusesretweet.php
actions/apistatusesupdate.php
lib/apiaction.php
lib/apiauth.php

index b9ac92d77bfc01bb91f87ec67ddde184b48f8347..65d065648ff0337483a3fd5add842546b2133230 100644 (file)
@@ -52,7 +52,6 @@ require_once INSTALLDIR . '/lib/apiauth.php';
 
 class ApiDirectMessageNewAction extends ApiAuthAction
 {
-    var $source  = null;
     var $other   = null;
     var $content = null;
 
@@ -76,13 +75,6 @@ class ApiDirectMessageNewAction extends ApiAuthAction
             return;
         }
 
-        $this->source = $this->trimmed('source'); // Not supported by Twitter.
-
-        $reserved_sources = array('web', 'omb', 'mail', 'xmpp', 'api');
-        if (empty($this->source) || in_array($this->source, $reserved_sources)) {
-            $source = 'api';
-        }
-
         $this->content = $this->trimmed('text');
 
         $this->user  = $this->auth_user;
index 128c881e25aef3979e1f253f1f141f4ac46a07ce..9aa33748544ec5c978453701aacba6265dd20a85 100644 (file)
@@ -79,7 +79,7 @@ class ApiStatusesRetweetAction extends ApiAuthAction
 
         $this->user = $this->auth_user;
 
-        if ($this->user->id == $notice->profile_id) {
+        if ($this->user->id == $this->original->profile_id) {
             $this->clientError(_('Cannot repeat your own notice.'),
                                400, $this->format);
             return false;
index d4ef6b550d974743f26858c945bf576bda05eb24..e3e579b0de7e8104bfae126c3979ab61c92ed0cc 100644 (file)
@@ -64,8 +64,6 @@ class ApiStatusesUpdateAction extends ApiAuthAction
     var $lat                   = null;
     var $lon                   = null;
 
-    static $reserved_sources = array('web', 'omb', 'mail', 'xmpp', 'api');
-
     /**
      * Take arguments for running
      *
@@ -80,19 +78,9 @@ class ApiStatusesUpdateAction extends ApiAuthAction
         parent::prepare($args);
 
         $this->status = $this->trimmed('status');
-        $this->source = $this->trimmed('source');
         $this->lat    = $this->trimmed('lat');
         $this->lon    = $this->trimmed('long');
 
-        // try to set the source attr from OAuth app
-        if (empty($this->source)) {
-            $this->source = $this->oauth_source;
-        }
-
-        if (empty($this->source) || in_array($this->source, self::$reserved_sources)) {
-            $this->source = 'api';
-        }
-
         $this->in_reply_to_status_id
             = intval($this->trimmed('in_reply_to_status_id'));
 
index 59dc47c23beee0daa678b1a2fec3d89fe5ed1339..f87b04611423f4e9e2a231af51034ecd4f944d50 100644 (file)
@@ -63,9 +63,12 @@ class ApiAction extends Action
     var $count     = null;
     var $max_id    = null;
     var $since_id  = null;
+    var $source    = null;
 
     var $access    = self::READ_ONLY;  // read (default) or read-write
 
+    static $reserved_sources = array('web', 'omb', 'ostatus', 'mail', 'xmpp', 'api');
+
     /**
      * Initialization.
      *
@@ -89,6 +92,12 @@ class ApiAction extends Action
             header('X-StatusNet-Warning: since parameter is disabled; use since_id');
         }
 
+        $this->source = $this->trimmed('source');
+
+        if (empty($this->source) || in_array($this->source, self::$reserved_sources)) {
+            $this->source = 'api';
+        }
+
         return true;
     }
 
index e78de618ee2a4eb1713278d2592a54efd828c127..95acbbd7bd270f6371b385d9bef3ccfbe08e7418 100644 (file)
@@ -54,7 +54,6 @@ class ApiAuthAction extends ApiAction
 {
     var $auth_user_nickname = null;
     var $auth_user_password = null;
-    var $oauth_source       = null;
 
     /**
      * Take arguments for running, looks for an OAuth request,
@@ -162,7 +161,7 @@ class ApiAuthAction extends ApiAction
 
             // set the source attr
 
-            $this->oauth_source = $app->name;
+            $this->source = $app->name;
 
             $appUser = Oauth_application_user::staticGet('token', $access_token);