Bring the Twitter compatible API inline with new uiredesign stuff

This commit is contained in:
Zach Copley 2009-01-23 01:19:19 -08:00
parent 85321cede0
commit b13374faa5
2 changed files with 58 additions and 58 deletions

View File

@ -158,12 +158,12 @@ class ApiAction extends Action
if ($this->content_type == 'xml') { if ($this->content_type == 'xml') {
header('Content-Type: application/xml; charset=utf-8'); header('Content-Type: application/xml; charset=utf-8');
common_start_xml(); $this->startXML();
$this->elementStart('hash'); $this->elementStart('hash');
$this->element('error', null, $msg); $this->element('error', null, $msg);
$this->element('request', null, $_SERVER['REQUEST_URI']); $this->element('request', null, $_SERVER['REQUEST_URI']);
$this->elementEnd('hash'); $this->elementEnd('hash');
common_end_xml(); $this->endXML();
} else if ($this->content_type == 'json') { } else if ($this->content_type == 'json') {
header('Content-Type: application/json; charset=utf-8'); header('Content-Type: application/json; charset=utf-8');
$error_array = array('error' => $msg, 'request' => $_SERVER['REQUEST_URI']); $error_array = array('error' => $msg, 'request' => $_SERVER['REQUEST_URI']);

View File

@ -28,7 +28,7 @@ class TwitterapiAction extends Action
{ {
parent::handle($args); parent::handle($args);
} }
function twitter_user_array($profile, $get_notice=false) function twitter_user_array($profile, $get_notice=false)
{ {
@ -158,56 +158,56 @@ class TwitterapiAction extends Action
function show_twitter_xml_status($twitter_status) function show_twitter_xml_status($twitter_status)
{ {
common_element_start('status'); $this->elementStart('status');
foreach($twitter_status as $element => $value) { foreach($twitter_status as $element => $value) {
switch ($element) { switch ($element) {
case 'user': case 'user':
$this->show_twitter_xml_user($twitter_status['user']); $this->show_twitter_xml_user($twitter_status['user']);
break; break;
case 'text': case 'text':
common_element($element, null, common_xml_safe_str($value)); $this->element($element, null, common_xml_safe_str($value));
break; break;
default: default:
common_element($element, null, $value); $this->element($element, null, $value);
} }
} }
common_element_end('status'); $this->elementEnd('status');
} }
function show_twitter_xml_user($twitter_user, $role='user') function show_twitter_xml_user($twitter_user, $role='user')
{ {
common_element_start($role); $this->elementStart($role);
foreach($twitter_user as $element => $value) { foreach($twitter_user as $element => $value) {
if ($element == 'status') { if ($element == 'status') {
$this->show_twitter_xml_status($twitter_user['status']); $this->show_twitter_xml_status($twitter_user['status']);
} else { } else {
common_element($element, null, $value); $this->element($element, null, $value);
} }
} }
common_element_end($role); $this->elementEnd($role);
} }
function show_twitter_rss_item($entry) function show_twitter_rss_item($entry)
{ {
common_element_start('item'); $this->elementStart('item');
common_element('title', null, $entry['title']); $this->element('title', null, $entry['title']);
common_element('description', null, $entry['description']); $this->element('description', null, $entry['description']);
common_element('pubDate', null, $entry['pubDate']); $this->element('pubDate', null, $entry['pubDate']);
common_element('guid', null, $entry['guid']); $this->element('guid', null, $entry['guid']);
common_element('link', null, $entry['link']); $this->element('link', null, $entry['link']);
common_element_end('item'); $this->elementEnd('item');
} }
function show_twitter_atom_entry($entry) function show_twitter_atom_entry($entry)
{ {
common_element_start('entry'); $this->elementStart('entry');
common_element('title', null, $entry['title']); $this->element('title', null, $entry['title']);
common_element('content', array('type' => 'html'), $entry['content']); $this->element('content', array('type' => 'html'), $entry['content']);
common_element('id', null, $entry['id']); $this->element('id', null, $entry['id']);
common_element('published', null, $entry['published']); $this->element('published', null, $entry['published']);
common_element('updated', null, $entry['updated']); $this->element('updated', null, $entry['updated']);
common_element('link', array('href' => $entry['link'], 'rel' => 'alternate', 'type' => 'text/html'), null); $this->element('link', array('href' => $entry['link'], 'rel' => 'alternate', 'type' => 'text/html'), null);
common_element_end('entry'); $this->elementEnd('entry');
} }
function show_json_objects($objects) function show_json_objects($objects)
@ -249,7 +249,7 @@ class TwitterapiAction extends Action
function show_twitter_xml_dmsg($twitter_dm) function show_twitter_xml_dmsg($twitter_dm)
{ {
common_element_start('direct_message'); $this->elementStart('direct_message');
foreach($twitter_dm as $element => $value) { foreach($twitter_dm as $element => $value) {
switch ($element) { switch ($element) {
case 'sender': case 'sender':
@ -257,20 +257,20 @@ class TwitterapiAction extends Action
$this->show_twitter_xml_user($value, $element); $this->show_twitter_xml_user($value, $element);
break; break;
case 'text': case 'text':
common_element($element, null, common_xml_safe_str($value)); $this->element($element, null, common_xml_safe_str($value));
break; break;
default: default:
common_element($element, null, $value); $this->element($element, null, $value);
} }
} }
common_element_end('direct_message'); $this->elementEnd('direct_message');
} }
function show_xml_timeline($notice) function show_xml_timeline($notice)
{ {
$this->init_document('xml'); $this->init_document('xml');
common_element_start('statuses', array('type' => 'array')); $this->elementStart('statuses', array('type' => 'array'));
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { foreach ($notice as $n) {
@ -284,7 +284,7 @@ class TwitterapiAction extends Action
} }
} }
common_element_end('statuses'); $this->elementEnd('statuses');
$this->end_document('xml'); $this->end_document('xml');
} }
@ -293,19 +293,19 @@ class TwitterapiAction extends Action
$this->init_document('rss'); $this->init_document('rss');
common_element_start('channel'); $this->elementStart('channel');
common_element('title', null, $title); $this->element('title', null, $title);
common_element('link', null, $link); $this->element('link', null, $link);
if (!is_null($suplink)) { if (!is_null($suplink)) {
# For FriendFeed's SUP protocol # For FriendFeed's SUP protocol
common_element('link', array('xmlns' => 'http://www.w3.org/2005/Atom', $this->element('link', array('xmlns' => 'http://www.w3.org/2005/Atom',
'rel' => 'http://api.friendfeed.com/2008/03#sup', 'rel' => 'http://api.friendfeed.com/2008/03#sup',
'href' => $suplink, 'href' => $suplink,
'type' => 'application/json')); 'type' => 'application/json'));
} }
common_element('description', null, $subtitle); $this->element('description', null, $subtitle);
common_element('language', null, 'en-us'); $this->element('language', null, 'en-us');
common_element('ttl', null, '40'); $this->element('ttl', null, '40');
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { foreach ($notice as $n) {
@ -319,7 +319,7 @@ class TwitterapiAction extends Action
} }
} }
common_element_end('channel'); $this->elementEnd('channel');
$this->end_twitter_rss(); $this->end_twitter_rss();
} }
@ -328,16 +328,16 @@ class TwitterapiAction extends Action
$this->init_document('atom'); $this->init_document('atom');
common_element('title', null, $title); $this->element('title', null, $title);
common_element('id', null, $id); $this->element('id', null, $id);
common_element('link', array('href' => $link, 'rel' => 'alternate', 'type' => 'text/html'), null); $this->element('link', array('href' => $link, 'rel' => 'alternate', 'type' => 'text/html'), null);
if (!is_null($suplink)) { if (!is_null($suplink)) {
# For FriendFeed's SUP protocol # For FriendFeed's SUP protocol
common_element('link', array('rel' => 'http://api.friendfeed.com/2008/03#sup', $this->element('link', array('rel' => 'http://api.friendfeed.com/2008/03#sup',
'href' => $suplink, 'href' => $suplink,
'type' => 'application/json')); 'type' => 'application/json'));
} }
common_element('subtitle', null, $subtitle); $this->element('subtitle', null, $subtitle);
if (is_array($notice)) { if (is_array($notice)) {
foreach ($notice as $n) { foreach ($notice as $n) {
@ -425,7 +425,7 @@ class TwitterapiAction extends Action
switch ($type) { switch ($type) {
case 'xml': case 'xml':
header('Content-Type: application/xml; charset=utf-8'); header('Content-Type: application/xml; charset=utf-8');
common_start_xml(); $this->startXML();
break; break;
case 'json': case 'json':
header('Content-Type: application/json; charset=utf-8'); header('Content-Type: application/json; charset=utf-8');
@ -456,7 +456,7 @@ class TwitterapiAction extends Action
{ {
switch ($type) { switch ($type) {
case 'xml': case 'xml':
common_end_xml(); $this->endXML();
break; break;
case 'json': case 'json':
@ -514,10 +514,10 @@ class TwitterapiAction extends Action
if ($content_type == 'xml') { if ($content_type == 'xml') {
$this->init_document('xml'); $this->init_document('xml');
common_element_start('hash'); $this->elementStart('hash');
common_element('error', null, $msg); $this->element('error', null, $msg);
common_element('request', null, $_SERVER['REQUEST_URI']); $this->element('request', null, $_SERVER['REQUEST_URI']);
common_element_end('hash'); $this->elementEnd('hash');
$this->end_document('xml'); $this->end_document('xml');
} else { } else {
$this->init_document('json'); $this->init_document('json');
@ -530,26 +530,26 @@ class TwitterapiAction extends Action
function init_twitter_rss() function init_twitter_rss()
{ {
common_start_xml(); $this->startXML();
common_element_start('rss', array('version' => '2.0')); $this->elementStart('rss', array('version' => '2.0'));
} }
function end_twitter_rss() function end_twitter_rss()
{ {
common_element_end('rss'); $this->elementEnd('rss');
common_end_xml(); $this->endXML();
} }
function init_twitter_atom() function init_twitter_atom()
{ {
common_start_xml(); $this->startXML();
common_element_start('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US')); $this->elementStart('feed', array('xmlns' => 'http://www.w3.org/2005/Atom', 'xml:lang' => 'en-US'));
} }
function end_twitter_atom() function end_twitter_atom()
{ {
common_end_xml(); $this->endXML();
common_element_end('feed'); $this->elementEnd('feed');
} }
function show_profile($profile, $content_type='xml', $notice=null) function show_profile($profile, $content_type='xml', $notice=null)