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();
}
Ejemplo n.º 2
0
 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;
 }