From 219927cb7924a33a4e73aabe78218c0dc22bfc0c Mon Sep 17 00:00:00 2001 From: Zach Copley Date: Tue, 9 Sep 2008 22:50:13 -0400 Subject: [PATCH] Twitter-compatible API - JSONP callbacks for all methods emitting JSON darcs-hash:20080910025013-7b5ce-95c8dd7eaf83e98e5ee0da5dee8ef07fe4ae5041.gz --- lib/twitterapi.php | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) diff --git a/lib/twitterapi.php b/lib/twitterapi.php index 096dee2696..184078299a 100644 --- a/lib/twitterapi.php +++ b/lib/twitterapi.php @@ -208,11 +208,17 @@ class TwitterapiAction extends Action { function init_document($type='xml') { switch ($type) { case 'xml': - header('Content-Type: application/xml; charset=utf-8'); + header('Content-Type: application/xml; charset=utf-8'); common_start_xml(); break; case 'json': header('Content-Type: application/json; charset=utf-8'); + + // Check for JSON-P callback + $callback = $this->arg('callback'); + if ($callback) { + print $callback . '('; + } break; case 'rss': header("Content-Type: application/rss+xml; charset=utf-8"); @@ -226,16 +232,22 @@ class TwitterapiAction extends Action { $this->client_error(_('Not a supported data format.')); break; } - + return; } - + function end_document($type='xml') { switch ($type) { case 'xml': common_end_xml(); break; case 'json': + + // Check for JSON-P callback + $callback = $this->arg('callback'); + if ($callback) { + print ')'; + } break; case 'rss': $this->end_twitter_rss();