public function getBuyLink(SSLTrack $track)
{
$en_api_key = trim(file_get_contents('SevenDigital.key'));
$en_url = "http://developer.echonest.com/api/v4/song/search?api_key=%s&format=json&results=1&artist=%s&title=%s&bucket=id:7digital&bucket=id:7digital&limit=true&bucket=tracks";
$real_en_url = sprintf($en_url, $en_api_key, rawurlencode($track->getArtist()), rawurlencode($track->getTitle()));
//var_dump($real_en_url);
$en_result = file_get_contents($real_en_url);
$en_result = json_decode($en_result, true);
// var_dump(
// levenshtein(mb_strtolower($en_result['response']['songs'][0]['title']), mb_strtolower($track->getTitle())),
// $en_result['response'],
// $track->getTitle()
// );
if (levenshtein(mb_strtolower($en_result['response']['songs'][0]['title']), mb_strtolower($track->getTitle())) < 5) {
foreach ($en_result['response']['songs'][0]['tracks'] as $track) {
if ($track['catalog'] == '7digital') {
$id_parts = explode(':', $track['foreign_id']);
$seven_digital_id = $id_parts[2];
break;
}
}
}
if (!isset($seven_digital_id)) {
return false;
}
$sd_url = 'http://api.7digital.com/1.2/track/details?trackid=%d&oauth_consumer_key=%s&country=GB';
$real_sd_url = sprintf($sd_url, $seven_digital_id, 'musichackday');
$sd_result = @file_get_contents($real_sd_url);
if (empty($sd_result)) {
return '';
}
//var_dump($sd_result);
$xml = new DOMDocument();
$xml->loadXML($sd_result);
$xpath = new DOMXpath($xml);
$urls = $xpath->query('//track/url/text()');
/* @var $urls DomNodeList */
return @$urls->item(0)->textContent;
// $api = new SevenDigitalApi();
// $api->OutputType = 'json';
// $api->ConsumerId = 'musichackday';
// var_dump($track->getArtist() . ' ' . $track->getTitle());
// $results = $api->GetTracksByTitle($track->getArtist() . ' ' . $track->getTitle());
// $resultsObj = json_decode($results);
// var_dump($results);
// if(isset($resultsObj->response->searchResults->searchResult[0]))
// {
// return $resultsObj->response->searchResults->searchResult[0]->release->url;
// }
// return false;
}