function pugpig_get_search_edition($query, $edition_id = null) { $title = "Search for \"{$query}\""; $all_page_ids = array(); $search_edition_ids = array(); if (empty($edition_id)) { $search_edition_ids = get_all_atom_edition_ids(); } else { $title .= " inside \"{$edition_id}\""; $search_edition_ids[] = $edition_id; } global $is_package; foreach ($search_edition_ids as $search_edition_id) { $edition = get_edition_data(pugpig_get_edition_num_from_id($search_edition_id), $is_package); $all_page_ids = array_merge($all_page_ids, $edition['page_ids']); } $keep_every = intval($query); if ($keep_every < 1) { $keep_every = 2; } $page_ids = array(); for ($index = 0; $index < count($all_page_ids); $index++) { if ($index % $keep_every == 0) { $page_ids[] = 'search.page.' . $all_page_ids[$index]; } } $edition_key = get_search_edition_id($query, $edition_id); return array('key' => $edition_key, 'date' => date('Y-m-d'), 'title' => $title, 'modified' => time(), 'packaged' => time(), 'ttl' => 0, 'status' => 'published', 'price' => 'FREE', 'thumbnail' => "http://lorempixel.com/600/800/abstract/0/Search/", 'newsstand_cover_art_icon_source' => "http://dummyimage.com/768x1024/000000/ffffff.png?text=Search/", 'summary' => '', 'tombstone' => FALSE, 'url_type' => 'application/atom+xml', 'url' => "edition/{$edition_key}/" . ($is_package ? 'package.xml' : 'content.xml'), 'newsstand_summary' => '', 'page_ids' => $page_ids); }
function reply_search_xml() { if (empty($_REQUEST['q'])) { reply_wth_message('No search query specified.', HttpStatusCode::BAD_REQUEST); exit; } $query = $_REQUEST['q']; $edition_id = empty($_REQUEST['edition']) ? null : $_REQUEST['edition']; $search_id = get_search_edition_id($query, $edition_id); return reply_content_xml($search_id); }