<?php
//ini_set('display_errors', 1); ini_set('display_startup_errors', 1); error_reporting(E_ALL);
header("Content-Type: text/html;  charset=ISO-8859-1",true);

ini_set("memory_limit", "128M");
ini_set("max_execution_time", 600);

require_once("../admin/inc/conecta.php");

// Funções gerais para uso com Ajax

$acao = query_string('1');

////////////////////////////////////////
/////////// Funções Players ////////////
////////////////////////////////////////


// Função para exibir a música atual tocando no streaming
if($acao == "musica_atual") {

	// Proteção contra acesso direto
	if(!preg_match("/".str_replace("http://","",str_replace("www.","",$_SERVER['HTTP_HOST']))."/i",$_SERVER['HTTP_REFERER'])) {
	die("<span class='texto_status_erro'>0x001 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");
	}
	
	$servidor = query_string('2');
	$porta = query_string('3');
	$limite_caracteres = query_string('4');

	$dados_stm = @mysqli_fetch_array(@mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	$dados_servidor = @mysqli_fetch_array(@mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));

	$total_pontos = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM multipoint where codigo_stm = '".$dados_stm["codigo"]."'"));

	if($total_pontos > 0) {
	$ponto = "/1";
	} else {
	$ponto = "/stream";
	}
	
	if($dados_stm["tipo_servidor"] == "icecast") {

	  $porta_admin_icecast = $dados_stm["porta"]+1;

	  $dados_icecast = @file_get_contents("http://".$dados_servidor["ip"].":".$porta_admin_icecast."/status-json.xsl?mount=".$ponto);

	  $dados_json_icecast = json_decode($dados_icecast, true);

	  $musica = ($dados_json_icecast["icestats"]["source"]["artist"]) ? $dados_json_icecast["icestats"]["source"]["artist"]." - ".$dados_json_icecast["icestats"]["source"]["title"] : $dados_json_icecast["icestats"]["source"]["title"];

	} else {
	  $musica = @file_get_contents("http://".$dados_servidor["ip"].":".$dados_stm["porta"]."/currentsong?sid=1");
	}
	
	$musica = (preg_match('/feminino_/i',$musica)) ? "Hora Certa" : $musica;
	$musica = (preg_match('/masculino_/i',$musica)) ? "Hora Certa" : $musica;
	
	$musica = str_replace("_"," ",$musica);
	$musica = ucwords(strtolower($musica));
	$musica = utf8_decode($musica);
	
	if(!$musica) {
	
	$dados_servidor_shoutcast = shoutcast_info($servidor,$porta,1);
	
	die($dados_servidor_shoutcast["titulo"]);
	}
		
	if(strlen($musica) > $limite_caracteres) {
	echo substr($musica, 0, $limite_caracteres)."...";
	} else {
	echo $musica;
	}
	
	exit();
	
}

// Função para exibir a música atual tocando no streaming
if($acao == "capa_musica_atual") {
	
	header("Content-Type: text/html;  charset=UTF-8",true);

	// Proteção contra acesso direto
	if(!preg_match("/".str_replace("http://","",str_replace("www.","",$_SERVER['HTTP_HOST']))."/i",$_SERVER['HTTP_REFERER'])) {
	die("<span class='texto_status_erro'>0x001 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");
	}
	
	$servidor = query_string('2');
	$porta = query_string('3');

	$dados_stm = @mysqli_fetch_array(@mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	$dados_servidor = @mysqli_fetch_array(@mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));

	$total_pontos = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM multipoint where codigo_stm = '".$dados_stm["codigo"]."'"));

	if($total_pontos > 0) {
	$ponto = "/1";
	} else {
	$ponto = "/stream";
	}

	if($dados_stm["tipo_servidor"] == "icecast") {

	  $porta_admin_icecast = $dados_stm["porta"]+1;

	  $dados_icecast = @file_get_contents("http://".$dados_servidor["ip"].":".$porta_admin_icecast."/status-json.xsl?mount=".$ponto);

	  $dados_json_icecast = json_decode($dados_icecast, true);

	  $musica_completa = ($dados_json_icecast["icestats"]["source"]["artist"]) ? $dados_json_icecast["icestats"]["source"]["artist"]." - ".$dados_json_icecast["icestats"]["source"]["title"] : $dados_json_icecast["icestats"]["source"]["title"];

	} else {
	  $musica_completa = @file_get_contents("http://".$dados_servidor["ip"].":".$dados_stm["porta"]."/currentsong?sid=1");
	  $musica_completa = utf8_decode($musica_completa);
	}
	
	$musica_completa = str_replace("_"," ",$musica_completa);
	$musica_completa = ucwords(strtolower($musica_completa));
	
	$musica_completa = str_replace(" e "," & ",$musica_completa);
	$musica_completa = str_replace(" E "," & ",$musica_completa);
	
	if(!$musica_completa) {
	die("/img/img-capa-artista-padrao.png");
	}
	
	if(preg_match('/feminino_/i',$musica_completa)) {
	die("/img/img-capa-artista-relogio.png");
	}
	
	if(preg_match('/masculino_/i',$musica_completa)) {
	die("/img/img-capa-artista-relogio.png");
	}
	
	$musica_partes = explode("-",$musica_completa);

	$artista = str_replace("_"," ",$musica_partes[0]);
	$artista = rtrim($artista, " \t.");
	
	$dados_api_itunes_json = json_decode(file_get_contents("https://itunes.apple.com/search?term=".urlencode($artista)."&media=music&limit=1"),true);

	if($dados_api_itunes_json["results"][0]["artworkUrl100"]) {
	echo str_replace("100x100bb", "600x600bb", $dados_api_itunes_json["results"][0]["artworkUrl100"]);
	} else {
	echo "/img/img-capa-artista-padrao.png";
	}
	
	exit();
	
}
?>
