3  * COPS (Calibre OPDS PHP Server) HTML main script
\r 
   5  * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
\r 
   6  * @author     Sébastien Lucas <sebastien@slucas.fr>
\r 
  10     require_once ("config.php");
\r 
  11     require_once ("base.php");
\r 
  12     require_once ("author.php");
\r 
  13     require_once ("serie.php");
\r 
  14     require_once ("tag.php");
\r 
  15     require_once ("language.php");
\r 
  16     require_once ("book.php");
\r 
  18     header ("Content-Type:application/json;charset=utf-8");
\r 
  19     $page = getURLParam ("page", Base::PAGE_INDEX);
\r 
  20     $query = getURLParam ("query");
\r 
  21     $qid = getURLParam ("id");
\r 
  22     $n = getURLParam ("n", "1");
\r 
  24     $currentPage = Page::getPage ($page, $qid, $query, $n);
\r 
  25     $currentPage->InitializeContent ();
\r 
  27     $out = array ( "title" => $currentPage->title);
\r 
  28     $entries = array ();
\r 
  29     foreach ($currentPage->entryArray as $entry) {
\r 
  30         array_push ($entries, $entry->getContentArray ());
\r 
  32     if (!is_null ($currentPage->book)) {
\r 
  33         $out ["book"] = $currentPage->book->getFullContentArray ();
\r 
  35     $out ["page"] = $page;
\r 
  36     $out ["entries"] = $entries;
\r 
  37     $out ["isPaginated"] = 0;
\r 
  38     if ($currentPage->isPaginated ()) {
\r 
  39         $prevLink = $currentPage->getPrevLink ();
\r 
  40         $nextLink = $currentPage->getNextLink ();
\r 
  41         $out ["isPaginated"] = 1;
\r 
  42         $out ["prevLink"] = "";
\r 
  43         if (!is_null ($prevLink)) {
\r 
  44             $out ["prevLink"] = $prevLink->hrefXhtml ();
\r 
  46         $out ["nextLink"] = "";
\r 
  47         if (!is_null ($nextLink)) {
\r 
  48             $out ["nextLink"] = $nextLink->hrefXhtml ();
\r 
  50         $out ["maxPage"] = $currentPage->getMaxPage ();
\r 
  51         $out ["currentPage"] = $currentPage->n;
\r 
  53     if (!is_null (getURLParam ("complete"))) { 
\r 
  54         $out ["const"] = array ("version" => VERSION, "i18n" => array (
\r 
  55                        "coverAlt" => localize("i18n.coversection"),
\r 
  56                        "authorsTitle" => localize("authors.title"),
\r 
  57                        "bookwordTitle" => localize("bookword.title"),
\r 
  58                        "tagsTitle" => localize("tags.title"),
\r 
  59                        "seriesTitle" => localize("series.title"),
\r 
  60                        "customizeTitle" => localize ("customize.title"),
\r 
  61                        "aboutTitle" => localize ("about.title"),
\r 
  62                        "previousAlt" => localize ("paging.previous.alternate"),
\r 
  63                        "nextAlt" => localize ("paging.next.alternate"),
\r 
  64                        "searchAlt" => localize ("search.alternate"),
\r 
  65                        "sortAlt" => localize ("sort.alternate"),
\r 
  66                        "homeAlt" => localize ("home.alternate"),
\r 
  67                        "settingsAlt" => localize ("settings.alternate"),
\r 
  68                        "permalinkAlt" => localize ("permalink.alternate"),
\r 
  69                        "pubdateTitle" => localize("pubdate.title"),
\r 
  70                        "languagesTitle" => localize("language.title"),
\r 
  71                        "contentTitle" => localize("content.summary"),
\r 
  72                        "sortorderAsc" => localize("search.sortorder.asc"),
\r 
  73                        "sortorderDesc" => localize("search.sortorder.desc"),
\r 
  74                        "customizeEmail" => localize("customize.email")),
\r 
  76                        "detailUrl" => "index.php?page=".Base::PAGE_BOOK_DETAIL."&id={0}",
\r 
  77                        "coverUrl" => "fetch.php?id={0}",
\r 
  78                        "thumbnailUrl" => "fetch.php?height=" . $config['cops_html_thumbnail_height'] . "&id={0}"),
\r 
  80                        "use_fancyapps" => $config ["cops_use_fancyapps"],
\r 
  81                        "max_item_per_page" => $config['cops_max_item_per_page'],
\r 
  82                        "html_tag_filter" => $config['cops_html_tag_filter']));
\r 
  85     $out ["containsBook"] = 0;
\r 
  86     if ($currentPage->containsBook ()) {
\r 
  87         $out ["containsBook"] = 1;
\r 
  90     $out["abouturl"] = "index.php?page=".Base::PAGE_ABOUT;
\r 
  92     if ($page == Base::PAGE_ABOUT) {
\r 
  93         $out ["fullhtml"] = file_get_contents('about.html');
\r 
  96     $out ["homeurl"] = "index.php";
\r 
  98     echo json_encode ($out);
\r