1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- <?php
- class SoundCloudBridge extends BridgeAbstract{
- const MAINTAINER = "kranack";
- const NAME = "Soundcloud Bridge";
- const URI = "https://soundcloud.com/";
- const CACHE_TIMEOUT = 600; // 10min
- const DESCRIPTION = "Returns 10 newest music from user profile";
- const PARAMETERS = array( array(
- 'u'=>array(
- 'name'=>'username',
- 'required'=>true
- )
- ));
- const CLIENT_ID = '0aca19eae3843844e4053c6d8fdb7875';
- public function collectData(){
- $res = json_decode(getContents(
- 'https://api.soundcloud.com/resolve?url=http://www.soundcloud.com/'
- . urlencode($this->getInput('u'))
- .'&client_id=' . self::CLIENT_ID
- )) or returnServerError('No results for this query');
- $tracks = json_decode(getContents(
- 'https://api.soundcloud.com/users/'
- . urlencode($res->id)
- .'/tracks?client_id=' . self::CLIENT_ID
- )) or returnServerError('No results for this user');
- for ($i=0; $i < 10; $i++) {
- $item = array();
- $item['author'] = $tracks[$i]->user->username .' - '. $tracks[$i]->title;
- $item['title'] = $tracks[$i]->user->username .' - '. $tracks[$i]->title;
- $item['content'] = '<audio src="'. $tracks[$i]->uri .'/stream?client_id='. self::CLIENT_ID .'">';
- $item['id'] = self::URI
- . urlencode($this->getInput('u')) .'/'
- . urlencode($tracks[$i]->permalink);
- $item['uri'] = self::URI
- . urlencode($this->getInput('u')) .'/'
- . urlencode($tracks[$i]->permalink);
- $this->items[] = $item;
- }
- }
- public function getName(){
- return self::NAME .' - '. $this->getInput('u');
- }
- }
|