Bring the Twitter compatible API inline with new uiredesign stuff
This commit is contained in:
parent
85321cede0
commit
b13374faa5
@ -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']);
|
||||||
|
@ -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)
|
||||||
|
Loading…
Reference in New Issue
Block a user