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

$id_usuario_logado = $_SESSION["id_usuario_logado"];
$id_pagamento_recebimento = tratar_entrada(utf8_decode(trim($_POST["id_pagamento_recebimento"])));
$id_cliente_fornecedor = tratar_entrada(utf8_decode(trim($_POST["id_cliente_fornecedor"])));
$tipo = tratar_entrada(utf8_decode(trim($_POST["tipo"])));
$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 data_pagamento_recebimento
   $result = mysqli_query($conexao, "UPDATE pagamentos_recebimentos SET id_cliente_fornecedor = '$id_cliente_fornecedor', id_plano = '$plano', id_forma_pagamento_recebimento = '$forma_pagamento_recebimento',
     id_conta_saldo = '$conta_saldo', descricao = '$descricao', valor = '$valor', acrescimo = '$acrescimo', abatimento = '$abatimento',
	 data_pagamento_recebimento = '$data_pagamento_recebimento' WHERE id = '$id_pagamento_recebimento'");
 
  if($result){

     // precisamos atualizar o saldo da conta deste lançamento
     $conta_saldo_anterior = tratar_entrada(utf8_decode(trim($_POST["conta_saldo_anterior"])));
     $valor_anterior = tratar_entrada(utf8_decode(trim($_POST["total_anterior"])));
     if($tipo == "1"){ // foi pagamento.... deve sair do caixa
	   if($conta_saldo != $conta_saldo_anterior){
	     $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo + '$valor_anterior') WHERE id = '$conta_saldo_anterior'");
	     $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo - '$total') WHERE id = '$conta_saldo'");
	   }
	   else{
		 if($valor != $valor_anterior){
			$result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo + '$valor_anterior') WHERE id = '$conta_saldo'"); 
			$result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo - '$total') WHERE id = '$conta_saldo'"); 
		 }
	   }
	 }
	 else{ // foi recebimento.... deve entrar do caixa
	   if($conta_saldo != $conta_saldo_anterior){
	     $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo - '$valor_anterior') WHERE id = '$conta_saldo_anterior'");
	     $result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo + '$total') WHERE id = '$conta_saldo'");
	   }
	   else{
		 if($valor != $valor_anterior){
			$result_saldo = mysqli_query($conexao, "UPDATE contas_saldos SET saldo = (saldo - '$valor_anterior') WHERE id = '$conta_saldo'"); 
			$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
	  
	  // vamos registrar esse log
  $ip = getUserIpAddr();
  $id_usuario_logado = $_SESSION["id_usuario_logado"];
  $usuario_logado = $_SESSION["usuario_logado"];
  $texto_log = 'O usuario ' . $usuario_logado . ' atualizou um ' . (($tipo == "1") ? 'Pagamento ' : 'Recebimento ') . $nome . '.';
  $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: pagamento_recebimento.php?tipo=$tipo&pagamento_recebimento=$id_pagamento_recebimento&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;  
  }
?>
