Exemplo n.º 1
0
 }
 $activeBuilds++;
 try {
     $book = new \PHPePub\Core\EPub();
     $book->setTitle($download['story']['title']);
     $book->setAuthor($download['story']['author'], $download['story']['author']);
     $book->setIdentifier($download['id'], PHPePub\Core\EPub::IDENTIFIER_UUID);
     $book->setSourceURL($download['story']['url']);
     if (!empty($download['story']['description'])) {
         $book->setDescription($download['story']['description']);
     }
     $contentStart = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n" . "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.1//EN\"\n" . "    \"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd\">\n" . "<html xmlns=\"http://www.w3.org/1999/xhtml\">\n" . "<head>" . "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\" />\n" . "<title>" . $download['story']['title'] . "</title>\n" . "<style type=\"text/css\">\n" . "body{font-family:'Arial',sans-serif;}\n" . "</style>\n" . "</head>\n" . "<body>\n";
     $contentEnd = "</body>\n</html>\n";
     $book->addChapter($download['story']['title'] . " by " . $download['story']['author'], 'Cover.html', $contentStart . '<div style="text-align: center;">' . '<h1>' . htmlspecialchars($download['story']['title']) . '</h1>' . '<h3><i>by ' . $download['story']['author'] . '</i></h3>' . '<div style="text-align: left;">' . $download['story']['description'] . '</div>' . '<div style="text-align: left;">URL: <a href="' . $download['story']['url'] . '">' . $download['story']['url'] . '</a></div>' . '</div>' . $contentEnd);
     if ($download['totalChapters'] > 1) {
         $book->buildTOC();
     }
     foreach ($_SESSION[$download['id']] as $chapter) {
         $chapterTitle = htmlspecialchars($chapter['title']);
         if ($book->addChapter($chapterTitle, $book->sanitizeFileName($chapter['title']) . ".html", $contentStart . '<h2 style="text-align: center;">' . $chapterTitle . '</h2>' . PHP_EOL . '<div>' . PHP_EOL . $chapter['content'] . PHP_EOL . '</div>' . $contentEnd) === FALSE) {
             $download['status'] = Status::ERROR;
             $download['statusMessage'] = "Failed to generate chapter {$chapter['number']} of eBook.";
             unset($_SESSION[$download['id']]);
             break;
         }
     }
     if ($download['status'] != Status::ERROR) {
         if ($book->finalize()) {
             $fileName = $download['id'] . "_" . $download['story']['title'] . " - " . $download['story']['author'];
             $filePath = dirname(__FILE__) . DIRECTORY_SEPARATOR . "tmp";
             if ($book->saveBook($fileName, $filePath) === FALSE) {