diff options
Diffstat (limited to 'bridges/WorldOfTanksBridge.php')
-rw-r--r-- | bridges/WorldOfTanksBridge.php | 116 |
1 files changed, 60 insertions, 56 deletions
diff --git a/bridges/WorldOfTanksBridge.php b/bridges/WorldOfTanksBridge.php index d48b2d6c..6e7a594b 100644 --- a/bridges/WorldOfTanksBridge.php +++ b/bridges/WorldOfTanksBridge.php @@ -1,58 +1,62 @@ <?php -class WorldOfTanksBridge extends FeedExpander { - - const MAINTAINER = 'Riduidel'; - const NAME = 'World of Tanks'; - const URI = 'https://worldoftanks.eu/'; - const DESCRIPTION = 'News about the tank slaughter game.'; - - const PARAMETERS = array( array( - 'lang' => array( - 'name' => 'Langue', - 'type' => 'list', - 'values' => array( - 'Français' => 'fr', - 'English' => 'en', - 'Español' => 'es', - 'Deutsch' => 'de', - 'Čeština' => 'cs', - 'Polski' => 'pl', - 'Türkçe' => 'tr' - ) - ) - )); - - const POSSIBLE_ARTICLES = array('article', 'rich-article'); - - public function collectData() { - $this->collectExpandableDatas(sprintf('https://worldoftanks.eu/%s/rss/news/', $this->getInput('lang'))); - } - - protected function parseItem($newsItem){ - $item = parent::parseItem($newsItem); - $item['content'] = $this->loadFullArticle($item['uri']); - return $item; - } - - /** - * Loads the full article and returns the contents - * @param $uri The article URI - * @return The article content - */ - private function loadFullArticle($uri){ - $html = getSimpleHTMLDOMCached($uri); - - foreach(self::POSSIBLE_ARTICLES as $article_class) { - $content = $html->find('article', 0); - - if($content !== null) { - // Remove the scripts, please - foreach($content->find('script') as $script) { - $script->outertext = ''; - } - return $content->innertext; - } - } - return null; - } + +class WorldOfTanksBridge extends FeedExpander +{ + const MAINTAINER = 'Riduidel'; + const NAME = 'World of Tanks'; + const URI = 'https://worldoftanks.eu/'; + const DESCRIPTION = 'News about the tank slaughter game.'; + + const PARAMETERS = [ [ + 'lang' => [ + 'name' => 'Langue', + 'type' => 'list', + 'values' => [ + 'Français' => 'fr', + 'English' => 'en', + 'Español' => 'es', + 'Deutsch' => 'de', + 'Čeština' => 'cs', + 'Polski' => 'pl', + 'Türkçe' => 'tr' + ] + ] + ]]; + + const POSSIBLE_ARTICLES = ['article', 'rich-article']; + + public function collectData() + { + $this->collectExpandableDatas(sprintf('https://worldoftanks.eu/%s/rss/news/', $this->getInput('lang'))); + } + + protected function parseItem($newsItem) + { + $item = parent::parseItem($newsItem); + $item['content'] = $this->loadFullArticle($item['uri']); + return $item; + } + + /** + * Loads the full article and returns the contents + * @param $uri The article URI + * @return The article content + */ + private function loadFullArticle($uri) + { + $html = getSimpleHTMLDOMCached($uri); + + foreach (self::POSSIBLE_ARTICLES as $article_class) { + $content = $html->find('article', 0); + + if ($content !== null) { + // Remove the scripts, please + foreach ($content->find('script') as $script) { + $script->outertext = ''; + } + return $content->innertext; + } + } + return null; + } } |