self::$conv_list[$conversation] = true;
- $conversation_data = z_fetch_url($conversation);
+ $conversation_data = z_fetch_url($conversation, false, $redirects, array('accept_content' => 'application/atom+xml'));
if (!$conversation_data['success']) {
return;
}
$stored = false;
- $related_data = z_fetch_url($related);
+ $related_data = z_fetch_url($related, false, $redirects, array('accept_content' => 'application/atom+xml'));
if (!$related_data['success']) {
return;
if ($a->argc == 3) {
if (substr($a->argv[2], -5) == '.atom') {
$item_id = substr($a->argv[2], 0, -5);
- $xml = dfrn::itemFeed($item_id);
- if ($xml == '') {
- http_status_exit(500);
- }
- header("Content-type: application/atom+xml");
- echo $xml;
- killme();
+ displayShowFeed($item_id);
}
}
AND `item`.`guid` = ? LIMIT 1", $a->argv[1]);
}
if (dbm::is_result($r)) {
+
+ if (strstr($_SERVER['HTTP_ACCEPT'], 'application/atom+xml')) {
+ logger('Directly serving XML for id '.$r["id"], LOGGER_DEBUG);
+ displayShowFeed($r["id"]);
+ }
+
if ($r["id"] != $r["parent"]) {
$r = dba::fetch_first("SELECT `id`, `author-name`, `author-link`, `author-avatar`, `network`, `body`, `uid`, `owner-link` FROM `item`
WHERE `item`.`visible` AND NOT `item`.`deleted` AND NOT `item`.`moderated`
return $o;
}
+function displayShowFeed($item_id) {
+ $xml = dfrn::itemFeed($item_id);
+ if ($xml == '') {
+ http_status_exit(500);
+ }
+ header("Content-type: application/atom+xml");
+ echo $xml;
+ killme();
+}