<html> <body> <?php $url = ''; $coverurl = ''; if (isset($_POST['url'])) { require('TPEpubCreator.php'); $url = $_POST['url']; // extract url from curl command if (str_starts_with($url, 'curl ')) { $url = explode("'", $url)[1]; echo '<p>extracted url from curl command:</p><p>' . $url . '</p>'; } $epub = new TPEpubCreator(); $epub->temp_folder = 'temp/'; $epub->epub_file = $_POST['epub']; $epub->title = $_POST['title']; if ($_POST['cover']) { $coverurl = $_POST['cover']; $coverdata = file_get_contents($coverurl); file_put_contents('temp/cover.jpg', $coverdata); $epub->AddImage( 'temp/cover.jpg', 'image/jpeg', true ); } // cache json in case url expires $tempjsonpath = 'temp/' . hash('md5', $url) . '.json'; $json = ''; if (file_exists($tempjsonpath)) { $json = file_get_contents($tempjsonpath); } else { $json = file_get_contents($url); file_put_contents($tempjsonpath, $json); } $publication = json_decode($json); $content = array_filter($publication->Content, function($item) { return $item->Category == 'Le Monde'; }); usort($content, function ($a, $b) { return $a->PageNumber - $b->PageNumber; }); foreach ($content as $article) { $articlebody = array_filter($article->ContentItem, function($item) { return $item->ContentType == 'text/xml'; })[0]; if ($articlebody->Title && $articlebody->HtmlText) { $pagecontent = '<h1>'. strip_tags($articlebody->Title) . '</h1>'; if ($articlebody->Introduction) { $pagecontent .= '<b>' . $articlebody->Introduction . '</b>'; } $pagecontent .= $articlebody->HtmlText; $epub->AddPage($pagecontent, false, strip_tags($articlebody->Title)); // echo('<h1>'. strip_tags($articlebody->Title) . '</h1>'); // echo($articlebody->HtmlText); } } if ( ! $epub->error ) { $epub->CreateEPUB(); if ( ! $epub->error ) { echo 'Success: Download your book <a href="' . $epub->epub_file . '">here</a>.'; } } else { echo $epub->error; } } ?> <form method="post"> <p>Go to <a href="https://journal.lemonde.fr" target="_blank">https://journal.lemonde.fr</a> and hit f12 to get GetPublicationContentItems json and cover jpg urls.</p> Json url: <input name="url" value="<?php echo $url; ?>"><br> Cover url: <input name="cover" value="<?php echo $coverurl; ?>"><br> Title: <input name="title" value="Le Monde"><br> Epub file name: <input name="epub" value="lemonde.epub"><br> <input type="submit"> </form> </body> </html>