<?php 
session_start();
include '../koneksi.php';
$id  = (int)($_POST['id'] ?? 0);
// Role input_pengeluaran: hanya boleh edit transaksi Pengeluaran dan tidak boleh ubah jadi Pemasukan
if (isset($_SESSION['status']) && $_SESSION['status'] === 'input_pengeluaran_logedin') {
  $cek = mysqli_query($koneksi, "SELECT transaksi_jenis FROM transaksi WHERE transaksi_id = $id");
  $row = mysqli_fetch_assoc($cek);
  if (!$row || $row['transaksi_jenis'] !== 'Pengeluaran') {
    $_SESSION['alert'] = 'error';
    $_SESSION['message'] = 'Anda hanya dapat mengubah transaksi pengeluaran.';
    header('Location: transaksi.php');
    exit;
  }
  if (($_POST['jenis'] ?? '') !== 'Pengeluaran') {
    $_SESSION['alert'] = 'error';
    $_SESSION['message'] = 'Jenis transaksi harus Pengeluaran.';
    header('Location: transaksi.php');
    exit;
  }
}
$tanggal  = trim($_POST['tanggal'] ?? '');
// Konversi dd/mm/yyyy ke yyyy-mm-dd untuk MySQL
if (preg_match('#^(\d{1,2})/(\d{1,2})/(\d{4})$#', $tanggal, $m)) {
  $tanggal = $m[3] . '-' . str_pad($m[2], 2, '0', STR_PAD_LEFT) . '-' . str_pad($m[1], 2, '0', STR_PAD_LEFT);
} elseif (!preg_match('#^\d{4}-\d{2}-\d{2}$#', $tanggal)) {
  $tanggal = date('Y-m-d'); // fallback jika format tidak dikenal
}
$jenis  = $_POST['jenis'];
$kategori  = $_POST['kategori'];
$nominal  = preg_replace('/\D/', '', $_POST['nominal'] ?? '0');
$keterangan  = $_POST['keterangan'] ?? '';
$bank  = $_POST['bank'];

$rand = rand();
$allowed =  array('jpg','jpeg','pdf');
$filename = $_FILES['trnfoto']['name'];
$ext = pathinfo($filename, PATHINFO_EXTENSION);

$transaksi = mysqli_query($koneksi,"select * from transaksi where transaksi_id='$id'");
$t = mysqli_fetch_assoc($transaksi);
$bank_lama = $t['transaksi_bank'];

$rekening = mysqli_query($koneksi,"select * from bank where bank_id='$bank_lama'");
$r = mysqli_fetch_assoc($rekening);

// Kembalikan nominal ke saldo bank lama

if($t['transaksi_jenis'] == "Pemasukan"){
	$kembalikan = $r['bank_saldo'] - $t['transaksi_nominal'];
	mysqli_query($koneksi,"update bank set bank_saldo='$kembalikan' where bank_id='$bank_lama'");

}else if($t['transaksi_jenis'] == "Pengeluaran"){
	$kembalikan = $r['bank_saldo'] + $t['transaksi_nominal'];
	mysqli_query($koneksi,"update bank set bank_saldo='$kembalikan' where bank_id='$bank_lama'");

}


if($jenis == "Pemasukan"){

	$rekening2 = mysqli_query($koneksi,"select * from bank where bank_id='$bank'");
	$rr = mysqli_fetch_assoc($rekening2);
	$saldo_sekarang = $rr['bank_saldo'];
	$total = $saldo_sekarang+$nominal;
	mysqli_query($koneksi,"update bank set bank_saldo='$total' where bank_id='$bank'");

}elseif($jenis == "Pengeluaran"){

	$rekening2 = mysqli_query($koneksi,"select * from bank where bank_id='$bank'");
	$rr = mysqli_fetch_assoc($rekening2);
	$saldo_sekarang = $rr['bank_saldo'];
	$total = $saldo_sekarang-$nominal;
	mysqli_query($koneksi,"update bank set bank_saldo='$total' where bank_id='$bank'");

}	

if($filename == ""){
	mysqli_query($koneksi, "update transaksi set transaksi_tanggal='$tanggal', transaksi_jenis='$jenis', transaksi_kategori='$kategori', transaksi_nominal='$nominal', transaksi_keterangan='$keterangan', transaksi_bank='$bank' where transaksi_id='$id'") or die(mysqli_error($koneksi));
	$_SESSION['alert'] = 'success';
	$_SESSION['message'] = 'Data transaksi berhasil diperbarui!';
	header("location:transaksi.php");
}else{
	$ext = pathinfo($filename, PATHINFO_EXTENSION);

	if(!in_array($ext,$allowed) ) {
		$_SESSION['alert'] = 'error';
		$_SESSION['message'] = 'Ekstensi file tidak diperbolehkan! Hanya file JPG, JPEG, dan PDF yang diizinkan.';
		header("location:transaksi.php");
	}else{
		move_uploaded_file($_FILES['trnfoto']['tmp_name'], '../gambar/bukti/'.$rand.'_'.$filename);
		$xgambar = $rand.'_'.$filename;
		mysqli_query($koneksi, "update transaksi set transaksi_tanggal='$tanggal', transaksi_jenis='$jenis', transaksi_kategori='$kategori', transaksi_nominal='$nominal', transaksi_keterangan='$keterangan',transaksi_foto='$xgambar', transaksi_bank='$bank' where transaksi_id='$id'");
		$_SESSION['alert'] = 'success';
		$_SESSION['message'] = 'Data transaksi berhasil diperbarui!';
		header("location:transaksi.php");
	}
}

// mysqli_query($koneksi, "update transaksi set transaksi_tanggal='$tanggal', transaksi_jenis='$jenis', transaksi_kategori='$kategori', transaksi_nominal='$nominal', transaksi_keterangan='$keterangan', transaksi_bank='$bank' where transaksi_id='$id'") or die(mysqli_error($koneksi));
// header("location:transaksi.php");