init and end documents
darcs-hash:20080718043456-84dde-ffe825e8021e0f803fbbecacdc93d26309853daa.gz
This commit is contained in:
parent
abfe53311f
commit
310d02ae40
|
@ -32,6 +32,7 @@ class TwitapifriendshipsAction extends TwitterapiAction {
|
|||
|
||||
if (!$other) {
|
||||
$this->client_error(_('No such user'));
|
||||
exit();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -39,6 +40,7 @@ class TwitapifriendshipsAction extends TwitterapiAction {
|
|||
|
||||
if ($user->isSubscribed($other)) {
|
||||
$this->client_error(_('Already subscribed.'));
|
||||
exit();
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -50,14 +52,16 @@ class TwitapifriendshipsAction extends TwitterapiAction {
|
|||
|
||||
if (!$result) {
|
||||
$this->server_error(_('Could not subscribe'));
|
||||
exit();
|
||||
return;
|
||||
}
|
||||
|
||||
mail_subscribe_notify($other, $user);
|
||||
|
||||
common_start_xml();
|
||||
$type = $apidata['content-type'];
|
||||
$this->init_document($type);
|
||||
$this->show_profile($other);
|
||||
common_end_xml();
|
||||
$this->end_document($type);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -90,9 +94,10 @@ class TwitapifriendshipsAction extends TwitterapiAction {
|
|||
$sub->delete();
|
||||
}
|
||||
|
||||
common_start_xml();
|
||||
$type = $apidata['content-type'];
|
||||
$this->init_document($type);
|
||||
$this->show_profile($other);
|
||||
common_end_xml();
|
||||
$this->end_document($type);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
|
|
@ -203,6 +203,48 @@ class TwitterapiAction extends Action {
|
|||
return NULL;
|
||||
}
|
||||
|
||||
function init_document($type='xml') {
|
||||
switch ($type) {
|
||||
case 'xml':
|
||||
header('Content-Type: application/xml; charset=utf-8');
|
||||
common_start_xml();
|
||||
break;
|
||||
case 'json':
|
||||
header('Content-Type: application/json; charset=utf-8');
|
||||
break;
|
||||
case 'rss':
|
||||
header("Content-Type: application/rss+xml; charset=utf-8");
|
||||
$this->init_twitter_rss();
|
||||
break;
|
||||
case 'atom':
|
||||
header('Content-Type: application/atom+xml; charset=utf-8');
|
||||
$this->init_twitter_atom();
|
||||
break;
|
||||
default:
|
||||
$this->client_error(_('Unsupported type'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function end_document($type='xml') {
|
||||
switch ($type) {
|
||||
case 'xml':
|
||||
common_end_xml();
|
||||
break;
|
||||
case 'json':
|
||||
break;
|
||||
case 'rss':
|
||||
$this->end_twitter_rss();
|
||||
break;
|
||||
case 'atom':
|
||||
$this->end_twitter_rss();
|
||||
break;
|
||||
default:
|
||||
$this->client_error(_('Unsupported type'));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
function init_twitter_rss() {
|
||||
common_start_xml();
|
||||
common_element_start('rss', array('version' => '2.0'));
|
||||
|
|
Loading…
Reference in New Issue
Block a user