<?php
header("Content-Type: text/html;  charset=ISO-8859-1",true);

ini_set("memory_limit", "1024M");
ini_set("max_execution_time", 600);

$dados_config = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM configuracoes"));

$porta = $_POST["porta"];
$dj_login = $_POST["dj_login"];
$dj_senha = $_POST["dj_senha"];
$status = $_POST["status"];

$dia_semana_atual = date('N');
$hora_atual = date('Hi');

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

// Verifica se é uma desconexao
if($status == "off") {

// Atualiza status de conectado para o DJ
mysqli_query($conexao,"UPDATE djs SET conectado = 'nao', hora_fim = NOW() WHERE codigo_stm = '".$dados_stm["codigo"]."' AND conectado = 'sim'");

exit();
}

// Autenticacao App MediaCast(fix)
if($dj_login == "source") {

// Verifica se DJ existe
$verificar_dj = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND login = '".$dj_senha."'"));
	
if($verificar_dj == 0) {
	echo "false";
	exit();
}

// Verifica restricao de dia/horario
$dados_dj = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND login = '".$dj_senha."'"));

$total_djs_restricoes = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs_restricoes WHERE codigo_dj = '".$dados_dj["codigo"]."'"));

if($total_djs_restricoes > 0) {

	$count_trues = 0;

	$sql_restricoes = mysqli_query($conexao,"SELECT * FROM djs_restricoes WHERE codigo_dj = '".$dados_dj["codigo"]."' AND replace (hora_fim,':','') >= '".$hora_atual."' AND replace (hora_inicio,':','') <= '".$hora_atual."' ORDER by codigo ASC");
	while ($dados_djs_restricao = mysqli_fetch_array($sql_restricoes)) {

		if(strpos($dados_djs_restricao["dias_semana"], ",") !== false) {
			$lista_dias_semana_permitidos = explode(",",$dados_djs_restricao["dias_semana"]);
		} else {		
			$lista_dias_semana_permitidos = array($dados_djs_restricao["dias_semana"]);
		}

		if(in_array($dia_semana_atual, $lista_dias_semana_permitidos)) {
			$count_trues++;
		}

	}

	// Se esta fora do horario permitido nao permite a autenticacao
	if($count_trues == 0) {
		echo "false";
		exit();
	}

}

} else {

// Autenticacao geral

// Verifica se DJ existe
$verificar_dj = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND login = '".$dj_login."'"));
	
if($verificar_dj == 0) {
	echo "false";
	exit();
}

// Verifica se a senha esta correta
$verificar_dj_senha = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND login = '".$dj_login."' AND senha = '".$dj_senha."'"));
	
if($verificar_dj_senha == 0) {
	echo "false";
	exit();
}

// Verifica restricao de dia/horario
$dados_dj = mysqli_fetch_array(mysqli_query($conexao,"SELECT * FROM djs WHERE codigo_stm = '".$dados_stm["codigo"]."' AND login = '".$dj_login."'"));

$total_djs_restricoes = mysqli_num_rows(mysqli_query($conexao,"SELECT * FROM djs_restricoes WHERE codigo_dj = '".$dados_dj["codigo"]."'"));

	if($total_djs_restricoes > 0) {

	$count_trues = 0;

	$sql_restricoes = mysqli_query($conexao,"SELECT * FROM djs_restricoes WHERE codigo_dj = '".$dados_dj["codigo"]."' AND replace (hora_fim,':','') >= '".$hora_atual."' AND replace (hora_inicio,':','') <= '".$hora_atual."' ORDER by codigo ASC");
	while ($dados_djs_restricao = mysqli_fetch_array($sql_restricoes)) {

		if(strpos($dados_djs_restricao["dias_semana"], ",") !== false) {
			$lista_dias_semana_permitidos = explode(",",$dados_djs_restricao["dias_semana"]);
		} else {		
			$lista_dias_semana_permitidos = array($dados_djs_restricao["dias_semana"]);
		}

		if(in_array($dia_semana_atual, $lista_dias_semana_permitidos)) {
			$count_trues++;
		}

	}

	// Se esta fora do horario permitido nao permite a autenticacao
	if($count_trues == 0) {
		echo "false";
		exit();
	}

	}

}

// Atualiza status de desconectado para os DJs atuais
@mysqli_query($conexao,"Update djs set conectado = 'nao', hora_fim = NOW() WHERE codigo_stm = '".$dados_stm["codigo"]."'");

// Atualiza status de conectado para o DJ
@mysqli_query($conexao,"Update djs set conectado = 'sim', hora_inicio = NOW() WHERE codigo = '".$dados_dj["codigo"]."'");

// Se estiver tudo certo, permite a autenticacao
echo "true";
exit();