<?php
// Proteção Login
require_once("inc/protecao-admin.php");
require_once("inc/classe.ssh.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>");
}


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

if(!filter_var($_POST["ip"], FILTER_VALIDATE_IP)) {
$_SESSION["status_acao"] = "<div class='alert alert-warning text-center' role='alert'>".lang_pagina_configurar_servidor_resultado_erro_ip."</div>";
header("Location: ".$_SERVER['HTTP_REFERER']."");
exit();
}

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

mysqli_query($conexao,"Update servidores set nome = '".$_POST["nome"]."', ip = '".$_POST["ip"]."', porta_ssh = '".$_POST["porta_ssh"]."', limite_streamings = '".$_POST["limite_streamings"]."' where codigo = '".$_POST["codigo_servidor"]."'") or die(mysqli_error($conexao));

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

// Loga a ação executada
mysqli_query($conexao,"INSERT INTO logs (acao,data,ip,log) VALUES ('alterar_configuracoes_servidor',NOW(),'".$_SERVER['REMOTE_ADDR']."','Alteração nas configurações do servidor ".$dados_servidor_atual["nome"]." IP ".$dados_servidor_atual["ip"]."')");

// 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_pagina_configurar_servidor_resultado_ok."</div>";

if($_POST["senha"]) {
	mysqli_query($conexao,"Update servidores set senha = '".code_decode($_POST["senha"],"E")."' where codigo = '".$_POST["codigo_servidor"]."'") or die(mysqli_error($conexao));
	
	if($_POST["senha"] != code_decode($dados_servidor_atual["senha"],"D")) {

	// Conexão SSH
	$ssh = new SSH();
	$ssh->conectar($dados_servidor_novo["ip"],$dados_servidor_novo["porta_ssh"]);
	$ssh->autenticar("root",code_decode($dados_servidor_novo["senha"],"D"));
	
	// Liga o streaming no servidor
	$ssh->executar("echo 'admin ".$_POST["senha"]." admin' > /usr/local/WowzaStreamingEngine/conf/admin.password");
	$ssh->executar("echo OK;systemctl restart WowzaStreamingEngine");

	$_SESSION["status_acao"] .= "<div class='alert alert-success text-center' role='alert'>".lang_pagina_configurar_servidor_resultado_ok_senha."</div>";

	}
}


header("Location: /admin/admin-servidores");
?>