<?php
include_once($_SERVER['DOCUMENT_ROOT'] . '/db.php'); // Caminho para o arquivo de conexão com o banco de dados

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Recebendo os dados do formulário
    $title = $_POST['title'];
    $price = $_POST['price'];
    $originalPrice = $_POST['originalPrice'];
    $description = $_POST['description'];
    $features = $_POST['features'];
    $genres = $_POST['genres'];
    $developer = $_POST['developer'];
    $releaseDate = $_POST['releaseDate'];
    $platforms = $_POST['platforms'];

    // Garantir que o campo 'systemRequirements' seja passado corretamente
    $systemRequirements = isset($_POST['systemRequirements']) ? $_POST['systemRequirements'] : null;

    // Processamento da imagem
    $uploadDir = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
    $imageLinks = [];
    $allowedTypes = ['jpg', 'jpeg', 'png', 'gif'];
    $maxFileSize = 5 * 1024 * 1024; // 5MB

    // Verificar se a imagem foi enviada
    if (isset($_FILES['images']) && $_FILES['images']['error'][0] == UPLOAD_ERR_OK) {
        $file_name = basename($_FILES['images']['name'][0]);
        $file_size = $_FILES['images']['size'][0];
        $file_ext = strtolower(pathinfo($file_name, PATHINFO_EXTENSION));

        // Verificar a extensão do arquivo
        if (!in_array($file_ext, $allowedTypes)) {
            echo "Erro: Somente imagens JPG, PNG ou GIF são permitidas.";
            exit;
        }

        // Verificar o tamanho do arquivo
        if ($file_size > $maxFileSize) {
            echo "Erro: O arquivo $file_name excede o tamanho máximo permitido de 5MB.";
            exit;
        }

        // Caminho de destino para salvar o arquivo
        $targetFilePath = $uploadDir . $file_name;

        // Tentar mover o arquivo para o diretório de uploads
        if (move_uploaded_file($_FILES['images']['tmp_name'][0], $targetFilePath)) {
            $imageLinks[] =  $file_name;  // Adicionar o caminho da imagem
        } else {
            echo "Erro ao fazer upload da imagem $file_name";
            exit;
        }
    }

    // Atribuir a imagem ou NULL caso não tenha imagem
    $image1 = isset($imageLinks[0]) ? $imageLinks[0] : null;

    // Preparar a consulta SQL para inserção
    $stmt = $pdo->prepare("INSERT INTO jogos 
                           (title, price, originalPrice, description, features, genres, developer, releaseDate, platforms, systemRequirements, image1) 
                           VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)");

    // Executar a consulta com os dados do formulário
    $stmt->execute([
        $title, 
        $price, 
        $originalPrice, 
        $description, 
        $features, 
        $genres,
        $developer, 
        $releaseDate, 
        $platforms, 
        $systemRequirements, 
        $image1
    ]);

    echo "Jogo cadastrado com sucesso!";
}
?>
