<?php /** * RssBridgeArte7fr * Returns images from given page and tags * 2014-05-25 * * @name Arte +7 FR * @homepage http://www.arte.tv/guide/fr/ * @description Returns newest videos from ARTE +7 (french) * @maintainer mitsukarenai */ class Arte7frBridge extends BridgeAbstract{ public function collectData(array $param){ $input_json = json_decode(file_get_contents('http://www.arte.tv/guide/fr/plus7.json'), TRUE) or $this->returnError('Could not request ARTE.', 404); foreach($input_json['videos'] as $element) { $item = new \Item(); $item->uri = 'http://www.arte.tv'.$element['url']; $item->postid = $item->uri; $date = $element['airdate_long']; $date = explode(' ', $date); $day = (int)$date['1']; $month=FALSE; switch ($date['2']) { case 'janvier': $month=1;break; case 'février': $month=2;break; case 'mars': $month=3;break; case 'avril': $month=4;break; case 'mai': $month=5;break; case 'juin': $month=6;break; case 'juillet': $month=7;break; case 'août': $month=8;break; case 'septembre': $month=9;break; case 'octobre': $month=10;break; case 'novembre': $month=11;break; case 'décembre': $month=12;break; } $year=(int)date('Y'); $heure=explode('h', $date['4']); $hour=(int)$heure['0']; $minute=(int)$heure['1']; $item->timestamp = mktime($hour, $minute, 0, $month, $day, $year); $item->thumbnailUri = $element['image_url']; $item->title = $element['title']; $item->content = $element['desc'].'<br><br>'.$element['video_channels'].', '.$element['duration'].'min<br><img src="' . $item->thumbnailUri . '" />'; $this->items[] = $item; } } public function getName(){ return 'Arte7fr'; } public function getURI(){ return 'http://www.arte.tv/'; } public function getCacheDuration(){ return 1800; // 30 minutes } }