mirror of
https://github.com/RSS-Bridge/rss-bridge.git
synced 2024-11-26 19:36:52 +03:00
3d231a417f
Bridges should generally utilize the API functions instead of killing the script. Find more information on the Wiki. - returnServerError https://github.com/RSS-Bridge/rss-bridge/wiki/The-returnServerError-function - returnClientError https://github.com/RSS-Bridge/rss-bridge/wiki/The-returnClientError-function - returnError https://github.com/RSS-Bridge/rss-bridge/wiki/The-returnError-function
49 lines
1.3 KiB
PHP
49 lines
1.3 KiB
PHP
<?php
|
|
class Rue89Bridge extends BridgeAbstract {
|
|
|
|
const MAINTAINER = 'teromene';
|
|
const NAME = 'Rue89';
|
|
const URI = 'https://www.nouvelobs.com/rue89/';
|
|
const DESCRIPTION = 'Returns the newest posts from Rue89';
|
|
|
|
public function collectData() {
|
|
|
|
$jsonArticles = getContents('https://appdata.nouvelobs.com/rue89/feed.json')
|
|
or returnServerError('Unable to query Rue89 !');
|
|
$articles = json_decode($jsonArticles)->items;
|
|
foreach($articles as $article) {
|
|
$this->items[] = $this->getArticle($article);
|
|
}
|
|
|
|
}
|
|
|
|
private function getArticle($articleInfo) {
|
|
|
|
$articleJson = getContents($articleInfo->json_url)
|
|
or returnServerError('Unable to get article !');
|
|
$article = json_decode($articleJson);
|
|
$item = array();
|
|
$item['title'] = $article->title;
|
|
$item['uri'] = $article->url;
|
|
if($article->content_premium !== null) {
|
|
$item['content'] = $article->content_premium;
|
|
} else {
|
|
$item['content'] = $article->content;
|
|
}
|
|
$item['timestamp'] = $article->date_publi;
|
|
$item['author'] = $article->author->show_name;
|
|
|
|
$item['enclosures'] = array();
|
|
foreach($article->images as $image) {
|
|
$item['enclosures'][] = $image->url;
|
|
}
|
|
|
|
$item['categories'] = array();
|
|
foreach($article->categories as $category) {
|
|
$item['categories'][] = $category->title;
|
|
}
|
|
|
|
return $item;
|
|
|
|
}
|
|
}
|