<?php
require_once('session.php');

$id_qris     = intval($_POST['id'] ?? 0);
$nama_qris   = mysqli_real_escape_string($conn, $_POST['nama_qris'] ?? '');
$status      = intval($_POST['status'] ?? 1); // default aktif
$uploadDir   = '../../upload/';

// Pastikan folder upload ada
if (!file_exists($uploadDir)) {
    mkdir($uploadDir, 0777, true);
}

// Ambil data lama
$old = mysqli_fetch_assoc(mysqli_query($conn, "SELECT * FROM tb_qris WHERE id = '$id_qris' LIMIT 1"));
$old_image = $old['gambar_qris'] ?? '';

if (isset($_FILES['image']) && $_FILES['image']['error'] == 0) {
    $allowed = ['jpg', 'jpeg', 'png'];
    $filename = $_FILES['image']['name'];
    $filesize = $_FILES['image']['size'];
    $filetmp  = $_FILES['image']['tmp_name'];
    $ext = strtolower(pathinfo($filename, PATHINFO_EXTENSION));

    // Validasi ekstensi
    if (!in_array($ext, $allowed)) {
        header("Location: ../edit_qris.php?id=$id_qris&notif=3");
        exit;
    }

    // Validasi ukuran
    if ($filesize > 2 * 1024 * 1024) {
        header("Location: ../edit_qris.php?id=$id_qris&notif=2");
        exit;
    }

    // Nonaktifkan semua QRIS lama jika status baru adalah aktif
    if ($status == 1) {
        mysqli_query($conn, "UPDATE tb_qris SET status = 0");
    }

    // Nama file baru unik
    $newname = 'qris_' . time() . '.' . $ext;
    $target  = $uploadDir . $newname;

    if (move_uploaded_file($filetmp, $target)) {
        // Hapus gambar lama jika ada
        if ($old_image && file_exists($uploadDir . $old_image)) {
            unlink($uploadDir . $old_image);
        }

        // Update database dengan gambar baru
        $sql = "UPDATE tb_qris 
                SET nama_qris='$nama_qris',
                    gambar_qris='$newname',
                    keterangan='Aktif',
                    status='$status'
                WHERE id='$id_qris'";
    } else {
        echo "Upload gagal!";
        exit;
    }
} else {
    // Jika tidak upload gambar baru, tetap update nama & status
    if ($status == 1) {
        mysqli_query($conn, "UPDATE tb_qris SET status = 0");
    }

    $sql = "UPDATE tb_qris 
            SET nama_qris='$nama_qris',
                keterangan='Aktif',
                status='$status'
            WHERE id='$id_qris'";
}

// Jalankan query update
if (mysqli_query($conn, $sql)) {
    header("Location: ../qris.php?notif=1");
    exit;
} else {
    echo "Database error: " . mysqli_error($conn);
}
?>
