diff options
Diffstat (limited to 'actions/twitapiblocks.php')
-rw-r--r-- | actions/twitapiblocks.php | 33 |
1 files changed, 30 insertions, 3 deletions
diff --git a/actions/twitapiblocks.php b/actions/twitapiblocks.php index 21d620dd3..6bfdec0d0 100644 --- a/actions/twitapiblocks.php +++ b/actions/twitapiblocks.php @@ -24,13 +24,40 @@ require_once(INSTALLDIR.'/lib/twitterapi.php'); class TwitapiblocksAction extends TwitterapiAction { function create($args, $apidata) { + parent::handle($args); - common_server_error(_('API method under construction.'), $code=501); + + $blockee = $this->get_user($apidata['api_arg'], $apidata); + + if (!$blockee) { + $this->client_error('Not Found', 404, $apidata['content-type']); + return; + } + + $user = $apidata['user']; + + if ($user->hasBlocked($blockee) || $user->block($blockee)) { + $this->show_profile($blockee, $apidata['content-type']); + } else { + common_server_error(_('Block user failed.')); + } } function destroy($args, $apidata) { parent::handle($args); - common_server_error(_('API method under construction.'), $code=501); - } + $blockee = $this->get_user($apidata['api_arg'], $apidata); + + if (!$blockee) { + $this->client_error('Not Found', 404, $apidata['content-type']); + return; + } + $user = $apidata['user']; + + if (!$user->hasBlocked($blockee) || $user->unblock($blockee)) { + $this->show_profile($blockee, $apidata['content-type']); + } else { + common_server_error(_('Unblock user failed.')); + } + } }
\ No newline at end of file |