<?php
ini_set("memory_limit", "128M");
ini_set("max_execution_time", 600);

require_once("inc/protecao-admin.php");

if(empty($_POST["porta"]) or empty($_POST["porta_dj"]) or empty($_POST["ouvintes"]) or empty($_POST["bitrate"]) or empty($_POST["senha"]) or empty($_POST["identificacao"])) {
$_SESSION["status_acao"] = "<div class='alert alert-warning text-center' role='alert'>".lang_info_campos_vazios."</div>";
header("Location: ".$_SERVER['HTTP_REFERER']."");
exit();
}

// Verifica se a porta já esta em uso
$total_streamings = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM streamings WHERE porta = '".$_POST["porta"]."'"));

if($total_streamings > 0) {
$_SESSION["status_acao"] = "<div class='alert alert-warning text-center' role='alert'>".lang_info_pagina_cadastrar_streaming_resultado_porta_em_uso_erro."</div>";
header("Location: ".$_SERVER['HTTP_REFERER']."");
exit();
}

$programas = ($_POST["programas"]) ? "sim" : "nao";
$programetes = ($_POST["programetes"]) ? "sim" : "nao";
$download_programetes_programas = ($_POST["download_programetes_programas"]) ? "sim" : "nao";
$camera_studio = ($_POST["camera_studio"]) ? "sim" : "nao";
$site_adm = ($_POST["site_adm"]) ? "sim" : "nao";

$senha_admin = gera_id(12);

// Portas inválidas/bloqueadas
	$portas_telnet_invalidas = array("55","555","1443","8080","443");

	// Verifica a última gerada e gera a próxima
	$porta_livre_telnet = false;

	$nova_porta_telnet = 1000;

	// Porta telnet
	while(!$porta_livre_telnet) {

		$nova_porta_telnet += 1;
		
		if(!in_array($nova_porta_telnet, $portas_telnet_invalidas)) {

			$total_porta_telnet_livre = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM streamings WHERE porta_telnet = '".$nova_porta_telnet."' ORDER BY porta_telnet"));

			if($total_porta_telnet_livre == 0) {
				$porta_livre_telnet = true;
			}

		}
		
	}

	$porta_telnet = $nova_porta_telnet;
	
mysqli_query($conexao,"INSERT INTO streamings (codigo_servidor,codigo_servidor_aacplus,porta,porta_dj,porta_telnet,ouvintes,bitrate,bitrate_autodj,encoder,espaco,senha,senha_admin,ftp_dir,identificacao,aacplus,email,autodj,data_cadastro,hora_cadastro,local_cadastro,ip_cadastro,programetes,programas,download_programetes_programas,camera_studio,site_adm,tipo_servidor) VALUES ('".$_POST["servidor"]."','".$_POST["servidor_aacplus"]."','".$_POST["porta"]."','".$_POST["porta_dj"]."','".$porta_telnet."','".$_POST["ouvintes"]."','".$_POST["bitrate"]."','".$_POST["bitrate"]."','".$_POST["encoder"]."','".$_POST["espaco"]."','".$_POST["senha"]."','".$senha_admin."','/home/streaming/".$_POST["porta"]."','".$_POST["identificacao"]."','".$_POST["aacplus"]."','".$_POST["email"]."','".$_POST["autodj"]."',NOW(),NOW(),'painel-admin','".$_SERVER['REMOTE_ADDR']."','".$programetes."','".$programas."','".$download_programetes_programas."','".$camera_studio."','".$site_adm."','".$_POST["tipo_servidor"]."')") or die("Erro ao processar query.<br>Mensagem do servidor: ".mysqli_error($conexao));
$codigo_streaming = mysqli_insert_id($conexao);

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

// Ativa o relay no servidor aacplus
if($_POST["servidor_aacplus"] > 0) {

$dados_servidor_aacplus = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$_POST["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/ativar-aacplus ".$_POST["porta"]." ".$dados_servidor["ip"]." ".$_POST["ouvintes"]."");
}

// Cria o sessão do status das ações executadas e redireciona.
$_SESSION["status_acao"] = "<div class='alert alert-success text-center' role='alert'>".lang_info_pagina_cadastrar_streaming_resultado_ok."</div>";

header("Location: /admin/admin-streamings/resultado/".$_POST["porta"]."");
?>