Commit 877eb138 authored by zach's avatar zach

Twitter-compatible API: made is_readonly() method smarter

darcs-hash:20080722182919-ca946-dce04d84290711066154567458da2dd3253dd957.gz
parent 038f762b
......@@ -24,7 +24,17 @@ require_once(INSTALLDIR.'/lib/twitterapi.php');
class TwitapiaccountAction extends TwitterapiAction {
function is_readonly() {
return false;
static $write_methods = array( 'update_location',
'update_delivery_device');
$cmdtext = explode('.', $this->arg('method'));
if (in_array($cmdtext[0], $write_methods)) {
return false;
}
return true;
}
function verify_credentials($args, $apidata) {
......
......@@ -23,6 +23,20 @@ require_once(INSTALLDIR.'/lib/twitterapi.php');
class TwitapifriendshipsAction extends TwitterapiAction {
function is_readonly() {
static $write_methods = array( 'create',
'destroy');
$cmdtext = explode('.', $this->arg('method'));
if (in_array($cmdtext[0], $write_methods)) {
return false;
}
return true;
}
function create($args, $apidata) {
parent::handle($args);
......
......@@ -28,12 +28,22 @@ require_once(INSTALLDIR.'/lib/twitterapi.php');
class TwitapistatusesAction extends TwitterapiAction {
function is_readonly() {
return false;
static $write_methods = array( 'update',
'destroy');
$cmdtext = explode('.', $this->arg('method'));
if (in_array($cmdtext[0], $write_methods)) {
return false;
}
return true;
}
function public_timeline($args, $apidata) {
parent::handle($args);
$sitename = common_config('site', 'name');
$siteserver = common_config('site', 'server');
$title = sprintf(_("%s public timeline"), $sitename);
......@@ -365,6 +375,9 @@ class TwitapistatusesAction extends TwitterapiAction {
$user = $apidata['user'];
$this->is_readonly();
$notice = DB_DataObject::factory('notice');
$notice->profile_id = $user->id; # user id *is* profile id
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment