<?php
session_start();
require("config.php");
// o usuĂĄrio estĂĄ logado?
if(!isset($_SESSION["id_usuario_logado"])){
  header("Location: login.php");
  exit;
}

// tem permissão para excluir?
if(!Permissao::podeExcluir($_SESSION["nivel_acesso"])){
  header("Location: erro_permissao.php");
  exit;  
}
// fim permissão para excluir

// id do usuário a ser excluído
$cliente_fornecedor = tratar_entrada(utf8_decode(trim($_GET["cliente_fornecedor"])));
$tipo = tratar_entrada(utf8_decode(trim($_GET["tipo"])));
$nome_cliente_fornecedor_exclusao = tratar_entrada(utf8_decode(trim($_GET["nome_cliente_fornecedor"])));
// url para voltar depois da exclusao
$url_volta = tratar_entrada($_GET["volta"]);

// precisamos excluir a foto deste cliente/fornecedor
$result_ex = mysqli_query($conexao, "SELECT foto FROM clientes_fornecedores WHERE id = '$cliente_fornecedor'");
$detalhes_ex = mysqli_fetch_array($result_ex);
$nome_foto = $detalhes_ex["foto"];
// fim excluir a foto do produto

// este cliente ou fornecer possui lançamentos de contas pagas, recebidas, a pagar ou a receber?
$result = mysqli_query($conexao, "select id from pagamentos_recebimentos WHERE id_cliente_fornecedor = '$cliente_fornecedor'");
$quant = mysqli_num_rows($result);
if($quant > 0){
  $_SESSION["erro_banco_dados"] = "Houve um erro no cadastro de " . (($tipo == "1") ? 'clientes' : 'fornecedores') . ". Verifique se existe lancamentos para este " . (($tipo == "1") ? 'cliente' : 'fornecedor') . " antes de efetuar a exclusao.";
  header("Location: erro_banco_dados.php");
  exit;
}

$result = mysqli_query($conexao, "select id contas_pagar_receber WHERE id_cliente_fornecedor = '$cliente_fornecedor'");
$quant = mysqli_num_rows($result);
if($quant > 0){
  $_SESSION["erro_banco_dados"] = "Houve um erro no cadastro de " . (($tipo == "1") ? 'clientes' : 'fornecedores') . ". Verifique se existe lancamentos para este " . (($tipo == "1") ? 'cliente' : 'fornecedor') . " antes de efetuar a exclusao.";
  header("Location: erro_banco_dados.php");
  exit;
}
// este cliente ou fornecer possui lançamentos de contas pagas, recebidas, a pagar ou a receber?


$result = mysqli_query($conexao, "DELETE FROM clientes_fornecedores WHERE id = '$cliente_fornecedor'");
if($result){
  unlink($diretorio_fotos_clientes_fornecedores . '/' . $nome_foto . '.png');
  
  // vamos registrar esse log
  $ip = getUserIpAddr();
  $id_usuario_logado = $_SESSION["id_usuario_logado"];
  $usuario_logado = $_SESSION["usuario_logado"];
  $texto_log = 'O usuario ' . $usuario_logado . ' excluiu o ' . (($tipo == "1") ? 'cliente ' : 'fornecedor ') . $nome_cliente_fornecedor_exclusao . '.';
  $result_2 = mysqli_query($conexao, "INSERT into logs values (null, '$id_usuario_logado', '$texto_log', 
    NOW(), '$usuario_logado', '$ip')");
  // fim registrar o log
  
  header("Location: $url_volta");
  exit; 
}
else{
  $_SESSION["erro_banco_dados"] = "Houve um erro no cadastro de " . (($tipo == "1") ? 'clientes' : 'fornecedores') . ". Verifique se existe lancamentos para este " . (($tipo == "1") ? 'cliente' : 'fornecedor') . " antes de efetuar a exclusao.<br><br>Erro: " . mysqli_error($conexao);
  header("Location: erro_banco_dados.php");
  exit;  
} 
?>
