X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=actions%2Ftwitapiusers.php;h=4057b63e740527d82f5624b78eea2e3d56491d0e;hb=0461aafeef55782056b02cd0d8702ae0a0e3812a;hp=409986985c2302fdb5028f973ed99c37e3d8fef6;hpb=b264c03d32d04d7a33d28a5830848660f4484943;p=quix0rs-gnu-social.git diff --git a/actions/twitapiusers.php b/actions/twitapiusers.php index 409986985c..4057b63e74 100644 --- a/actions/twitapiusers.php +++ b/actions/twitapiusers.php @@ -1,7 +1,7 @@ . */ -if (!defined('LACONICA')) { exit(1); } +if (!defined('LACONICA')) { + exit(1); +} require_once(INSTALLDIR.'/lib/twitterapi.php'); @@ -29,26 +31,50 @@ class TwitapiusersAction extends TwitterapiAction parent::handle($args); if (!in_array($apidata['content-type'], array('xml', 'json'))) { - common_user_error(_('API method not found!'), $code = 404); + $this->clientError(_('API method not found!'), $code = 404); return; } $user = null; $email = $this->arg('email'); + $user_id = $this->arg('user_id'); + + // XXX: email field deprecated in Twitter's API + + // XXX: Also: need to add screen_name param if ($email) { $user = User::staticGet('email', $email); + } elseif ($user_id) { + $user = $this->get_user($user_id); } elseif (isset($apidata['api_arg'])) { $user = $this->get_user($apidata['api_arg']); + } elseif (isset($apidata['user'])) { + $user = $apidata['user']; } - if (!$user) { - // XXX: Twitter returns a random(?) user instead of throwing and err! -- Zach + if (empty($user)) { $this->client_error(_('Not found.'), 404, $apidata['content-type']); return; } - $this->show_extended_profile($user, $apidata); - } + $twitter_user = $this->twitter_user_array($user->getProfile(), true); + if ($apidata['content-type'] == 'xml') { + $this->init_document('xml'); + $this->show_twitter_xml_user($twitter_user); + $this->end_document('xml'); + } elseif ($apidata['content-type'] == 'json') { + $this->init_document('json'); + $this->show_json_objects($twitter_user); + $this->end_document('json'); + } else { + + // This is in case 'show' was called via /account/verify_credentials + // without a format (xml or json). + header('Content-Type: text/html; charset=utf-8'); + print 'Authorized'; + } + + } }