Дополнение для постеров с Last.fm
В файле parser.php после кода
[HIDE="10"]if (isset($video_link)) {
$video_link = $db->safesql( $video_link );
} [/HIDE]
вставляем следующий код:
[HIDE="10"] ########## Постер исполнителя ##########
function artist_img ($url){
$page = curl_init();
curl_setopt($page,CURLOPT_RETURNTRANSFER, 1);
curl_setopt($page,CURLOPT_URL, $url);
curl_setopt($page,CURLOPT_TIMEOUT,50);
curl_setopt($page,CURLOPT_HEADER, 0);
curl_setopt($page,CURLOPT_NOBODY, 0);
curl_setopt($page,CURLOPT_REFERER, $url);
curl_setopt($page, CURLOPT_ENCODING, "gzip, deflate");
curl_setopt($page,CURLOPT_USERAGENT, 'Mozilla/5.0');
curl_setopt($page, CURLOPT_HTTPHEADER, array(
'Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8',
'Accept-Encoding: gzip, deflate',
'Accept-Language: ru-UA,ru-RU;q=0.9,ru;q=0.8,en-US;q=0.7,en;q=0.6',
'Connection: keep-alive',
'Host: ws.audioscrobbler.com',
'Upgrade-Insecure-Requests: 1',
));
$images_artist = curl_exec($page);
curl_close($page);
return $images_artist;
}
$url_api = artist_img('
http://ws.audioscrobbler.com/2.0/?m...'&api_key='.$zkconfig['api_key'].'&lang=ru');
if(preg_match("#status=\"failed\"#is",$url,$artist)){
$poster_artist = '';
}elseif(preg_match("#<artist><name>$name</name>(.*?)<similar>#is",$url_api,$artist)){
if(preg_match('#<image size="large">(.*?)</image>#',$artist[1],$image_artist)){
$poster_artist = $image_artist[1];
}elseif(preg_match('#<image size="medium">(.*?)</image>#',$artist[1],$image_artist)){
$poster_artist = $image_artist[1];
}
}
print_r($poster_artist);
########## THE END ########## [/HIDE]
Далее чуть ниже, после $xfield_attach = $zkconfig['fields_attachment']; вставляем код
[HIDE="10"]$xfield_poster = $zkconfig['fields_poster']; [/HIDE]
и еще ниже, после $filecontents .= $xfield_mp3_url . '|' . $mp3_link . '||';
добавляем код
[HIDE="10"]if (isset($poster_artist)) {$filecontents .= $xfield_poster . '|' . $poster_artist . '||';} [/HIDE]
В файле config.php вставляем строку с вашим ключем [HIDE="10"]'api_key' => 'ключ апи ласт фм', [/HIDE]
и затем ниже вставляем строку
[HIDE="10"]'fields_poster' => 'poster', [/HIDE]
Сохраняем, идем в настройки доп. полей и добавляем поле "poster". Без кавычек, текстовое, одна строка. Сохраняем, рестартим апач. Теперь при парсинге песен, скрипт будет искать совпадения по исполнителю на last.fm. Если совпадение найдено, скрипт будет заполнять доп. поле poster в виде ссылки на картинку исполнителя. Теперь в шаблоне можете выводить картинку в любом месте тегом
<img src="[xfvalue_poster]" alt="{title}" />
P.S. Так как у многих парсер переделывался и допиливался по-разному, не факт, что это заработает у всех. У меня работает без проблем.