diff --git a/book.php b/book.php index 1b5b79a..346e1b0 100644 --- a/book.php +++ b/book.php @@ -563,3 +563,91 @@ order by substr (upper (sort), 1, 1)"); } } + +function getJson ($complete = false) { + global $config; + $page = getURLParam ("page", Base::PAGE_INDEX); + $query = getURLParam ("query"); + $qid = getURLParam ("id"); + $n = getURLParam ("n", "1"); + $database = GetUrlParam (DB); + + $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 ["databaseId"] = GetUrlParam (DB, ""); + $out ["databaseName"] = Base::getDbName (); + $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")) || $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"), + "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=13&id={0}&db={1}", + "coverUrl" => "fetch.php?id={0}&db={1}", + "thumbnailUrl" => "fetch.php?height=" . $config['cops_html_thumbnail_height'] . "&id={0}&db={1}"), + "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" . addURLParameter ("?page=16", DB, $database); + + if ($page == Base::PAGE_ABOUT) { + $out ["fullhtml"] = file_get_contents('about.html'); + } + + $out ["homeurl"] = "index.php"; + if ($page != Base::PAGE_INDEX && !is_null ($database)) $out ["homeurl"] = $out ["homeurl"] . "?" . addURLParameter ("", DB, $database); + + return $out; +} + diff --git a/getJSON.php b/getJSON.php index 32ab360..e3974bb 100644 --- a/getJSON.php +++ b/getJSON.php @@ -17,88 +17,7 @@ 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"); - $database = GetUrlParam (DB); - $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 ["databaseId"] = GetUrlParam (DB, ""); - $out ["databaseName"] = Base::getDbName (); - $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"), - "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=13&id={0}&db={1}", - "coverUrl" => "fetch.php?id={0}&db={1}", - "thumbnailUrl" => "fetch.php?height=" . $config['cops_html_thumbnail_height'] . "&id={0}&db={1}"), - "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" . addURLParameter ("?page=16", DB, $database); - - if ($page == Base::PAGE_ABOUT) { - $out ["fullhtml"] = file_get_contents('about.html'); - } - - $out ["homeurl"] = "index.php"; - if ($page != Base::PAGE_INDEX && !is_null ($database)) $out ["homeurl"] = $out ["homeurl"] . "?" . addURLParameter ("", DB, $database); - - - echo json_encode ($out); + echo json_encode (getJson ());