<?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 cadastrar?
  if(!Permissao::podeCadastrar($_SESSION["nivel_acesso"])){
	header("Location: erro_permissao.php");
    exit;  
  }
  // fim permissão para cadastrar

$id_usuario_logado = $_SESSION["id_usuario_logado"];
$tipo = tratar_entrada(utf8_decode(trim($_POST["tipo"])));
$id_pagamento_recebimento = tratar_entrada(utf8_decode(trim($_POST["id_pagamento_recebimento"])));
$id_cliente_fornecedor = tratar_entrada(utf8_decode(trim($_POST["id_cliente_fornecedor"])));
$id_unico_pagamento_recebimento = tratar_entrada(utf8_decode(trim($_POST["id_unico_pagamento_recebimento"])));
$plano = tratar_entrada(utf8_decode(trim($_POST["plano"])));
$forma_pagamento_recebimento = tratar_entrada(utf8_decode(trim($_POST["forma_pagamento_recebimento"])));
$conta_saldo = tratar_entrada(utf8_decode(trim($_POST["conta_saldo"])));
$descricao = tratar_entrada(utf8_decode(trim($_POST["descricao"])));
$data_pagamento_recebimento = tratar_entrada(utf8_decode(trim($_POST["data_pagamento_recebimento"])));

$valor = tratar_entrada(utf8_decode(trim($_POST["valor"])));
$valor = str_replace(".", "", $valor);
$valor = str_replace(",", ".", $valor);
  
$acrescimo = tratar_entrada(utf8_decode(trim($_POST["acrescimo"])));
$acrescimo = str_replace(".", "", $acrescimo);
$acrescimo = str_replace(",", ".", $acrescimo);  

$abatimento = tratar_entrada(utf8_decode(trim($_POST["abatimento"])));
$abatimento = str_replace(".", "", $abatimento);
$abatimento = str_replace(",", ".", $abatimento);
  
$total = ($valor + $acrescimo) - $abatimento; 
  
  // id	id_cliente_fornecedor	tipo	id_plano	id_forma_pagamento_recebimento	id_conta_saldo	descricao	valor	acrescimo	
  // abatimento	data_cadastro	usuario_cadastro	
  $result = mysqli_query($conexao, "INSERT into pagamentos_recebimentos values (null, '$id_cliente_fornecedor', '$tipo', 
    '$plano', '$forma_pagamento_recebimento', '$conta_saldo', '$descricao', '$valor', '$acrescimo', '$abatimento', NOW(), 
	'$id_usuario_logado', '$data_pagamento_recebimento', '$id_unico_pagamento_recebimento')");
	 
  if($result){
	  $id_inserido = mysqli_insert_id($conexao);
	  
	   // vamos registrar esse log
  $ip = getUserIpAddr();
  $id_usuario_logado = $_SESSION["id_usuario_logado"];
  $usuario_logado = $_SESSION["usuario_logado"];
  $texto_log = 'O usuario ' . $usuario_logado . ' cadastrou o ' . (($tipo == "1") ? 'Pagamento ' : 'Recebimento ') . $descricao . '.';
  $result_2 = mysqli_query($conexao, "INSERT into logs values (null, '$id_usuario_logado', '$texto_log', 
    NOW(), '$usuario_logado', '$ip')");
  // fim registrar o log 

  // houve upload de anexos?
  $result_anexos = mysqli_query($conexao, "UPDATE anexos_pagamentos_recebimentos SET id_pai = '$id_inserido' 
    WHERE id_unico = '$id_unico_pagamento_recebimento'");
  // fim houve upload de anexos

  // precisamos atualizar o saldo da conta deste lançamento
     if($tipo == "1"){ // foi pagamento.... deve sair do caixa
	   $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo - '$total') WHERE id = '$conta_saldo'");
	 }
	 else{ // foi recebimento.... deve entrar do caixa
	   $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo + '$total') WHERE id = '$conta_saldo'");
	 }
	 // fim atualizar o saldo da conta deste lançamento

  // é o registro de uma conta a pagar ou a receber?
  if($id_pagamento_recebimento != 0){
	$result = mysqli_query($conexao, "DELETE FROM contas_pagar_receber WHERE id = '$id_pagamento_recebimento'");  
  }
	  
	 header("Location: novo_pagamento_recebimento.php?tipo=$tipo&sucesso=ok");
     exit; 
  }
  else{
	$_SESSION["erro_banco_dados"] = "Houve um erro no cadastro de pagamentos e recebimentos.<br><br>Erro: " . mysqli_error($conexao);
  header("Location: erro_banco_dados.php");
  exit;  
  }
?>
