<?php
session_start();
header('Content-Type: application/json');
include '../config/database.php';

$db = new Database();
$conn = $db->getConnection();

$id = $_POST['id'];
$nama_barang = $_POST['nama_barang'];
$kategori = $_POST['kategori'];
$jumlah = $_POST['jumlah'];
$kondisi = $_POST['kondisi'];
$tgl_beli = $_POST['tgl_beli']?: null;
$harga_beli = $_POST['harga_beli']?: 0;
$keterangan = $_POST['keterangan'];
$gereja_id = $_SESSION['gereja_id'];

$uploadDir = '../uploads/inventaris_gereja/';
if(!is_dir($uploadDir)) mkdir($uploadDir, 0777, true);

// Handle upload foto
$foto = $_POST['foto_lama'];
if(!empty($_FILES['foto']['name'])){
    $ext = pathinfo($_FILES['foto']['name'], PATHINFO_EXTENSION);
    $foto = 'gereja_'.time().'_'.rand(100,999).'.'.$ext;
    move_uploaded_file($_FILES['foto']['tmp_name'], $uploadDir.$foto);
    
    // Hapus foto lama kalo edit
    if($id!= '' && $_POST['foto_lama']!= '' && file_exists($uploadDir.$_POST['foto_lama'])){
        unlink($uploadDir.$_POST['foto_lama']);
    }
}

try {
    if($id == ''){
        // TAMBAH DATA
        $sql = "INSERT INTO inventaris (nama_barang, kategori, jumlah, kondisi, tgl_beli, harga_beli, keterangan, gereja_id, gambar) VALUES (?,?,?,?,?,?,?,?,?)";
        $stmt = $conn->prepare($sql);
        $exe = $stmt->execute([$nama_barang, $kategori, $jumlah, $kondisi, $tgl_beli, $harga_beli, $keterangan, $gereja_id, $foto]);
        $msg = 'Inventaris berhasil ditambah';
    } else {
        // UPDATE DATA
        $sql = "UPDATE inventaris SET nama_barang=?, kategori=?, jumlah=?, kondisi=?, tgl_beli=?, harga_beli=?, keterangan=?, gambar=? WHERE id=? AND gereja_id=?";
        $stmt = $conn->prepare($sql);
        $exe = $stmt->execute([$nama_barang, $kategori, $jumlah, $kondisi, $tgl_beli, $harga_beli, $keterangan, $foto, $id, $gereja_id]);
        $msg = 'Inventaris berhasil diupdate';
    }

    if($exe){
        echo json_encode(['status'=>'success','message'=>$msg]);
    } else {
        echo json_encode(['status'=>'error','message'=>'Gagal simpan data']);
    }

} catch (PDOException $e) {
    echo json_encode(['status'=>'error','message'=>'Error: '.$e->getMessage()]);
}
?>