Rss-Bridge/bridges/MixCloudBridge.php

47 lines
1.3 KiB
PHP
Raw Normal View History

<?php
class MixCloudBridge extends BridgeAbstract {
const MAINTAINER = "Alexis CHEMEL";
const NAME = "MixCloud";
const URI = "https://mixcloud.com/";
const CACHE_TIMEOUT = 3600; // 1h
const DESCRIPTION = "Returns latest musics on user stream";
const PARAMETERS = array(array(
'u' => array(
'name' => 'username',
'required' => true,
)));
public function getName(){
return 'MixCloud - '.$this->getInput('u');
}
public function collectData() {
$html = getSimpleHTMLDOM(self::URI.'/'.$this->getInput('u'))
or returnServerError('Could not request MixCloud.');
foreach($html->find('div.card-elements-container') as $element) {
$item = array();
$item['uri'] = self::URI.$element->find('h3.card-cloudcast-title a', 0)->getAttribute('href');
$item['title'] = html_entity_decode($element->find('h3.card-cloudcast-title a span', 0)->getAttribute('title'), ENT_QUOTES);
$image = $element->find('img.image-for-cloudcast', 0);
if( $image ) {
$item['content'] = '<img src="'.$image->getAttribute('src').'" />';
}
$item['author'] = trim($element->find('h4.card-cloudcast-user a', 0)->innertext);
$this->items[] = $item;
}
}
}