Jump to content

[Bêta] API Caramania.Ca


Bahanos

Recommended Posts

  • Super-modérateurs

Mise à jour du script ici > http://www.radios-fr.com/topic/18187-v342-apicaramaniaca/
 
L'API vous permet de récupérer des informations sur votre Webradio. ^^

Voici un script PHP simple d'utilisation :
 
api_call.php


<?$type = 'icecast'; // Technologie serveur (icecast,shoutcast,radionomy)$ip = 'listen-ca.uturnradio.com'; // URL ou IP du serveur$port = '80'; // PORT du serveur$ruid = ''; // RadioUID (Radionomy)$mount = '/classic_rock'; // MOUNT (Icecast)$cover_t = 'medium'; // Taille de l'image (small,medium,large,extralarge)$cover_d = 'http://api.caramania.net/covers/no_img.png'; // Pochette par défaut$cache = './cache.txt'; // Fichier cache.txt local$cache_c = './cache_call.txt'; // Fichier cache_call.txt local#########################################  NE PAS MODIFIER!  #########################################$date = '-1';if($lines = file($cache_c)){	$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) != ''){	$xml = @simplexml_load_file($cache);	$artist = trim($xml->track->artist);	$title = trim($xml->track->title);	$current = trim($xml->track->current);	$current_peak = trim($xml->track->current_peak);	$cover = trim($xml->track->cover);	$last_1_title = trim($xml->track->last_1_title);	$last_1_artist = trim($xml->track->last_1_artist);	$last_2_title = trim($xml->track->last_2_title);	$last_2_artist = trim($xml->track->last_2_artist);	$last_3_title = trim($xml->track->last_3_title);	$last_3_artist = trim($xml->track->last_3_artist);	$last_4_title = trim($xml->track->last_4_title);	$last_4_artist = trim($xml->track->last_4_artist);	$last_5_title = trim($xml->track->last_5_title);	$last_5_artist = trim($xml->track->last_5_artist);} else {	@file_put_contents($cache_c, '200'."\n".time());	$context = stream_context_create(array('http' => array('timeout' => 3)));	touch($cache);	$xml = @file_get_contents('http://api.caramania.net/?type='.$type.'&ip='.$ip.'&port='.$port.'&cover_t='.$cover_t.'&mount='.$mount.'&ruid='.$ruid, 0, $context);	if(!$xml){		$xml = @simplexml_load_file($cache);	} else {		@file_put_contents($cache, $xml); 		$xml = @simplexml_load_file($cache);		$expire_n = ($xml->track->callmeback / 1000);		if($expire_n < 15){ $expire_n = 15; }		@file_put_contents($cache_c, $expire_n."\n".time());	}	$artist = trim($xml->track->artist);	$title = trim($xml->track->title);	$current = trim($xml->track->current);	$current_peak = trim($xml->track->current_peak);	$cover = trim($xml->track->cover);	$last_1_title = trim($xml->track->last_1_title);	$last_1_artist = trim($xml->track->last_1_artist);	$last_2_title = trim($xml->track->last_2_title);	$last_2_artist = trim($xml->track->last_2_artist);	$last_3_title = trim($xml->track->last_3_title);	$last_3_artist = trim($xml->track->last_3_artist);	$last_4_title = trim($xml->track->last_4_title);	$last_4_artist = trim($xml->track->last_4_artist);	$last_5_title = trim($xml->track->last_5_title);	$last_5_artist = trim($xml->track->last_5_artist);}	print (empty($artist) ? '' : $artist).'|'.(empty($title) ? '' : $title).'|'.(empty($current) ? '0' : $current).'|'.(empty($current_peak) ? '0' : $current_peak).'|'.($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover) ? '<img src="'.$cover_d.'" border="0">' : '<img src="'.$cover.'" border="0">').'|'.(empty($last_1_title) ? '' : $last_1_title).'|'.(empty($last_1_artist) ? '' : $last_1_artist).'|'.(empty($last_2_title) ? '' : $last_2_title).'|'.(empty($last_2_artist) ? '' : $last_2_artist).'|'.(empty($last_3_title) ? '' : $last_3_title).'|'.(empty($last_3_artist) ? '' : $last_3_artist).'|'.(empty($last_4_title) ? '' : $last_4_title).'|'.(empty($last_4_artist) ? '' : $last_4_artist).'|'.(empty($last_5_title) ? '' : $last_5_title).'|'.(empty($last_5_artist) ? '' : $last_5_artist);  ?>

api_call.js




function api_call(){			$(function(){		$.get('api_call.php', function(xml_data) {    		var data = xml_data.split('|');			$('#artist').html(data[0]);			$('#title').html(data[1]);			$('#current').html(data[2]);			$('#current_peak').html(data[3]);			$('#cover').html(data[4]);			$('#last_1_title').html(data[5]);			$('#last_1_artist').html(data[6]);			$('#last_2_title').html(data[7]);			$('#last_2_artist').html(data[8]);			$('#last_3_title').html(data[9]);			$('#last_3_artist').html(data[10]);			$('#last_4_title').html(data[11]);			$('#last_4_artist').html(data[12]);			$('#last_5_title').html(data[13]);			$('#last_5_artist').html(data[14]);		});	});}setInterval('api_call();', 5000);$(document).ready(function(){ api_call(); });

api_call.html




<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script><script type="text/javascript" src="api_call.js"></script> <table summary="" border="0">	<tr>		<td>		<!-- Affiche la pochette --><span id="cover"></span><!--  --> 		</td>		<td><b>Actuellement :</b> 		<!-- Affiche l'artist --><span id="artist"></span><!--  -->		- 		<!-- Affiche le titre --><span id="title"></span><!--  -->		<br><b>Auditeurs :</b> 		<!-- Affiche les auditeurs --><span id="current"></span><!--  -->		<br><b>Peak d'auditeurs :</b> 		<!-- Affiche le peak d'auditeurs --><span id="current_peak"></span><!--  -->		<br>  		</td>	</tr></table><br><table border="0">																													   	<tr>		<td><b>Dernière chanson jouer : </b></td>		<td><!-- Dernière chanson No1 --><span id="last_1_title"></span> - <span id="last_1_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No2 --><span id="last_2_title"></span> - <span id="last_2_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No3 --><span id="last_3_title"></span> - <span id="last_3_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No4 --><span id="last_4_title"></span> - <span id="last_4_artist"></span><!--  --></td>	</tr>	<tr>		<td> </td>		<td><!-- Dernière chanson No5 --><span id="last_5_title"></span> - <span id="last_5_artist"></span><!--  --></td>	</tr></table>

Démo !!!

Link to comment
Share on other sites

  • 1 year later...

Perso moi j'ai plein d'erreur pourtant je l'ai mis sur mon serveur local et j'ai modifié le api_conf

Link to comment
Share on other sites

As-tu un serveur vps ou seulement en shared avec une compagnie? Si tu es en shared c'est tres possible que plusieurs ports soient bloqués et c'est pour ca que ca ne foncrionne pas. Si c'est le cas tu dois demander a ton Hébergeur de débloquer des ports.

Link to comment
Share on other sites

  • Super-modérateurs

Pour remplacer l'image ... un simple code html/php ^^
 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

remplacer "http://tonsite.com/tonimage.jpg" par image de votre choix ^^

@Dodo2235: Quel est le message d'erreur ?

Link to comment
Share on other sites

  • Super-modérateurs

Vérifie si les fichiers existe bien.

 

$cache = './cache.txt'; ### Fichier de cache local ###
$cache_c = './cache_call.txt'; ### Fichier de cache_call local ###

Link to comment
Share on other sites

cover.js fait le refresh sur le span

 

<span class="cover"><img src="http://api.caramania.net/img/no_img.jpg" height="80" border="0" alt=""></span>

 

mais pas sur le

 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

 

je ne sais pas comment modifier ca pour que ca fonctionne car aussitot je remet l'ancien avec le span ca fonctionne

Link to comment
Share on other sites

désolé j'ai oublié voici les ligne dans cover.js :

 

var aDivs, iDiv;
        aDivs = oO5.aTag(document, 'span');
        iDiv = aDivs.length;
        do if(aDivs[--iDiv].className === 'cover')
            oO5.control(aDivs[iDiv]);
        while(iDiv > 0);
        return true;

Link to comment
Share on other sites

  • Super-modérateurs

Tout a fait normal... ce code va dans le fichier cache_api.php

if($_GET['cover']==1){print trim('<img src="'.$cover.'" height="'.$height.'" border="0">');}par<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">
Link to comment
Share on other sites

bonjour Bahanos ton dernier code a l'air de fonctionner sauf qu'il n'y a pas de balises pour la hauteur de l'image, les album sont tres petit est-il possible de mettre un height dans le code

 

<img src="<? print ($cover=='http://api.caramania.net/covers/no_img.png' || empty($cover)?'http://tonsite.com/tonimage.jpg':$cover); ?>">

 

Merci!

Link to comment
Share on other sites

  • 4 weeks later...
  • Super-modérateurs

Tu dois utiliser le nouveau script pour choisir la qualité des pochettes.

La base de données des pochettes a été réinitialisée pour prendre en compte les accents.

La base de données des pochettes va se refaire avec le temps.

L'API récupère les nouvelles pochettes toutes les minutes.

Link to comment
Share on other sites

  • Super-modérateurs

Quelle taille de pochette utilises-tu ?

La plupart des pochettes ont 4 formats.

small (34x34) > http://api.caramania.net/covers/small/5901.jpg

medium (64x64)(par defaut) > http://api.caramania.net/covers/medium/5901.jpg

large (126x126) > http://api.caramania.net/covers/large/5901.jpg

extralarge (300x300) > http://api.caramania.net/covers/extralarge/5901.jpg

Link to comment
Share on other sites

  • Super-modérateurs

Comme dit plus haut ... "La plupart des pochettes ont 4 formats."

Vérifier que vous avez bien dans votre config :

 

$cover_t = 'large'; // Taille de l'image (small,medium,large,extralarge) 
Link to comment
Share on other sites

  • Super-modérateurs

Si je regarde le lien de l'image, vous avez oublié de supprimer le lien d’image Caramania dans votre config.

 

http://www.depressivemetalrockradio.com/metalrock19702000/psyblue.gifhttp://api.caramania.net/covers/extralarge/7025.jpg 
Vérifier votre configuration.
Link to comment
Share on other sites

  • Super-modérateurs

Penser à supprimer le vieux script.
 

<script type="text/javascript" src="js/artist.js"></script><script type="text/javascript" src="js/title.js"></script><script type="text/javascript" src="js/current.js"></script><script type="text/javascript" src="js/current_peak.js"></script><script type="text/javascript" src="js/cover.js"></script>
Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

Guest
This topic is now closed to further replies.
×
×
  • Create New...