add politis
This commit is contained in:
parent
67dc9411e4
commit
f5cc7bdb86
70
epub.php
70
epub.php
|
@ -397,6 +397,71 @@
|
||||||
write_epub($epub);
|
write_epub($epub);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Politis RSS
|
||||||
|
if (isset($_POST['politis']) && $_POST['politis'])
|
||||||
|
{
|
||||||
|
$issuenb = '';
|
||||||
|
if (isset($_POST['politisnb']))
|
||||||
|
{
|
||||||
|
$issuenb = $_POST['politisnb'];
|
||||||
|
}
|
||||||
|
$feedurl = 'https://www.politis.fr/flux-rss-politis-fr/';
|
||||||
|
$opts = [
|
||||||
|
'http' => [
|
||||||
|
'method' => "GET",
|
||||||
|
//'header' => "Accept-language: en\nCookie: MPSESSID=" . $mp_sessionid, // todo
|
||||||
|
]
|
||||||
|
];
|
||||||
|
$context = stream_context_create($opts);
|
||||||
|
|
||||||
|
// todo add cover!
|
||||||
|
|
||||||
|
$epub = new TPEpubCreator();
|
||||||
|
$epub->temp_folder = 'temp/';
|
||||||
|
$epub->epub_file = 'epub/politis' . $issuenb . '.epub';
|
||||||
|
$epub->title = 'Politis ' . $issuenb . ' - RSS ' . $today;
|
||||||
|
|
||||||
|
// load feeds
|
||||||
|
$feed = file_get_contents($feedurl);
|
||||||
|
$xml = new SimpleXMLElement($feed);
|
||||||
|
$items = $xml->xpath("/rss/channel/item");
|
||||||
|
|
||||||
|
// reverse to respect timing
|
||||||
|
foreach (array_reverse($items) as $item)
|
||||||
|
{
|
||||||
|
$url = $item->link;
|
||||||
|
$article = file_get_contents($url, false, $context);
|
||||||
|
|
||||||
|
if ($issuenb && !str_contains($article, ' dans l’hebdo N° ' . $issuenb))
|
||||||
|
{
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
$doc = new DOMDocument();
|
||||||
|
$doc->loadHTML($article);
|
||||||
|
$finder = new DomXPath($doc);
|
||||||
|
|
||||||
|
$title = $finder->query('//h1')->item(0)->textContent;
|
||||||
|
$author = $finder->query('//span[@class="nom"]')->item(0)->textContent;
|
||||||
|
$date = $finder->query('//span[@class="date"]')->item(0)->textContent;
|
||||||
|
$summary = $finder->query('//div[@class="extrait"]')->item(0)->textContent;
|
||||||
|
|
||||||
|
$result = '<h1>' . $title . '</h1>';
|
||||||
|
$result .= '<p>' . $author . '</p>';
|
||||||
|
$result .= '<p>' . $date . '</p>';
|
||||||
|
$result .= '<p><b>' . $summary . '</b></p>';
|
||||||
|
|
||||||
|
$nodes = $finder->query('//div[@id="content"]');
|
||||||
|
$node = $nodes->item(0);
|
||||||
|
$nodehtml = get_clean_html($node);
|
||||||
|
$result .= $nodehtml;
|
||||||
|
$epub->AddPage($result, false, $title);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
write_epub($epub);
|
||||||
|
}
|
||||||
|
|
||||||
// Mediapart home page
|
// Mediapart home page
|
||||||
if (isset($_POST['mphome']) && $_POST['mphome'])
|
if (isset($_POST['mphome']) && $_POST['mphome'])
|
||||||
{
|
{
|
||||||
|
@ -591,6 +656,11 @@
|
||||||
<input id="nyttoday" name="nyttoday" type="checkbox">
|
<input id="nyttoday" name="nyttoday" type="checkbox">
|
||||||
<label for="nyttoday">From today's paper embedded script</label>
|
<label for="nyttoday">From today's paper embedded script</label>
|
||||||
|
|
||||||
|
<h2>Politis</h2>
|
||||||
|
<input id="politis" name="politis" type="checkbox">
|
||||||
|
<label for="politis">From RSS.</label>
|
||||||
|
<label for="politisnb">Optional issue number: </label><input id="politisnb" name="politisnb">
|
||||||
|
|
||||||
<h2>Admin</h2>
|
<h2>Admin</h2>
|
||||||
<input id="emptycache" name="emptycache" type="checkbox" checked>
|
<input id="emptycache" name="emptycache" type="checkbox" checked>
|
||||||
<label for="emptycache">Empty cache</label>
|
<label for="emptycache">Empty cache</label>
|
||||||
|
|
Loading…
Reference in New Issue