<?php
require_once 'vendor/PHPExcel-1.8/Classes/PHPExcel.php';

// Folder tempat file diunggah
$uploadFolder = 'import/';

// Cek apakah file Excel diunggah
if (isset($_FILES['file']) && $_FILES['file']['tmp_name']) {
    $fileTmpName = $_FILES['file']['tmp_name'];
    $fileName = $_FILES['file']['name'];

    // Cek apakah file yang diunggah adalah file Excel
    $fileExtension = pathinfo($fileName, PATHINFO_EXTENSION);
    if ($fileExtension !== 'xlsx' && $fileExtension !== 'xls') {
        die('Harap unggah file Excel (.xlsx atau .xls)');
    }

    // Baca file Excel
    try {
        // Load file Excel
        $objPHPExcel = PHPExcel_IOFactory::load($fileTmpName);
        $sheet = $objPHPExcel->getActiveSheet();

        // Koneksi ke database (sesuaikan dengan konfigurasi Anda)
        $conn = new mysqli('localhost', 'root', '', 'your_database');
        if ($conn->connect_error) {
            die("Koneksi gagal: " . $conn->connect_error);
        }

        // Loop untuk membaca setiap baris dalam sheet
        foreach ($sheet->getRowIterator() as $rowIndex => $row) {
            if ($rowIndex < 2) continue; // Lewati header baris pertama

            // Ambil data dari setiap sel (Provider, Nama Game, Gambar)
            $provider = $sheet->getCellByColumnAndRow(0, $rowIndex)->getValue();
            $gameName = $sheet->getCellByColumnAndRow(1, $rowIndex)->getValue();
            $gambar = $sheet->getCellByColumnAndRow(2, $rowIndex)->getValue(); // Nama gambar

            // 1. Cek apakah gambar ada di folder yang sama
            $gambarPath = $uploadFolder . $gambar;
            if (!file_exists($gambarPath)) {
                echo "Gambar '$gambar' tidak ditemukan di folder.<br>";
                continue;
            }

            // 2. Cek apakah folder provider sudah ada
            $providerFolder = "../img/$provider";
            if (!file_exists($providerFolder)) {
                // Buat folder provider jika belum ada
                mkdir($providerFolder, 0777, true);
            }

            // 3. Pindahkan gambar ke folder provider
            $newGambarPath = $providerFolder . '/' . $gambar;
            if (!copy($gambarPath, $newGambarPath)) {
                echo "Gagal memindahkan gambar '$gambar'.<br>";
                continue;
            }

            // 4. Masukkan data ke dalam database
            $stmt = $conn->prepare("INSERT INTO list_game (provider, gambar, keterangan) VALUES (?, ?, ?)");
            $stmt->bind_param("sss", $provider, $newGambarPath, $gameName);
            $stmt->execute();
        }

        echo "Data berhasil diimpor!";
    } catch (Exception $e) {
        echo "Terjadi kesalahan: " . $e->getMessage();
    }
} else {
    echo "Harap pilih file Excel untuk diimpor.";
}
?>
