123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- <?php
- define('WORLD_OF_TANKS', 'http://worldoftanks.eu/');
- define('NEWS', '/news/');
- class WorldOfTanks extends HttpCachingBridgeAbstract{
- private $lang = "fr";
- public $uri = WORLD_OF_TANKS;
- public function loadMetadatas() {
- $this->maintainer = "mitsukarenai";
- $this->name = "World of Tanks";
- $this->uri = "http://worldoftanks.eu/";
- $this->description = "News about the tank slaughter game.";
- $this->update = "2015-09-12";
- $this->parameters[] =
- '[
- {
- "name" : "ID de la catégorie",
- "type" : "number",
- "identifier" : "category"
- },
- {
- "name" : "Langue",
- "identifier" : "lang",
- "type" : "list",
- "values" : [
- {
- "name" : "Français",
- "value" : "fr"
- },
- {
- "name" : "English",
- "value" : "en"
- },
- {
- "name" : "Español",
- "value" : "es"
- },
- {
- "name" : "Deutsch",
- "value" : "de"
- },
- {
- "name" : "Čeština",
- "value" : "cs"
- },
- {
- "name" : "Polski",
- "value" : "pl"
- },
- {
- "name" : "Türkçe",
- "value" : "tr"
- }
- ]
- }
- ]';
- }
- public function collectData(array $param){
- if (!empty($param['lang'])) {
- $this->lang = $param['lang'];
- }
- if(empty($param['category'])) {
- $this->uri = WORLD_OF_TANKS.$this->lang.NEWS;
- } else {
- $this->uri = WORLD_OF_TANKS.$this->lang.NEWS.'pc-browser/'.$param['category']."/";
- }
- $html = $this->file_get_html($this->getURI()) or $this->returnError('Could not request '.$this->getURI(), 404);
- $this->message("loaded HTML from ".$this->getURI());
- // customize name
- $this->name = $html->find('title', 0)->innertext;
- foreach($html->find('.b-imgblock_ico') as $infoLink) {
- $this->parseLine($infoLink);
- }
- }
-
- public function parseLine($infoLink) {
- $item = new Item();
- $item->uri = WORLD_OF_TANKS.$infoLink->href;
- // now load that uri from cache
- // $this->message("loading page ".$item->uri);
- $articlePage = str_get_html($this->get_cached($item->uri));
- $content = $articlePage->find('.l-content', 0);
- HTMLSanitizer::defaultImageSrcTo($content, WORLD_OF_TANKS);
- $item->title = $content->find('h1', 0)->innertext;
- $item->content = $content->find('.b-content', 0)->innertext;
- // $item->name = $auteur->innertext;
- $item->timestamp = $content->find('.b-statistic_time', 0)->getAttribute("data-timestamp");
- $this->items[] = $item;
- }
- public function getName(){
- return $this->name;
- }
- public function getURI(){
- return $this->uri;
- }
- public function getCacheDuration(){
- return 3600; // 2h hours
- }
- public function getDescription(){
- return "Toutes les actualités les plus brulantes de ce simulateur de destruction d'acier.";
- }
- }
|