// Access the database ASAP to be sure it's readable, redirect if that's not the case. // It has to be done before any header is sent. Base::checkDatabaseAvailability(); if ($config['cops_fetch_protect'] == "1") { session_start(); if (!isset($_SESSION['connected'])) { $_SESSION['connected'] = 0; } } header("Content-Type:text/html;charset=utf-8"); $data = array("title" => $config['cops_title_default'], "version" => VERSION, "opds_url" => $config['cops_full_url'] . "feed.php", "customHeader" => "", "template" => getCurrentTemplate(), "server_side_rendering" => useServerSideRendering(), "current_css" => getCurrentCss(), "favico" => $config['cops_icon'], "getjson_url" => "getJSON.php?" . addURLParameter(getQueryString(), "complete", 1)); if (preg_match("/Kindle/", $_SERVER['HTTP_USER_AGENT'])) { $data["customHeader"] = '<style media="screen" type="text/css"> html { font-size: 75%; -webkit-text-size-adjust: 75%; -ms-text-size-adjust: 75%; }</style>'; } $headcontent = file_get_contents('templates/' . getCurrentTemplate() . '/file.html'); $template = new doT(); $dot = $template->template($headcontent, NULL); echo $dot($data); ?> <body> <?php if (useServerSideRendering()) { // Get the data require_once "JSON_renderer.php"; $data = JSONRenderer::getJson(true); echo serverSideRender($data); } ?> </body> </html>
public function testTypeaheadSearchMultiDatabase() { global $config; $_GET["page"] = Base::PAGE_OPENSEARCH_QUERY; $_GET["query"] = "art"; $_GET["search"] = "1"; $_GET["multi"] = "1"; $config['calibre_directory'] = array("Some books" => dirname(__FILE__) . "/BaseWithSomeBooks/", "One book" => dirname(__FILE__) . "/BaseWithOneBook/"); $array = JSONRenderer::getJson(); $this->assertCount(5, $array); $this->assertEquals("Some books", $array[0]["title"]); $this->assertEquals("1 author", $array[1]["title"]); $this->assertEquals("2 series", $array[2]["title"]); $this->assertEquals("One book", $array[3]["title"]); $this->assertEquals("1 book", $array[4]["title"]); $_GET["query"] = NULL; $_GET["search"] = NULL; }
<?php /** * COPS (Calibre OPDS PHP Server) HTML main script * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @author Sébastien Lucas <*****@*****.**> * */ require_once "config.php"; require_once "JSON_renderer.php"; header("Content-Type:application/json;charset=utf-8"); echo json_encode(JSONRenderer::getJson());