<?php
require_once("/home/painel/public_html/admin/inc/conecta.php");
require_once("/home/painel/public_html/admin/inc/classe.ssh.php");
require_once("/home/painel/public_html/admin/inc/funcoes.php");

parse_str($argv[1],$opcoes);

list($inicial,$final) = explode("-",$opcoes["registros"]);

echo "[".date("d/m/Y H:i:s")."] Processo Iniciado.\n\n";

$sql = mysqli_query($conexao,"SELECT * FROM streamings where status = '1' ORDER by porta ASC LIMIT ".$inicial.", ".$final."");
while ($dados_stm = mysqli_fetch_array($sql)) {

	$dados_servidor = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm["codigo_servidor"]."'"));
	
	// Verifica se servidor esta ativo
	if($dados_servidor["status"] == "on") {	
		
		// Verifica se streaming esta ligado
		$status_streaming = status_streaming($dados_servidor["ip"],$dados_stm["porta"]);
		
		if($status_streaming == "ligado") {
		
			// Verifica bitrate atualmente em uso
			$dados_servidor_shoutcast = shoutcast_info($dados_servidor["ip"],$dados_stm["porta"],1);
			
			if($dados_servidor_shoutcast["bitrate"] > $dados_stm["bitrate"]) {
			
			// Desliga sreaming e bloqueia por estar transmitindo acima do limite do plano
			
			// 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 -9;echo ok");
			$ssh->executar("netstat -anp | grep :".$dados_stm["porta"]." | grep sc_ | awk {'print $7'} | cut -d / -f 1 | xargs kill -9;echo ok");
			$ssh->executar("lsof -i :".$porta_listen." | grep sc_ | grep -v PID | awk {'print $2'} | xargs kill -9;echo ok");
			$ssh->executar("netstat -anp | grep :".$porta_listen." | grep sc_ | awk {'print $7'} | cut -d / -f 1 | xargs kill -9;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/head -50 | /usr/bin/xargs /bin/kill -9");
			$ssh->executar("echo OK;/bin/ps aux | /bin/grep ".$dados_stm["porta"]." | /bin/grep sc_serv | /bin/awk '{ print $2;}' | /usr/bin/head -50 | /usr/bin/xargs /bin/kill -9");
			
			mysqli_query($conexao,"Update streamings set status ='2' where codigo = '".$dados_stm["codigo"]."'");
	
			// Insere a ação executada no registro de logs.
			logar_acao($conexao,"Bloquear Streaming","[".$dados_stm["porta"]."] Bloqueio por transmitir aovivo acima do bitrate(".$dados_servidor_shoutcast["bitrate"]."Kbps) do plano(".$dados_stm["bitrate"]."Kbps).");
			
			// Loga data do bloqueio
			@mysqli_query($conexao,"Update streamings set data_bloqueio = NOW() WHERE codigo = '".$dados_stm["codigo"]."'");
			
			echo "[".$dados_stm["porta"]."] Bloqueio por transmitir aovivo acima do bitrate(".$dados_servidor_shoutcast["bitrate"]."Kbps) do plano(".$dados_stm["bitrate"]."Kbps).\n";
			
			}
		
		}
	
	}

}

echo "\n[".date("d/m/Y H:i:s")."] Processo Concluido.\n\n";
?>