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

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

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

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

$dados_stm_atual = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM streamings where porta = '".$_POST["porta"]."'"));

$espaco = ($_POST["espaco"]) ? $_POST["espaco"] : $dados_stm_atual["espaco"];
$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";

mysqli_query($conexao,"Update streamings set codigo_cliente = '".$_POST["codigo_cliente"]."', codigo_servidor = '".$_POST["servidor"]."', codigo_servidor_aacplus = '".$_POST["servidor_aacplus"]."', ouvintes = '".$_POST["ouvintes"]."', bitrate = '".$_POST["bitrate"]."', espaco = '".$espaco."', senha = '".$_POST["senha"]."', senha_admin = '".$_POST["senha_admin"]."', email = '".$_POST["email"]."', programas = '".$programas."', programetes = '".$programetes."', download_programetes_programas = '".$download_programetes_programas."', camera_studio = '".$camera_studio."', site_adm = '".$site_adm."', identificacao = '".$_POST["identificacao"]."', tipo_servidor = '".$_POST["tipo_servidor"]."' where porta = '".$_POST["porta"]."'") or die("Erro ao processar query.<br>Mensagem do servidor: ".mysqli_error($conexao));

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

if($dados_stm_atual["tipo_servidor"] != $_POST["tipo_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"));

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

// Remove do servidor de Camera Studio caso esteja usando
if($dados_stm["camera_studio"] == 'nao' && $dados_stm["camera_studio_instalado"] == 'sim') {
	
	mysqli_query($conexao,"Update streamings set camera_studio_instalado = 'nao' where codigo = '".$dados_stm_atual["codigo"]."'");

	$dados_servidor_camera_studio = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM servidores where codigo = '".$dados_stm_atual["codigo_servidor_camera_studio"]."'"));

	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor_camera_studio["ip"],$dados_servidor_camera_studio["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor_camera_studio["senha"],"D"));
	
	// Sincroniza o streaming no Wowza
	$ssh->executar("/usr/local/WowzaMediaServer/desativar ".$_POST["porta"]."");
	
}

// 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_configurar_streaming_resultado_ok."</div>";
$_SESSION["status_acao"] .= "<div class='alert alert-warning text-center' role='alert'>".lang_info_pagina_configurar_streaming_resultado_alerta."</div>";

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