<?php
/**
 * COPS (Calibre OPDS PHP Server) HTML main script
 *
 * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
 * @author     Sébastien Lucas <sebastien@slucas.fr>
 *
 */
 
    require_once ("config.php");
    require_once ("base.php");
    require_once ("author.php");
    require_once ("serie.php");
    require_once ("tag.php");
    require_once ("language.php");
    require_once ("book.php");
    
    header ("Content-Type:application/json;charset=utf-8");
    $page = getURLParam ("page", Base::PAGE_INDEX);
    $query = getURLParam ("query");
    $qid = getURLParam ("id");
    $n = getURLParam ("n", "1");
    
    $currentPage = Page::getPage ($page, $qid, $query, $n);
    $currentPage->InitializeContent ();
    
    $out = array ( "title" => $currentPage->title);
    $entries = array ();
    foreach ($currentPage->entryArray as $entry) {
        array_push ($entries, $entry->getContentArray ());
    }
    if (!is_null ($currentPage->book)) {
        $out ["book"] = $currentPage->book->getFullContentArray ();
    }
    $out ["page"] = $page;
    $out ["entries"] = $entries;
    $out ["isPaginated"] = 0;
    if ($currentPage->isPaginated ()) {
        $prevLink = $currentPage->getPrevLink ();
        $nextLink = $currentPage->getNextLink ();
        $out ["isPaginated"] = 1;
        $out ["prevLink"] = "";
        if (!is_null ($prevLink)) {
            $out ["prevLink"] = $prevLink->hrefXhtml ();
        }
        $out ["nextLink"] = "";
        if (!is_null ($nextLink)) {
            $out ["nextLink"] = $nextLink->hrefXhtml ();
        }
        $out ["maxPage"] = $currentPage->getMaxPage ();
        $out ["currentPage"] = $currentPage->n;
    }
    if (!is_null (getURLParam ("complete"))) { 
        $out ["const"] = array ("version" => VERSION, "i18n" => array (
                       "coverAlt" => localize("i18n.coversection"),
                       "authorsTitle" => localize("authors.title"),
                       "bookwordTitle" => localize("bookword.title"),
                       "tagsTitle" => localize("tags.title"),
                       "seriesTitle" => localize("series.title"),
                       "customizeTitle" => localize ("customize.title"),
                       "aboutTitle" => localize ("about.title"),
                       "previousAlt" => localize ("paging.previous.alternate"),
                       "nextAlt" => localize ("paging.next.alternate"),
                       "searchAlt" => localize ("search.alternate"),
                       "sortAlt" => localize ("sort.alternate"),
                       "homeAlt" => localize ("home.alternate"),
                       "settingsAlt" => localize ("settings.alternate"),
                       "permalinkAlt" => localize ("permalink.alternate"),
                       "pubdateTitle" => localize("pubdate.title"),
                       "languagesTitle" => localize("language.title"),
                       "contentTitle" => localize("content.summary"),
                       "sortorderAsc" => localize("search.sortorder.asc"),
                       "sortorderDesc" => localize("search.sortorder.desc"),
                       "customizeEmail" => localize("customize.email")),
                   "url" => array (
                       "detailUrl" => "index.php?page=".Base::PAGE_BOOK_DETAIL."&id={0}",
                       "coverUrl" => "fetch.php?id={0}",
                       "thumbnailUrl" => "fetch.php?height=" . $config['cops_html_thumbnail_height'] . "&id={0}"),
                   "config" => array (
                       "use_fancyapps" => $config ["cops_use_fancyapps"],
                       "max_item_per_page" => $config['cops_max_item_per_page'],
                       "html_tag_filter" => $config['cops_html_tag_filter']));
   }

    $out ["containsBook"] = 0;
    if ($currentPage->containsBook ()) {
        $out ["containsBook"] = 1;
    }
    
    $out["abouturl"] = "index.php?page=".Base::PAGE_ABOUT;
    
    if ($page == Base::PAGE_ABOUT) {
        $out ["fullhtml"] = file_get_contents('about.html');
    }
    
    $out ["homeurl"] = "index.php";
    
    echo json_encode ($out);