<?php
####################################
###### CONFIGURATION DE L'API ######
####################################
$a = ''; // IP/URL du serveur (sans http://)
$b = ''; // Port du serveur
$c = ''; // Point de montage (ICECAST='/stream' | SHOUTCAST='')
$d = ''; // UID Radionomy (Affiche le nombre d'auditeurs)
$ssl = TRUE; // Secure Socket Layer (SSL) (avec = TRUE | sans = FALSE)
####################################
######### NE PAS MODIFIER ##########
####################################
function BomUTF8($data){ if(substr($data,0,3)==chr(hexdec('EF')).chr(hexdec('BB')).chr(hexdec('BF'))){ return substr($data,3); } else { return $data; } }
if(!file_exists('./cache')){ if(!mkdir ('./cache',0777)){ exit('Erreur de création du dossier "cache" ...'); } } $date = '-1';
$cache = './cache/api.webradio.tools.json';
$_cache = './cache/api.webradio.tools.call';
if($lines = file($_cache)){
$date = (isset($lines[1]) ? $lines[1] : '-1');
$time = $lines[0];
$expire = time() - $time;
} else { $expire = time() - 1; }
if(@file_exists($cache) && $date > $expire && file_get_contents($cache) != ''){
$api = json_decode(@file_get_contents($cache));
} else { $_curl = curl_init();
curl_setopt_array($_curl, array(
CURLOPT_URL => ($ssl?'https':'http').'://api.3.5.1.webradio.tools/'.$a.':'.$b.$c.'/'.$d,
CURLOPT_TIMEOUT => 3,
CURLOPT_HEADER => false,
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true
)); $api = BomUTF8(curl_exec($_curl));
$callmeback = json_decode($api);
$callmeback = $callmeback->callmeback/1000;
curl_close($_curl);
if(!$api){ $api = json_decode(@file_get_contents($cache)); } else {
@file_put_contents($cache, $api);
@file_put_contents($_cache, $callmeback."\n".time());
} $api = json_decode($api);
}
####################################
##### DÉFINITION DES REQUÊTES ######
####################################
print $api->ip; // Affiche l'adresse IP/URL
print $api->port; // Affiche le port
print $api->mount; // Affiche le point de montage (/stream)
print $api->server_type; // Affiche le type de serveur
print $api->radionomy_uid; // Affiche le UID Radionomy
print $api->request_method; // Affiche la méthode de contact (GET|POST)
print $api->server_protocol; // Affiche le protocole serveur utiliser
print $api->cache_timestamp; // Affiche le temps de mise en cache
print $api->callmeback; // Affiche le délai avant de pouvoir recontacter l'API (/1000)
print $api->version; // Affiche la version de l'API
print $api->copyright; // Affiche le copyright
print $api->current_song->artist; // Affiche l'artiste
print $api->current_song->title; // Affiche le titre
print $api->current_song->covers->small; // Affiche la pochette (small)
print $api->current_song->covers->medium; // Affiche la pochette (medium)
print $api->current_song->covers->large; // Affiche la pochette (large)
print $api->current_song->covers->extralarge; // Affiche la pochette (extralarge)
print $api->listener->now; // Affiche le nombre d'auditeurs
print $api->listener->peak; // Affiche le pic d'auditeurs
print $api->song_history->No1->artist; // Affiche le dernier artiste No1
print $api->song_history->No1->title; // Affiche le dernier titre No1
print $api->song_history->No1->covers->small; // Affiche la dernière pochette No1 (small)
print $api->song_history->No1->covers->medium; // Affiche la dernière pochette No1 (medium)
print $api->song_history->No1->covers->large; // Affiche la dernière pochette No1 (large)
print $api->song_history->No1->covers->extralarge; // Affiche la dernière pochette No1 (extralarge)
print $api->song_history->No2->artist; // Affiche le dernier artiste No2
print $api->song_history->No2->title; // Affiche le dernier titre No2
print $api->song_history->No2->covers->small; // Affiche la dernière pochette No2 (small)
print $api->song_history->No2->covers->medium; // Affiche la dernière pochette No2 (medium)
print $api->song_history->No2->covers->large; // Affiche la dernière pochette No2 (large)
print $api->song_history->No2->covers->extralarge; // Affiche la dernière pochette No2 (extralarge)
print $api->song_history->No3->artist; // Affiche le dernier artiste No3
print $api->song_history->No3->title; // Affiche le dernier titre No3
print $api->song_history->No3->covers->small; // Affiche la dernière pochette No3 (small)
print $api->song_history->No3->covers->medium; // Affiche la dernière pochette No3 (medium)
print $api->song_history->No3->covers->large; // Affiche la dernière pochette No3 (large)
print $api->song_history->No3->covers->extralarge; // Affiche la dernière pochette No3 (extralarge)
print $api->song_history->No4->artist; // Affiche le dernier artiste No4
print $api->song_history->No4->title; // Affiche le dernier titre No4
print $api->song_history->No4->covers->small; // Affiche la dernière pochette No4 (small)
print $api->song_history->No4->covers->medium; // Affiche la dernière pochette No4 (medium)
print $api->song_history->No4->covers->large; // Affiche la dernière pochette No4 (large)
print $api->song_history->No4->covers->extralarge; // Affiche la dernière pochette No4 (extralarge)
print $api->song_history->No5->artist; // Affiche le dernier artiste No5
print $api->song_history->No5->title; // Affiche le dernier titre No5
print $api->song_history->No5->covers->small; // Affiche la dernière pochette No5 (small)
print $api->song_history->No5->covers->medium; // Affiche la dernière pochette No5 (medium)
print $api->song_history->No5->covers->large; // Affiche la dernière pochette No5 (large)
print $api->song_history->No5->covers->extralarge; // Affiche la dernière pochette No5 (extralarge)
?>