<?php
// Aktifkan error reporting untuk menampilkan error secara rinci
ini_set('display_errors', 1);
error_reporting(E_ALL);

// Koneksi ke database
include "koneksi.php";

// Cek koneksi
if (mysqli_connect_errno()) {
    die("Koneksi gagal: " . mysqli_connect_error());
}

// Default ID, hanya satu baris yang akan diupdate/ditambahkan
$id = '1';

// Sanitasi data input dari form
$nama_situs = mysqli_real_escape_string($koneksi, $_POST['nama_situs']);
$title_situs = mysqli_real_escape_string($koneksi, $_POST['title_situs']);
$meta_deskripsi = mysqli_real_escape_string($koneksi, $_POST['meta_deskripsi']);
$link_daftar = mysqli_real_escape_string($koneksi, $_POST['link_daftar']);
$link_login = mysqli_real_escape_string($koneksi, $_POST['link_login']);
$link_klaim = mysqli_real_escape_string($koneksi, $_POST['link_klaim']);
$root_color = mysqli_real_escape_string($koneksi, $_POST['root_color']);
$theme_color = mysqli_real_escape_string($koneksi, $_POST['theme_color']);
$marquee_text = mysqli_real_escape_string($koneksi, $_POST['marquee_text']);

// Fungsi untuk upload file ke folder 'img'
function uploadFile($fileInput, $oldFile = null)
{
    if (!empty($_FILES[$fileInput]['name']) && $_FILES[$fileInput]['error'] === 0) {
        $allowedTypes = ['image/jpeg', 'image/png', 'image/gif', 'image/webp', 'image/ico']; // Jenis file yang diizinkan
        $fileType = $_FILES[$fileInput]['type'];

        if (in_array($fileType, $allowedTypes)) {
            $fileName = time() . '_' . basename($_FILES[$fileInput]['name']); // Nama file unik
            $targetFile = "../img/$fileName"; // Menyimpan ke folder 'img'

            // Pindahkan file jika berhasil diupload
            if (move_uploaded_file($_FILES[$fileInput]['tmp_name'], $targetFile)) {
                return $fileName;
            }
        } else {
            return $oldFile; // Kembalikan file lama jika jenis file tidak valid
        }
    }
    return $oldFile;
}

// Ambil data lama dari database
$qry = mysqli_query($koneksi, "SELECT * FROM atur_situs WHERE id = '$id'");
$data_lama = mysqli_fetch_array($qry);

// Cek apakah query berhasil
if (!$qry) {
    die("Error: " . mysqli_error($koneksi));
}

// Proses upload file dengan menyimpan file lama jika tidak ada perubahan
$logo = uploadFile('logo', $data_lama['logo'] ?? '');
$favicon = uploadFile('favicon', $data_lama['favicon'] ?? '');
$background_situs_image = uploadFile('background_gambar', $data_lama['background_situs'] ?? '');
$slider_banner = uploadFile('slider_banner', $data_lama['slider_banner'] ?? '');

// Set background_situs ke gambar yang diupload langsung
$background_situs = $background_situs_image;

// Cek apakah data sudah ada (update) atau belum (insert)
if ($data_lama) {
    // Query untuk update data
    $stmt = mysqli_prepare($koneksi, "UPDATE atur_situs SET 
        nama_situs = ?, 
        title_situs = ?, 
        meta_deskripsi = ?, 
        logo = ?, 
        favicon = ?, 
        background_situs = ?, 
        slider_banner = ?, 
        link_daftar = ?, 
        link_login = ?, 
        link_klaim = ?, 
        root_color = ?, 
        theme_color = ?, 
        marquee_text = ? 
        WHERE id = ?");
    if ($stmt === false) {
        die("Error preparing statement: " . mysqli_error($koneksi)); // Menangani kesalahan jika query gagal disiapkan
    }
    mysqli_stmt_bind_param(
        $stmt,
        'sssssssssssssi',
        $nama_situs,
        $title_situs,
        $meta_deskripsi,
        $logo,
        $favicon,
        $background_situs,
        $slider_banner,
        $link_daftar,
        $link_login,
        $link_klaim,
        $root_color,
        $theme_color,
        $marquee_text,
        $id
    );
} else {
    // Query untuk menambah data baru
    $stmt = mysqli_prepare($koneksi, "INSERT INTO atur_situs (id, nama_situs, title_situs, meta_deskripsi, 
        logo, favicon, background_situs, slider_banner, link_daftar, link_login, link_klaim, 
        root_color, theme_color, marquee_text) 
        VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");
    if ($stmt === false) {
        die("Error preparing statement: " . mysqli_error($koneksi)); // Menangani kesalahan jika query gagal disiapkan
    }
    mysqli_stmt_bind_param(
        $stmt,
        'issssssssssssss',
        $id,
        $nama_situs,
        $title_situs,
        $meta_deskripsi,
        $logo,
        $favicon,
        $background_situs,
        $slider_banner,
        $link_daftar,
        $link_login,
        $link_klaim,
        $root_color,
        $theme_color,
        $marquee_text
    );
}

// Eksekusi query dan penanganan error
if (mysqli_stmt_execute($stmt)) {
    // Redirect ke halaman yang diinginkan setelah berhasil
    header("Location: index.php?page=aturspin&notif=succes");
    exit();
} else {
    // Tampilkan error jika query gagal dieksekusi
    die("Proses Gagal: " . mysqli_error($koneksi));
}

// Menutup statement
mysqli_stmt_close($stmt);
?>