function generate_edition_atom_feed($edition_id, $include_hidden = false, $search_term = null) { // Check it exists $edition = get_post($edition_id); if (empty($edition)) { header('HTTP/1.1 404 Not Found'); exit; } pugpig_remove_wordpress_headers(); $modified = pugpig_get_page_modified($edition); if ($search_term) { $modified = time(); } if ($edition->post_status != 'publish') { if (FALSE && !pugpig_is_internal_user()) { header('HTTP/1.1 403 Forbidden'); exit; } header('X-Pugpig-Status: unpublished'); pugpig_set_cache_headers($modified, 0); } else { header('X-Pugpig-Status: published'); pugpig_set_cache_headers($modified, pugpig_get_feed_ttl()); } $x_entitlement = pugpig_get_edition_entitlement_header($edition); if (!empty($x_entitlement)) { header('X-Pugpig-Entitlement: ' . $x_entitlement); } $links = pugpig_get_edition_atom_links($edition, true); header('Content-Type: ' . feed_content_type('atom') . '; charset=' . get_option('blog_charset'), true); header('Content-Disposition: inline'); global $wp_query; $filter = ""; $regions = pugpig_get_available_region_array(); foreach (array_keys($regions) as $region) { if (isset($wp_query->query_vars[$region . "_pugpig_atom_contents_manifest"])) { $filter = $region; } } $region = ""; $d = pugpig_get_atom_container($edition_id, $include_hidden, $search_term, $links, $filter); $d->formatOutput = true; echo $d->saveXML(); }
function reply_content_xml($edition_num) { header('Content-Type: application/atom+xml; charset=utf-8'); $edition_id = get_edition_id($edition_num); $edition = pugpig_get_edition($edition_id); add_pugpig_headers($edition['ttl'], $edition['status']); $d = pugpig_get_atom_container($edition_id); $d->formatOutput = TRUE; print $d->saveXML(); exit; }