From 1f7e5ca8f30cabbe04f439f41ef7624d124111ab Mon Sep 17 00:00:00 2001 From: zach Date: Wed, 16 Jul 2008 19:00:47 -0400 Subject: [PATCH] Twitter-compatible API: statuses/show/id.format now works darcs-hash:20080716230047-ca946-b9ff940ab05b29ed88b209f5ca9b446fbe25eab0.gz --- actions/twitapistatuses.php | 50 +++++++++++++++++++++++++------------ 1 file changed, 34 insertions(+), 16 deletions(-) diff --git a/actions/twitapistatuses.php b/actions/twitapistatuses.php index 42c6313c84..98ca299f6d 100644 --- a/actions/twitapistatuses.php +++ b/actions/twitapistatuses.php @@ -227,27 +227,45 @@ class TwitapistatusesAction extends TwitterapiAction { } /* - Returns a single status, specified by the id parameter below. The status's author will be returned inline. - - URL: http://server/api/statuses/show/id.format - - Formats: xml, json - - Parameters: - - * id. Required. The numerical ID of the status you're trying to retrieve. - Ex: http://server/api/statuses/show/123.xml - */ + * Returns a single notice, specified by the id parameter below. + * The status's author will be returned inline. + * + * URL: http://server/api/statuses/show/id.format + * + * Formats: xml, json + * + * Parameters: + * + * id. Required. The numerical ID of the status you're trying to retrieve. + * Ex: http://server/api/statuses/show/123.xml + * + */ function show($args, $apidata) { parent::handle($args); - $id = $this->arg('id'); - - print "show requested content-type: " . $apidata['content-type'] . "\n"; - print "id: $id\n"; + $id = $apidata['api_arg']; + $notice = Notice::staticGet($id); + + if ($notice) { + + if ($apidata['content-type'] == 'xml') { + header('Content-Type: application/xml; charset=utf-8'); + + common_start_xml(); + $twitter_status = $this->twitter_status_array($notice); + $this->show_twitter_xml_status($twitter_status); + common_end_xml(); + + } elseif ($apidata['content-type'] == 'json') { + header('Content-Type: application/json; charset=utf-8'); + $status = $this->twitter_status_array($notice); + $this->show_twitter_json_statuses($status); + } + } else { + header('HTTP/1.1 404 Not Found'); + } exit(); - } /*