Fix for repeats from the API having null source attribution
This commit is contained in:
parent
7915386950
commit
fba140f4e0
@ -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;
|
||||
|
@ -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;
|
||||
|
@ -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'));
|
||||
|
||||
|
@ -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;
|
||||
}
|
||||
|
||||
|
@ -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);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user