예제 #1
0
파일: jsonTest.php 프로젝트: BreizhCat/cops
 public function testGetFullBookContentArray()
 {
     $book = Book::getBookById(17);
     $test = JSONRenderer::getFullBookContentArray($book);
     $this->assertCount(1, $test["authors"]);
     $this->assertCount(3, $test["tags"]);
     $this->assertCount(3, $test["datas"]);
 }
예제 #2
0
파일: bookTest.php 프로젝트: horus68/cops
 public function testGetMimeType_Finfo()
 {
     $book = Book::getBookById(17);
     // Get Alice MOBI=>17, PDF=>19, EPUB=>20
     $data = $book->getDataFormat("PDF");
     $this->assertEquals("application/pdf", $data->getMimeType());
     // Alter a data to make a test for finfo_file if enabled
     $data->extension = "ico";
     $data->format = "ICO";
     $data->name = "favicon";
     $data->book->path = realpath(dirname(__FILE__) . "/../");
     if (function_exists('finfo_open') === true) {
         $this->assertEquals("image/x-icon", $data->getMimeType());
     } else {
         $this->assertEquals("application/octet-stream", $data->getMimeType());
     }
 }
예제 #3
0
파일: base.php 프로젝트: Klemart3D/COPS
 public function InitializeContent()
 {
     $this->book = Book::getBookById($this->idGet);
     $this->title = $this->book->title;
 }
예제 #4
0
파일: fetch.php 프로젝트: BreizhCat/cops
    if (!isset($_SESSION['connected'])) {
        notFound();
        return;
    }
}
$expires = 60 * 60 * 24 * 14;
header("Pragma: public");
header("Cache-Control: maxage=" . $expires);
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + $expires) . ' GMT');
$bookId = getURLParam("id", NULL);
$type = getURLParam("type", "jpg");
$idData = getURLParam("data", NULL);
if (is_null($bookId)) {
    $book = Book::getBookByDataId($idData);
} else {
    $book = Book::getBookById($bookId);
}
if (!$book) {
    notFound();
    return;
}
if ($book && ($type == "jpg" || empty($config['calibre_internal_directory']))) {
    if ($type == "jpg") {
        $file = $book->getFilePath($type);
    } else {
        $file = $book->getFilePath($type, $idData);
    }
    if (!$file || !file_exists($file)) {
        notFound();
        return;
    }
예제 #5
0
 public function testRenderCustomColumns()
 {
     global $config;
     $_SERVER["HTTP_USER_AGENT"] = "Firefox";
     $config['calibre_directory'] = dirname(__FILE__) . "/BaseWithCustomColumns/";
     $_GET["custom"] = "11";
     $config['cops_calibre_custom_column'] = array("custom_01", "custom_02", "custom_03", "custom_04", "custom_05", "custom_06", "custom_07", "custom_08", "custom_09", "custom_10", "custom_11");
     $config['cops_calibre_custom_column_list'] = array("custom_01", "custom_02", "custom_03", "custom_04", "custom_05", "custom_06", "custom_07", "custom_08", "custom_09", "custom_10", "custom_11");
     $config['cops_calibre_custom_column_preview'] = array("custom_01", "custom_02", "custom_03", "custom_04", "custom_05", "custom_06", "custom_07", "custom_08", "custom_09", "custom_10", "custom_11");
     Base::clearDb();
     $book = Book::getBookById(223);
     $json = JSONRenderer::getBookContentArray($book);
     /* @var CustomColumn[] $custom */
     $custom = $json["customcolumns_list"];
     $this->assertEquals("custom_01", $custom[0]['customColumnType']['columnTitle']);
     $this->assertEquals("text_2", $custom[0]['htmlvalue']);
     $this->assertEquals("custom_02", $custom[1]['customColumnType']['columnTitle']);
     $this->assertEquals("a", $custom[1]['htmlvalue']);
     $this->assertEquals("custom_03", $custom[2]['customColumnType']['columnTitle']);
     $this->assertEquals("<div>Not Set</div>", $custom[2]['htmlvalue']);
     $this->assertEquals("custom_04", $custom[3]['customColumnType']['columnTitle']);
     $this->assertEquals("", $custom[3]['htmlvalue']);
     $this->assertEquals("custom_05", $custom[4]['customColumnType']['columnTitle']);
     $this->assertEquals("val05", $custom[4]['htmlvalue']);
     $this->assertEquals("custom_06", $custom[5]['customColumnType']['columnTitle']);
     $this->assertEquals("Not Set", $custom[5]['htmlvalue']);
     $this->assertEquals("custom_07", $custom[6]['customColumnType']['columnTitle']);
     $this->assertEquals("100000.0", $custom[6]['htmlvalue']);
     $this->assertEquals("custom_08", $custom[7]['customColumnType']['columnTitle']);
     $this->assertEquals("Not Set", $custom[7]['htmlvalue']);
     $this->assertEquals("custom_09", $custom[8]['customColumnType']['columnTitle']);
     $this->assertEquals("Not Set", $custom[8]['htmlvalue']);
     $this->assertEquals("custom_10", $custom[9]['customColumnType']['columnTitle']);
     $this->assertEquals("No", $custom[9]['htmlvalue']);
     $_SERVER["HTTP_USER_AGENT"] = "";
     $_GET["custom"] = NULL;
     $config['cops_calibre_custom_column'] = array();
     $config['cops_calibre_custom_column_list'] = array();
     $config['cops_calibre_custom_column_preview'] = array();
     $config['calibre_directory'] = dirname(__FILE__) . "/BaseWithSomeBooks/";
     Base::clearDb();
 }