<?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-warning text-center' role='alert'>".lang_alerta_dados_faltando."</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"));
	
	// Desliga
	$porta_listen = $dados_stm["porta"]+1;
	
	$ssh->executar("lsof -i :".$dados_stm["porta"]." | grep sc_ | grep -v PID | awk {'print $2'} | xargs kill -TERM;echo ok");
	$ssh->executar("netstat -anp | grep :".$dados_stm["porta"]." | grep sc_ | awk {'print $7'} | cut -d / -f 1 | xargs kill -TERM;echo ok");
	$ssh->executar("lsof -i :".$porta_listen." | grep sc_ | grep -v PID | awk {'print $2'} | xargs kill -TERM;echo ok");
	$ssh->executar("netstat -anp | grep :".$porta_listen." | grep sc_ | awk {'print $7'} | cut -d / -f 1 | xargs kill -TERM;echo ok");
	
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta_dj"]."\>' | /bin/grep sc_trans | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"]."\>' | /bin/grep sc_serv | /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_pagina_streamings_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-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	
	// 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_pagina_streamings_desbloquear_resultado_ok."</div>";
	
	mysqli_query($conexao,"Update streamings set status = '1' where codigo = '".$dados_stm["codigo"]."'");
	
	$status_log = ($_SESSION["type_logged_user"] == "operador") ? "pelo administrador." : "pela revenda.";
	
	// 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>");	
	}

	// 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>");
	}
	
	// Proteção contra usuario não logados
	if(empty($_SESSION["code_user_logged"])) {
	die("<span class='texto_status_erro'>0x005 - 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-warning text-center' role='alert'>".lang_alerta_dados_faltando."</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-warning 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();	
	}
	
	// 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 '\<".$dados_stm["porta_dj"]."\>' | /bin/grep sc_trans | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"]."\>' | /bin/grep sc_serv | /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 /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"]."'");
	
	// 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_pagina_streamings_remover_resultado_ok."</div>";
	
	$status_log = ($_SESSION["type_logged_user"] == "operador") ? "pelo administrador." : "pela revenda.";

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

// Função para admin/revenda acessar painel de streaming
if($acao == "acessar_painel_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");

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

	echo 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 administrativo ao painel deo streaming executado com sucesso.");
	
	exit();
	
}

// Função para alterar senha de um streaming
if($acao == "alterar_senha_streaming") {

	// Proteção Administrador
	require_once("inc/protecao-admin.php");

	$porta = code_decode(query_string('3'),"D");
	$nova_senha = query_string('4');
	
	if($porta == "" || $porta == 0) {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	
	mysqli_query($conexao,"Update streamings set senha = '".$nova_senha."' where codigo = '".$dados_stm["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_streamings_alterar_senha_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_stm["porta"]."] Alterada senha do streaming.");

	}
	
	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ções Gerenciamento Revenda /////////////
////////////////////////////////////////////////////////

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

	// Proteção Administrador
	require_once("inc/protecao-admin.php");

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

	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	// Desliga os streamings da revenda
	$query_stms = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_revenda["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");
	
	mysqli_query($conexao,"Update streamings set status = '2' where codigo = '".$dados_stm["codigo"]."'");
	
	}
	
	mysqli_query($conexao,"Update revendas set status = '2' where codigo = '".$dados_revenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_revendas_bloquear_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_revenda["nome"]." - ".$dados_revenda["email"]."] Revenda bloqueada com sucesso");
	
	}
	
	exit();
}

// Função para desbloquear revenda
if($acao == "desbloquear_revenda") {

	// Proteção Administrador
	require_once("inc/protecao-admin.php");

	$codigo = code_decode(query_string('3'),"D");
	
	if($codigo == "" || $codigo == 0) {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$dados_revenda = 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_revenda["codigo"]."'");
	
	mysqli_query($conexao,"Update revendas set status = '1' where codigo = '".$dados_revenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_revendas_desbloquear_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_revenda["nome"]." - ".$dados_revenda["email"]."] Revenda desbloqueada com sucesso");
	
	}
	
	exit();
}

// Função para remover revenda
if($acao == "remover_revenda") {

	// Proteção Administrador
	require_once("inc/protecao-admin.php");

	$codigo = code_decode(query_string('3'),"D");
	
	if($codigo == "" || $codigo == 0) {
	echo "<span class='texto_status_erro'>Atenção! Erro ao executar ação, dados faltando.</span>";
	} else {
	
	$checar_revenda = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	if($checar_revenda == 0) {
	echo "<span class='texto_status_erro'>Atenção! Revenda não encontrada.</span>";
	exit();
	}
	
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	// Remove os streamings da revenda
	$query_stms = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_revenda["codigo"]."'");
	while ($dados_stm = mysqli_fetch_array($query_stms)) {
	
	$lista_streamings[] = $dados_stm["porta"];
	
	}
	
	// Remove Subrevendas
	$query_subrevenda = mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo_revenda = '".$dados_revenda["codigo"]."'");
	while ($dados_subrevenda = mysqli_fetch_array($query_subrevenda)) {
	
	$query_stms_subrevenda = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_revenda["codigo"]."'");
	while ($dados_stm_subrevenda  = mysqli_fetch_array($query_stms_subrevenda)) {
	
	$lista_streamings[] = $dados_stm_subrevenda["porta"];
	
	}
	
	$query_sub_subrevenda = mysqli_query($conexao,"SELECT * FROM revendas WHERE codigo_revenda = '".$dados_subrevenda["codigo"]."'");
	while ($dados_sub_subrevenda = mysqli_fetch_array($query_sub_subrevenda)) {
	
	mysqli_query($conexao,"Delete From revendas where codigo = '".$dados_sub_subrevenda["codigo"]."'");
	
	$query_stms_sub_subrevenda = mysqli_query($conexao,"SELECT * FROM streamings where codigo_cliente = '".$dados_sub_subrevenda["codigo"]."'");
	while ($dados_stm_sub_subrevenda  = mysqli_fetch_array($query_stms_sub_subrevenda)) {
	
	$lista_streamings[] = $dados_stm_sub_subrevenda["porta"];
	
	}	
	
	}
	
	}
	
	// Remove os streamings da revenda e subrevendas
	if(@count($lista_streamings) > 0) {
	
	foreach($lista_streamings as $porta) {
	
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$porta."'"));
	
	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"]."'");
	
	$query_playlists_musicas = mysqli_query($conexao,"SELECT * FROM playlists_musicas where codigo_playlist = '".$dados_playlist["codigo"]."'");
	while ($dados_playlist_musicas = mysqli_fetch_array($query_playlists_musicas)) {
	mysqli_query($conexao,"Delete From playlists_musicas where codigo = '".$dados_playlist_musicas["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 os Agendamentos logs
	mysqli_query($conexao,"Delete From playlists_agendamentos_logs 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"]."'");
	
	// Remove streaming no servidor
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	// Conex&atilde;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 '\<".$dados_stm["porta_dj"]."\>' | /bin/grep sc_trans | /bin/awk '{ print $2;}' | /usr/bin/xargs /bin/kill -TERM");
	$ssh->executar("echo OK;/bin/ps aux | /bin/grep '\<".$dados_stm["porta"]."\>' | /bin/grep sc_serv | /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 /home/streaming/playlists/".$dados_stm["porta"].".pls;echo ok");
	
	}
	}
	
	mysqli_query($conexao,"Delete From revendas where codigo = '".$dados_revenda["codigo"]."'");
	mysqli_query($conexao,"Delete From revendas where codigo_revenda = '".$dados_revenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_revendas_remover_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"Remover Revenda","[".$dados_revenda["nome"]." - ".$dados_revenda["email"]." - ".$dados_revenda["id"]."] Revenda removida com sucesso.");
	
	}
	
	exit();
}

// Função para alterar senha de uma revenda
if($acao == "alterar_senha_revenda") {

	// Proteção Administrador
	require_once("inc/protecao-admin.php");

	$codigo = code_decode(query_string('3'),"D");
	$nova_senha = query_string('4');
	
	if($codigo == "" || $codigo == 0) {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$checar_revenda = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	if($checar_revenda == 0) {	
	echo "<span class='texto_status_erro'>Atenção! Revenda não encontrada.</span>";
	exit();
	}
	
	$dados_revenda = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM revendas where codigo = '".$codigo."'"));
	
	mysqli_query($conexao,"Update revendas set senha = PASSWORD('".$nova_senha."') where codigo = '".$dados_revenda["codigo"]."'");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_revendas_alterar_senha_resultado_ok."</div>";
	
	// Insere a ação executada no registro de logs.
	logar_acao($conexao,"[".$dados_revenda["nome"]." - ".$dados_revenda["email"]."] Senha da revenda alterada com sucesso.");
	
	}
	
	exit();

}

////////////////////////////////////////////////////////
//////////// Funções Gerenciamento Servidor ////////////
////////////////////////////////////////////////////////

// Função para ligar os streamings do servidor
if($acao == "ligar_streamings_autodjs_servidor") {

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

	$query_stms = mysqli_query($conexao,"SELECT * FROM streamings where status = '1' AND codigo_servidor = '".$servidor."'");
	while ($dados_stm_ligar = mysqli_fetch_array($query_stms)) {
	
		if($tipo == "streaming") {
		file_get_contents("http://".$_SERVER['HTTP_HOST']."/funcoes-ajax/ligar_streaming/".code_decode($dados_stm_ligar["porta"],"E")."/robot");
		} else {
		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");
		}
	
	}
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_servidores_acoes_ligar_streamings_autodjs_resultado_ok."</div>";
	
	exit();
}

// Função para sincronizar streaming no servidor AAC+
if($acao == "sincronizar_aacplus") {

	$codigo_servidor = code_decode(query_string('3'),"D");
	
	if($codigo_servidor == "" || $codigo_servidor == 0) {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$sql = mysqli_query($conexao,"SELECT * FROM streamings where (codigo_servidor = '".$codigo_servidor."' || codigo_servidor_aacplus = '".$codigo_servidor."') AND aacplus = 'sim' 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"]."'"));
	$dados_servidor_aacplus = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor_aacplus"]."'"));
	
	$servidor_stm = strtolower($dados_servidor["nome"]).".".$dados_config["dominio_padrao"];
	
	// 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/sincronizar-aacplus ".$dados_stm["porta"]." ".$servidor_stm." ".$dados_stm["ouvintes"]."");
	
	}	
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_servidores_acoes_sincronizar_resultado_ok."</div>";
	
	}
	
	exit();
	
}

// Função para listar streaings para ligar em massa
if($acao == "listar_streamings_ligar_em_massa") {

	$sql_stms = mysqli_query($conexao,"SELECT * FROM streamings");
	while ($dados_stm = mysqli_fetch_array($sql_stms)) {

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

	echo code_decode($dados_stm["porta"],"E")."|".code_decode($dados_stm["senha"],"E")."|".$dados_servidor["ip"];
	
	}
	
	exit();
}

// Função para sincronizar as playlists dos streamings no servidor
if($acao == "sincronizar_playlists") {
	
	$codigo_servidor = code_decode(query_string('3'),"D");
	
	if($codigo_servidor == "") {
	echo "<div class='alert alert-warning text-center' role='alert'>".lang_alerta_dados_faltando."</div>";
	} else {
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$codigo_servidor."'"));

	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor["ip"],$dados_servidor["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor["senha"],"D"));

	$sql_stms = mysqli_query($conexao,"SELECT * FROM streamings where codigo_servidor = '".$dados_servidor["codigo"]."'");
	while ($dados_stm = mysqli_fetch_array($sql_stms)) {
	
		$sql_playlists = mysqli_query($conexao,"SELECT * FROM playlists where codigo_stm = '".$dados_stm["codigo"]."'");
		while ($dados_playlist = mysqli_fetch_array($sql_playlists)) {
			
			$sql_playlist_musicas = mysqli_query($conexao,"SELECT * FROM playlists_musicas where codigo_playlist = '".$dados_playlist["codigo"]."'");
			while ($dados_musica = mysqli_fetch_array($sql_playlist_musicas)) {
			
				if($dados_musica["tipo"] == "hc" || $dados_musica["tipo"] == "temp" || $dados_musica["tipo"] == "umd") {
					$lista_musicas .= $dados_musica["path_musica"]."\n";
				} elseif($dados_musica["tipo"] == "programete") {
					$lista_musicas .= "/home/streaming/programetes/".$dados_musica["path_musica"]."\n";
				} elseif($dados_musica["tipo"] == "programa") {
					$lista_musicas .= "/home/streaming/programas/".$dados_musica["path_musica"]."\n";
				} elseif($dados_musica["tipo"] == "acervo_mp3") {
					$lista_musicas .= "/home/streaming/acervo_mp3/".$dados_musica["path_musica"]."\n";
				} else {
					$lista_musicas .= "/home/streaming/".$dados_stm["porta"]."/".$dados_musica["path_musica"]."\n";
				}
			}

		// Cria o arquivo da playlist para enviar ao servidor do streaming
		$config_playlist = gerar_playlist($dados_playlist["arquivo"],$lista_musicas);
		
		// Envia o arquivo da playlist para o servidor do streaming
		$ssh->enviar_arquivo("".$_SERVER['DOCUMENT_ROOT']."/temp/".$config_playlist."","/home/streaming/playlists/".$dados_playlist["arquivo"]."",0777);

		// Remove o arquivo temporário usado para criar a playlist
		unlink("".$_SERVER['DOCUMENT_ROOT']."/temp/".$config_playlist."");
		unset($lista_musicas);
		}
	}
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_servidores_acoes_sincronizar_resultado_ok."</div>";
	}
	
	exit();
}

// Função para ativar/desativar manutenção em um servidor
if($acao == "ativar_desativar_manutencao") {

	$codigo_servidor = code_decode(query_string('3'),"D");
	
	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$codigo_servidor."'"));

	if($dados_servidor["status"] == "on") {
	mysqli_query($conexao,"Update servidores set status = 'off' where codigo = '".$dados_servidor["codigo"]."'");
	$status = "ON";
	} else {
	mysqli_query($conexao,"Update servidores set status = 'on' where codigo = '".$dados_servidor["codigo"]."'");
	$status = "OFF";
	}
	
	if(!mysqli_error($conexao)) {
	
	echo "<div class='alert alert-success text-center' role='alert'>".sprintf(lang_pagina_servidores_acoes_ativar_desativar_manutencao_resultado_ok,$status)."</div>";
	
	} else {	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_servidores_acoes_ativar_desativar_manutencao_resultado_erro." ".mysqli_error($conexao)."</div>";
	}
	
	exit();

}

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

// Função para remover uma dica rápida
if($acao == "remover_pp") {

	$codigo = code_decode(query_string('3'),"D");

	mysqli_query($conexao,"Delete From programetes_programas_links where codigo = '".$codigo."'");
	
	if(!mysqli_error($conexao)) {
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_pp_remover_resultado_ok."</div>";
	
	} else {	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_pp_remover_resultado_erro." ".mysqli_error($conexao)."</div>";
	}
	
	exit();

}

// Função para mudar o status de exibição de um aviso
if($acao == "alterar_status_aviso") {

	$codigo_aviso = code_decode(query_string('3'),"D");
	
	$dados_aviso = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM avisos where codigo = '".$codigo_aviso."'"));
	
	$status = ($dados_aviso["status"] == "sim") ? 'nao' : 'sim';
	$acao = ($dados_aviso["status"] == "sim") ? 'ON' : 'OFF';
	
	mysqli_query($conexao,"Update avisos set status = '".$status."' where codigo = '".$dados_aviso["codigo"]."'");
	
	if(!mysqli_error($conexao)) {
	
	echo "<div class='alert alert-success text-center' role='alert'>".sprintf(lang_pagina_avisos_alterar_status_resultado_ok,$acao)."</div>";
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_avisos_alterar_status_resultado_erro."</div>";
	
	}
	
	exit();

}

// Função para remover um aviso
if($acao == "remover_aviso") {

	$codigo_aviso = code_decode(query_string('3'),"D");
	
	$dados_aviso = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM avisos where codigo = '".$codigo_aviso."'"));
	
	mysqli_query($conexao,"Delete From avisos where codigo = '".$dados_aviso["codigo"]."'");
	mysqli_query($conexao,"Delete From avisos_desativados where codigo_aviso = '".$dados_aviso["codigo"]."'");
	
	if(!mysqli_error($conexao)) {
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_avisos_remover_resultado_ok."</div>";
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_avisos_remover_resultado_erro." ".mysqli_error($conexao)."</div>";

	}
	
	exit();

}

// Função para remover uma requisição de app android
if($acao == "remover_tutorial") {

	$codigo_tutorial = code_decode(query_string('3'),"D");
	
	$dados_tutorial = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM tutoriais where codigo = '".$codigo_tutorial."'"));
	
	mysqli_query($conexao,"Delete From tutoriais where codigo = '".$dados_tutorial["codigo"]."'");
	
	if(!mysqli_error($conexao)) {
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_tutoriais_remover_resultado_ok."</div>";
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_tutoriais_remover_resultado_erro."</div>";
	
	}
	
	exit();

}

// Função para remover uma requisição de app android
if($acao == "remover_app_android") {

	$codigo_app = code_decode(query_string('3'),"D");
	
	$dados_app = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM apps where codigo = '".$codigo_app."'"));
	$dados_stm = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where codigo = '".$dados_app["codigo_stm"]."'"));
	
	mysqli_query($conexao,"Delete From apps where codigo = '".$dados_app["codigo"]."'");
	
	if(!mysqli_error($conexao)) {
	
	// Remove o apk e imagens
	@unlink("../app/apps/".$dados_app["zip"]."");
	@unlink("../".$dados_app["print"]."");
	
	echo "<div class='alert alert-success text-center' role='alert'>".lang_pagina_apps_remover_resultado_ok."</div>";
	
	} else {
	
	echo "<div class='alert alert-danger text-center' role='alert'>".lang_pagina_apps_remover_resultado_erro."</div>";
	
	}
	
	exit();

}

?>