<?php
header("Content-Type: text/html;  charset=ISO-8859-1",true);

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

$acao = query_string('2');

////////////////////////////////////////////////////////
/////////// Funções Gerenciamento Streaming ////////////
////////////////////////////////////////////////////////

// Função para ligar/desligar streamings e auutodjs
if($acao == "ligar_streamings_autodjs") {

	$porta = code_decode(query_string('3'),"D");
	$tipo = query_string('4');

	$dados_stm_ligar = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	
	if($tipo == "streaming") {
	echo file_get_contents("http://".$_SERVER['HTTP_HOST']."/funcoes-ajax/ligar_streaming/".code_decode($dados_stm_ligar["porta"],"E")."/robot");
	} else {
	echo file_get_contents("http://".$_SERVER['HTTP_HOST']."/funcoes-ajax/ligar_autodj/".code_decode($dados_stm_ligar["porta"],"E")."/".$dados_stm_ligar["ultima_playlist"]."/".$dados_stm_ligar["autodj_shuffle"]."/".$dados_stm_ligar["bitrate_autodj"]."/".$dados_stm_ligar["xfade"]."/".$dados_stm_ligar["autodj_samplerate"]."/".$dados_stm_ligar["autodj_channels"]."/".$dados_stm_ligar["encoder"]."/robot");
	}
	
	exit();
}

// Função para bloquear streaming
if($acao == "bloquear_streaming") {

	// Proteção Administrador/Revenda
	if(empty($_SESSION["type_logged_user"])) {
	die("<span class='texto_status_erro'>0x004 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");	
	}

	$porta = code_decode(query_string('3'),"D");
	
	if($porta == "" || $porta == 0) {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	
	} else {
	
	$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"]."'"));
	
	if($dados_servidor["status"] == "off") {	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";
	exit();	
	}
	
	$status = ($_SESSION["type_logged_user"] == "operador") ? 2 : 3;
	$status_log = ($_SESSION["type_logged_user"] == "operador") ? "pelo administrador." : "pela revenda.";
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));
	
	$porta = $dados_stm["porta"];
	$porta_ouvinte = $dados_stm["porta"]+1;
	
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	
	mysqli_query($conexao,"Update streamings set status ='".$status."' where codigo = '".$dados_stm["codigo"]."'");
	
	// Site adm
	if($dados_stm["site_adm_instalado"] == "sim"){
	@shell_exec("cp -f ../player/sites/bloqueado.html ../player/sites/".$dados_stm["porta"]."/index.html;cp -f ../player/sites/bloqueado.html ../player/sites/".$dados_stm["porta"]."/admin/index.html");
	}
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_streaming_bloquear_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Streaming bloqueado com sucesso ".$status_log."");
	
	// Loga data do bloqueio
	@mysqli_query($conexao,"Update streamings set data_bloqueio = NOW() WHERE codigo = '".$dados_stm["codigo"]."'");
	
	}
	
	exit();
}

// Função para desbloquear streaming
if($acao == "desbloquear_streaming") {

	// Proteção Administrador/Revenda
	if(empty($_SESSION["type_logged_user"])) {
	die("<span class='texto_status_erro'>0x004 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");	
	}

	$porta = code_decode(query_string('3'),"D");
	
	if($porta == "" || $porta == 0) {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	
	} else {
	
	$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"]."'"));
	
	if($dados_servidor["status"] == "off") {	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";
	exit();	
	}
	
	$status_log = ($_SESSION["type_logged_user"] == "operador") ? "pelo administrador." : "pela revenda.";
	
	if($_SESSION["type_logged_user"] == "cliente" && $dados_stm["status"] == 2) {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_info_streaming_bloquear_resultado_erro."</div>";
	exit();	
	}
	
	// Site adm
	if($dados_stm["site_adm_instalado"] == "sim"){
	@shell_exec("rm -f ../player/sites/".$dados_stm["porta"]."/index.html ../player/sites/".$dados_stm["porta"]."/admin/index.html");
	}
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_streaming_desbloquear_resultado_ok."</div>";
	
	mysqli_query($conexao,"Update streamings set status = '1' where codigo = '".$dados_stm["codigo"]."'");
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Streaming desbloqueado com sucesso ".$status_log."");
	
	}
	
	exit();
}

// Função para remover streaming
if($acao == "remover_streaming") {

	// Proteção Administrador/Revenda
	if(empty($_SESSION["type_logged_user"])) {
	die("<span class='texto_status_erro'>0x004 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");	
	}

	$porta = code_decode(query_string('3'),"D");
	
	if($porta == "" || $porta == 0) {
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	} else {
	
	$checar_streaming = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	
	if($checar_streaming == 0) {
	echo "<div class='alert alert-danger text-center' role='alert'>Atenção! Streaming ".$porta." não encontrado.</div>";
	exit();
	}
	
	$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"]."'"));
	
	if($dados_servidor["status"] == "off") {	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";
	exit();	
	}
	
	$status_log = ($_SESSION["type_logged_user"] == "operador") ? "pelo administrador." : "pela revenda.";
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));
	
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	
	$ssh->executar("rm -rf /home/streaming/".$dados_stm["porta"]." /home/streaming/configs/*".$dados_stm["porta"]."* /home/streaming/logs/*".$dados_stm["porta"]."* /home/streaming/playlists/".$dados_stm["porta"]."-*.pls;echo ok");
	
	mysqli_query($conexao,"Delete From streamings where codigo = '".$dados_stm["codigo"]."'");
	
	// Remove as playlists
	$query_playlists = mysqli_query($conexao,"SELECT * FROM playlists where codigo_stm = '".$dados_stm["codigo"]."'");
	while ($dados_playlist = mysqli_fetch_array($query_playlists)) {
	
	mysqli_query($conexao,"Delete From playlists where codigo = '".$dados_playlist["codigo"]."'");
	mysqli_query($conexao,"Delete From playlists_musicas where codigo_playlist = '".$dados_playlist["codigo"]."'");
	
	}
	
	// Remove as estatisticas
	mysqli_query($conexao,"Delete From estatisticas where codigo_stm = '".$dados_stm["codigo"]."'");

	// Remove os DJs
	mysqli_query($conexao,"Delete From djs where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove os Agendamentos
	mysqli_query($conexao,"Delete From playlists_agendamentos where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove solicitações de app
	mysqli_query($conexao,"Delete From apps where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove logs
	mysqli_query($conexao,"Delete From logs_streamings where codigo_stm = '".$dados_stm["codigo"]."'");
	mysqli_query($conexao,"Delete From logs_migracoes where codigo_stm = '".$dados_stm["codigo"]."'");
	mysqli_query($conexao,"Delete From dicas_rapidas_acessos where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove migração de musicas
	mysqli_query($conexao,"Delete From streaming.migracoes where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Loga a ação executada
    mysqli_query($conexao,"INSERT INTO logs (acao,data,ip,log) VALUES ('".$acao."',NOW(),'".$_SERVER['REMOTE_ADDR']."','Remoção do streaming ".$dados_stm["porta"]." ".$status_log."')");
	
	// Remove app android
	mysqli_query($conexao,"Delete From apps where codigo_stm = '".$dados_stm["codigo"]."'");
	@unlink("../app/apps/".$dados_app["zip"]."");

	if($dados_stm["site_adm_instalado"] == "sim"){
	@shell_exec("rm -Rf ../player/sites/".$dados_stm["porta"]."/");
	}
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_streaming_remover_resultado_ok."</div>";

	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Streaming removido com sucesso ".$status_log."");
	
	}
	
	exit();
}

// Função para carregar o status de uma lista de streamings
if($acao == "status_streaming") {

	$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"]."'"));
	$verificar_dj_conectado = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND conectado = 'sim'"));
	$verificar_relay_conectado = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM relay_agendamentos WHERE codigo_stm = '".$dados_stm["codigo"]."' AND conectado = 'sim'"));

	$status_conexao = status_streaming($dados_servidor["ip"],$dados_stm["porta"]);

	if($dados_stm["tipo_servidor"] == "icecast") {
	$status_conexao_transmissao = status_streaming_transmissao_icecast($dados_servidor["ip"],$dados_stm["porta"],$dados_stm["senha_admin"]);
	} else {
	$status_conexao_transmissao = status_streaming_transmissao($dados_servidor["ip"],$dados_stm["porta"],$dados_stm["senha_admin"]);
	}
	
	if($status_conexao == "ligado") {
		$status = "<i class='fa fa-check text-green'>&nbsp;".lang_info_status_ligado."</i>";
	} else {
		$status = "<i class='fa fa-info-circle'>&nbsp;".lang_info_status_desligado."</i>";
	}
	
	if($status_conexao_transmissao == "relay" || $verificar_relay_conectado > 0) {
		$status = "<i class='fa fa-check text-pink'>&nbsp;".lang_info_status_relay."</i>";
	} elseif($status_conexao_transmissao == "autodj" && $verificar_dj_conectado > 0) {
		$status = "<i class='fa fa-check text-green'>&nbsp;".lang_info_status_aovivo."</i>";
	} elseif($status_conexao_transmissao == "autodj") {
		$status = "<i class='fa fa-check text-green'>&nbsp;".lang_info_status_autodj."</i>";
	} elseif($status_conexao_transmissao == "aovivo") {
		$status = "<i class='fa fa-check text-red'>&nbsp;".lang_info_status_aovivo."</i>";
	}
	
	echo $status;
	
	exit();
	
}

// Função para admin/revenda acessar painel de streaming
if($acao == "acessar_painel_streaming_revenda") {

	// Proteção Administrador/Revenda
	if(empty($_SESSION["type_logged_user"])) {
	die("<span class='texto_status_erro'>0x004 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");	
	}

	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".code_decode(query_string('3'),"D")."'"));

	if($dados_stm["codigo_cliente"] == $_SESSION["code_user_logged"]) {

	echo "1|".code_decode($dados_stm["porta"],"E")."@".code_decode($dados_stm["senha"],"E")."";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Acesso da revenda ao painel de streaming executado com sucesso.");
	
	} else {
	echo '0|<div class="alert alert-danger text-center" role="alert">'.lang_info_acesso_stm_nao_permitido.'</div>';	
	}
	
	exit();
	
}

////////////////////////////////////////////////////////
//////////////////// Funções Gerais ////////////////////
////////////////////////////////////////////////////////

// Função para exibir avisos
if($acao == "exibir_aviso") {


	$codigo_aviso = query_string('3');
	
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$_SESSION["porta_logada"]."'"));
	$dados_aviso = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM avisos where codigo = '".$codigo_aviso."'"));
	
	$area = ($_SESSION["porta_logada"]) ? 'streaming' : 'revenda';
	$codigo_usuario = ($area == "streaming") ? $_SESSION["porta_logada"] : $_SESSION["code_user_logged"];

	if(!mysqli_error($conexao)) {
	
	list($ano,$mes,$dia) = explode("-",$dados_aviso["data"]);
	
	echo "<div id=\"quadro\">
			<div id=\"quadro-topo\"><strong>Atenção!</strong></div>
				<div class=\"texto_padrao\" id=\"quadro-conteudo\">
				".$dados_aviso["mensagem"]."<br><br>
				<span class=\"texto_padrao_vermelho\">Aviso adicionado em ".$dia."/".$mes."/".$ano."</span><br>
				<span class=\"texto_padrao_pequeno\"><input type=\"checkbox\" onclick=\"desativar_exibicao_aviso('".$codigo_aviso."', '".$area."', '".$codigo_usuario."');\" style=\"vertical-align:middle;\" />&nbsp;Marque esta caixa para não exibir novamente este aviso em seu painel de controle.</span>
				</div>
		  </div>";
	
	}
	
	exit();

}

// Função para marcar um aviso como vizualizado
if($acao == "desativar_exibicao_aviso") {

	$codigo_aviso = query_string('3');
	$area = query_string('4');
	$codigo_usuario = query_string('5');
	
	mysqli_query($conexao,"INSERT INTO avisos_desativados (codigo_aviso,codigo_usuario,area,data) VALUES ('".$codigo_aviso."','".$codigo_usuario."','".$area."',NOW())");
	
	exit();

}

////////////////////////////////////////////////////////
////////// Funções Gerenciamento Sub Revenda ///////////
////////////////////////////////////////////////////////

// Função para bloquear uma sub revenda
if($acao == "bloquear_subrevenda") {

	// 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>");
	}

	$codigo = code_decode(query_string('3'),"D");
	
	if($codigo == "" || $codigo == 0) {	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_alerta_dados_faltando."</div>";	
	} else {

	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	// Bloqueia os streamings da revenda
	$query_stms = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_subrevenda["codigo"]."'");
	while ($dados_stm = mysqli_fetch_array($query_stms)) {
	
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where codigo = '".$dados_stm["codigo"]."'"));
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "off") {	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";	
	exit();	
	}
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));
	
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	
	// Bloqueia o streaming da subreenda no painel
	mysqli_query($conexao,"Update streamings set status = '2' where status = '1' AND codigo = '".$dados_stm["codigo"]."'");
	
	}
	
	// Bloqueia as subrevendas da subrevenda
	$query_subrevendas_sub = mysqli_query($conexao,"SELECT * FROM revendas where codigo_revenda = '".$dados_subrevenda["codigo"]."' AND status = '1' AND tipo = '3' ORDER by codigo ASC");
	while ($dados_subrevenda_sub = mysqli_fetch_array($query_subrevendas_sub)) {
	
	// Bloqueia os streamings da subrevenda
	$query_stms_subrevenda = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_subrevenda_sub["codigo"]."'");
	while ($dados_stm_subrevenda_sub = mysqli_fetch_array($query_stms_subrevenda)) {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm_subrevenda_sub["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "on") {	
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));
	
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	
	}
	
	// Bloqueia o streaming da subreenda no painel
	mysqli_query($conexao,"Update streamings set status = '2' where codigo = '".$dados_stm_subrevenda_sub["codigo"]."'");
	
	}

	// Bloqueia a subrevenda da subrevenda no painel
	mysqli_query($conexao,"Update revendas set status = '3' where codigo = '".$dados_subrevenda_sub["codigo"]."'");
	
	}	
	
	// Bloqueia a subrevenda no painel
	mysqli_query($conexao,"Update revendas set status = '3' where codigo = '".$dados_subrevenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_bloquear_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_subrevenda["nome"]." - ".$dados_subrevenda["email"]."] Sub Revenda bloqueada com sucesso");
	
	}	
	
	exit();
}

// Função para bloquear uma sub revenda
if($acao == "desbloquear_subrevenda") {

	// 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>");
	}

	$codigo = code_decode(query_string('3'),"D");
	
	if($codigo == "" || $codigo == 0) {
	die("<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>");
	}
	
	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	// Desbloqueia os streamings da revenda
	mysqli_query($conexao,"Update streamings set status = '1' where codigo_cliente = '".$dados_subrevenda["codigo"]."'");
	
	// Desbloqueia as subrevendas da subrevenda no painel
	mysqli_query($conexao,"Update revendas set status = '1' where codigo_revenda = '".$dados_subrevenda["codigo"]."' AND tipo = '3'");
	
	// Desbloqueia as subrevendas da subrevenda
	$query_subrevendas_sub = mysqli_query($conexao,"SELECT * FROM revendas where codigo_revenda = '".$dados_subrevenda["codigo"]."' AND tipo = '3' ORDER by codigo ASC");
	while ($dados_subrevenda_sub = mysqli_fetch_array($query_subrevendas_sub)) {
	
	// Desbloqueia o streaming da subreenda no painel
	mysqli_query($conexao,"Update streamings set status = '1' where codigo_cliente = '".$dados_stm_subrevenda_sub["codigo"]."'");
	}
	
	// Desbloqueia a subrevenda
	mysqli_query($conexao,"Update revendas set status = '1' where codigo = '".$dados_subrevenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_desbloquear_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_subrevenda["nome"]." - ".$dados_subrevenda["email"]."] Sub Revenda desbloqueada com sucesso");
	
	exit();

}

// Função para bloquear uma sub revenda
if($acao == "remover_subrevenda") {

	// 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>");
	}

	$codigo = code_decode(query_string('3'),"D");
	
	if($codigo == "" || $codigo == 0) {
	die("<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>");
	}
	
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo = '".$_SESSION["code_user_logged"]."'"));
	$checar_subrevenda = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND codigo = '".$codigo."') AND tipo != '1'"));
	
	if($checar_subrevenda == 0) {	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_subrevenda_nao_encontrada."</div>";	
	exit();
	}
	
	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	// Remove os streamings da subrevenda
	$query_stms = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_subrevenda["codigo"]."'");
	while ($dados_stm = mysqli_fetch_array($query_stms)) {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "off") {		
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";	
	exit();	
	}
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));

	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	$ssh->executar("nohup rm -rf /home/streaming/".$dados_stm["porta"]." /home/streaming/configs/*".$dados_stm["porta"]."* /home/streaming/logs/*".$dados_stm["porta"]."* /home/streaming/playlists/".$dados_stm["porta"]."-*.pls; echo ok");
	
	// Remove as playlists
	$query_playlists = mysqli_query($conexao,"SELECT * FROM playlists where codigo_stm = '".$dados_stm["codigo"]."'");
	while ($dados_playlist = mysqli_fetch_array($query_playlists)) {
	mysqli_query($conexao,"Delete From playlists where codigo = '".$dados_playlist["codigo"]."'");
	mysqli_query($conexao,"Delete From playlists_musicas where codigo_playlist = '".$dados_playlist["codigo"]."'");
	}
	
	// Remove os DJs
	mysqli_query($conexao,"Delete From djs where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove os Agendamentos
	mysqli_query($conexao,"Delete From playlists_agendamentos where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove solicitações de app
	mysqli_query($conexao,"Delete From apps where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove logs
	mysqli_query($conexao,"Delete From logs_streamings where codigo_stm = '".$dados_stm["codigo"]."'");
	mysqli_query($conexao,"Delete From logs_migracoes where codigo_stm = '".$dados_stm["codigo"]."'");
	mysqli_query($conexao,"Delete From dicas_rapidas_acessos where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Remove migração de musicas
	mysqli_query($conexao,"Delete From streaming.migracoes where codigo_stm = '".$dados_stm["codigo"]."'");
	
	// Desativa o relay no servidor RTMP	
	if($dados_stm["aacplus"] == 'sim') {
	
	$dados_servidor_aacplus = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor_aacplus"]."'"));
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor_aacplus["ip"],$dados_servidor_aacplus["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor_aacplus["senha"],"D"));

	$ssh->executar("/usr/local/WowzaMediaServer/desativar-aacplus ".$dados_stm["porta"]."");
	
	}
	
	// Remove o streaming do painel
	mysqli_query($conexao,"Delete From streamings where codigo = '".$dados_stm["codigo"]."'");
	
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Streaming removido com sucesso na remoção da sub revenda ".$dados_subrevenda["id"]." - ".$dados_subrevenda["email"]."");
	
	}
	
	// Remove as subrevendas da subrevenda
	$query_subrevendas_sub = mysqli_query($conexao,"SELECT * FROM revendas where codigo_revenda = '".$dados_subrevenda["codigo"]."' AND (status = '1' AND tipo = '3') ORDER by codigo ASC");
	while ($dados_subrevenda_sub = mysqli_fetch_array($query_subrevendas_sub)) {
	
	// Remove os streamings da subrevenda da subrevenda
	$query_stms_sub = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_subrevenda_sub["codigo"]."'");
	while ($dados_stm_sub = mysqli_fetch_array($query_stms_sub)) {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm_sub["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "off") {	
	
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_manutencao_servidor."</div>";
	
	exit();	
	}
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));

	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<autodj-".$dados_stm["porta"].".conf\>' | /bin/grep liquidsoap | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
    $ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"].".conf\>' | /bin/grep 'sc_serv\|icecast' | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	$ssh->executar("nohup rm -rf /home/streaming/".$dados_stm_sub["porta"]." /home/streaming/configs/*".$dados_stm_sub["porta"]."* /home/streaming/logs/*".$dados_stm_sub["porta"]."* /home/streaming/playlists/".$dados_stm_sub["porta"]."-*.pls; echo ok");
	
	// Remove as playlists
	$query_playlists = mysqli_query($conexao,"SELECT * FROM playlists where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	while ($dados_playlist = mysqli_fetch_array($query_playlists)) {
	mysqli_query($conexao,"Delete From playlists where codigo = '".$dados_playlist["codigo"]."'");
	mysqli_query($conexao,"Delete From playlists_musicas where codigo_playlist = '".$dados_playlist["codigo"]."'");
	}
	
	// Remove os DJs
	mysqli_query($conexao,"Delete From djs where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	
	// Remove os Agendamentos
	mysqli_query($conexao,"Delete From playlists_agendamentos where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	
	// Remove solicitações de app
	mysqli_query($conexao,"Delete From apps where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	
	// Remove logs
	mysqli_query($conexao,"Delete From logs_streamings where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	mysqli_query($conexao,"Delete From logs_migracoes where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	mysqli_query($conexao,"Delete From dicas_rapidas_acessos where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	
	// Remove migração de musicas
	mysqli_query($conexao,"Delete From streaming.migracoes where codigo_stm = '".$dados_stm_sub["codigo"]."'");
	
	// Desativa o relay no servidor RTMP	
	if($dados_stm_sub["aacplus"] == 'sim') {
	
	$dados_servidor_aacplus = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm_sub["codigo_servidor_aacplus"]."'"));
	
	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor_aacplus["ip"],$dados_servidor_aacplus["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor_aacplus["senha"],"D"));

	$ssh->executar("/usr/local/WowzaMediaServer/desativar-aacplus ".$dados_stm_sub["porta"]."");
	
	}
	
	// Remove o streaming do painel
	mysqli_query($conexao,"Delete From streamings where codigo = '".$dados_stm_sub["codigo"]."'");
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm_sub["porta"]."] Streaming removido com sucesso na remoção da sub revenda ".$dados_subrevenda_sub["id"]." - ".$dados_subrevenda_sub["email"]."");
	
	}	
	
	// Remove a subrevenda da subrevenda no painel
	mysqli_query($conexao,"Delete From revendas where codigo = '".$dados_subrevenda_sub["codigo"]."'");
	}	
	
	// Remove a subrevenda do painel
	mysqli_query($conexao,"Delete From revendas where codigo = '".$dados_subrevenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_remover_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_subrevenda["nome"]." - ".$dados_subrevenda["email"]."] Sub Revenda removida com sucesso.");
	
	exit();

}

// Função para mover um streaming para a revenda principal
if($acao == "mover_streaming_subrevenda_revenda") {

	// 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>");
	}

	$porta = code_decode(query_string('3'),"D");
	
	if($porta == "" || $porta == 0) {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	
	} else {
		
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo = '".$_SESSION["code_user_logged"]."'"));
	
	$verifica_subrevenda = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND codigo = '".$dados_stm["codigo_cliente"]."') AND tipo = '2'"));
	
	// Verifica se o streaming é de uma sub revenda que pertence a revenda logada
	if($verifica_subrevenda > 0) {
	
	mysqli_query($conexao,"Update streamings set codigo_cliente = '".$dados_revenda["codigo"]."' where codigo = '".$dados_stm["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_ok."</div>";

	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Movido para revenda principal ".$dados_revenda["id"]."");
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_alerta."</div>";
	
	}
	
	
	}
	
	exit();

}

// Função para mover um streaming para outra sub revenda
if($acao == "mover_streaming_subrevenda_subrevenda") {

	// 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>");
	}

	$porta = code_decode(query_string('3'),"D");
	$id = query_string('4');
	
	if($porta == "" || $porta == 0 || $id == "") {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	
	} else {
		
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo = '".$_SESSION["code_user_logged"]."'"));
	
	$verifica_subrevenda_atual = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND codigo = '".$dados_stm["codigo_cliente"]."') AND tipo = '2'"));
	
	$verifica_subrevenda_nova = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND id = '".$id."') AND tipo = '2'"));
	
	// Verifica se o streaming é de uma sub revenda que pertence a revenda logada
	if($verifica_subrevenda_atual > 0 && $verifica_subrevenda_nova > 0) {
	
	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE id = '".$id."'"));

	mysqli_query($conexao,"Update streamings set codigo_cliente = '".$dados_subrevenda["codigo"]."' where codigo = '".$dados_stm["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_ok."</div>";

	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Movido para sub revenda ".$dados_subrevenda["id"]."");
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_alerta."</div>";
	}
	
	
	}
	
	exit();

}

// Função para mover um streaming de uma revenda para uma sub revenda
if($acao == "mover_streaming_revenda_subrevenda") {

	// 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>");
	}

	$porta = code_decode(query_string('3'),"D");
	$id = query_string('4');
	
	if($porta == "" || $porta == 0 || $id == "") {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".$lang['lang_alerta_manutencao_servidor']."</div>";
	
	} else {
		
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo = '".$_SESSION["code_user_logged"]."'"));
	
	// Verifica se o streaming é da revenda atual
	$verifica_streaming = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM streamings WHERE codigo_cliente = '".$dados_revenda["codigo"]."' AND codigo = '".$dados_stm["codigo"]."'"));
	
	// Verifica se o streaming é de uma sub revenda que pertence a revenda logada
	if($verifica_streaming > 0) {
	
	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE id = '".$id."'"));

	mysqli_query($conexao,"Update streamings set codigo_cliente = '".$dados_subrevenda["codigo"]."' where codigo = '".$dados_stm["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_ok."</div>";

	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Movido da revenda para sub revenda ".$dados_subrevenda["id"]."");
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_info_subrevenda_streamings_mover_streaming_resultado_alerta."</div>";
	}
	
	
	}
	
	exit();

}

// Função para buscar uma sub revenda diretamente pelo ID
if($acao == "buscar_subrevenda") {
	
	// Proteção Administrador/Revenda
	if(empty($_SESSION["type_logged_user"])) {
	die("<span class='texto_status_erro'>0x004 - Atenção! Acesso não autorizado, favor entrar em contato com nosso atendimento para maiores informações!</span>");	
	}
	
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo = '".$_SESSION["code_user_logged"]."'"));
	
	$verifica_subrevenda = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND id = '".query_string('3')."') AND tipo = '2'"));
	
	if($verifica_subrevenda > 0) {
	
	$dados_subrevenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas WHERE (codigo_revenda = '".$dados_revenda["codigo"]."' AND id = '".query_string('3')."') AND tipo = '2'"));
	
	echo "1|".code_decode($dados_subrevenda["codigo"],"E")."";
	
	} else {
	
	echo "0|<span class='texto_status_erro'>".sprintf(lang_info_buscar_subrevenda_resultado_erro,query_string('3'))."</span>";
	
	}
	
	exit();

}

// Função para ligar todos os streamings da revenda
if($acao == "listar_streamings_revenda") {


	
	$sql = mysqli_query($conexao,"SELECT * FROM streamings where status = '1' AND codigo_cliente = '".$_SESSION["code_user_logged"]."' ORDER by porta ASC");
	while ($dados_stm = mysqli_fetch_array($sql)) {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "on") {
	$streamings .= "".code_decode($dados_stm["porta"],"E")."|";
	}
	
	}
	
	echo substr($streamings,0,-1);

	exit();
	
}

// Função para ligar todos os autodjs da revenda
if($acao == "listar_autodjs_revenda") {

	/// Proteção contra acesso direto
	if(!preg_match("/".str_replace("http://","",str_replace("www.","",$_SERVER['HTTP_HOST']))."/i",$_SERVER['HTTP_REFERER'])) {
	monitoramento_ataques();
	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>");
	}

	
	$sql = mysqli_query($conexao,"SELECT * FROM streamings where status = '1' AND codigo_cliente = '".$_SESSION["code_user_logged"]."' ORDER by porta ASC LIMIT 1");
	while ($dados_stm = mysqli_fetch_array($sql)) {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	if($dados_servidor["status"] == "on") {
	
	$bitrate = ($dados_stm["bitrate_autodj"] != "") ? $dados_stm["bitrate_autodj"] : $dados_stm["bitrate"];
	
	
	$streamings .= "".code_decode($dados_stm["porta"],"E").",".$dados_stm["ultima_playlist"].",".$dados_stm["shuffle"].",".$bitrate.",".$dados_stm["xfade"]."|";
	
	
	}
	
	}
	
	echo substr($streamings,0,-1);

	exit();
	
}
?>