<?php
// Função para aplicar o markup de 13%
function aplicarMarkup($preco) {
    $markup = 1.13; // Markup de 13%
    return number_format($preco * $markup, 2, '.', ''); // Alterado para ponto como separador decimal
}

if ($_SERVER['REQUEST_METHOD'] === 'POST') {
    // Verificar se foi enviado um arquivo CSV
    if (isset($_FILES['csv_file']) && $_FILES['csv_file']['type'] === 'text/csv') {
        // Diretório onde o arquivo será salvo
        $uploadDir = './uploads/';
        // Nome do arquivo no servidor
        $fileName = basename($_FILES['csv_file']['name']);
        // Caminho completo do arquivo no servidor
        $filePath = $uploadDir . $fileName;

        // Move o arquivo para o diretório de uploads
        move_uploaded_file($_FILES['csv_file']['tmp_name'], $filePath);

        // Abre o arquivo CSV para leitura
        if (($handle = fopen($filePath, 'r')) !== false) {
            // Cria um arquivo temporário para o download
            $tempFile = './downloads/' . time() . '_markup.csv';
            $outputFile = fopen($tempFile, 'w');

            // Lê a primeira linha do arquivo CSV (cabeçalho)
            $header = fgetcsv($handle, 0, ',');

            // Remove as aspas do cabeçalho
            $header = array_map('trim', $header);

            // Escreve o cabeçalho no arquivo de saída
            fputcsv($outputFile, $header);

            // Lê cada linha do arquivo CSV
            while (($row = fgetcsv($handle, 0, ',')) !== false) {
                // Aplicar o markup de 13% no preço
                $row[2] = aplicarMarkup(floatval(str_replace('R$ ', '', $row[2]))); // Remover "R$ " e converter para float

                // Remover as aspas dos nomes dos produtos
                $row[1] = trim($row[1], '"');

                // Escrever a linha no arquivo de saída
                fputcsv($outputFile, $row);
            }

            // Fechar os arquivos
            fclose($handle);
            fclose($outputFile);

            // Definir o cabeçalho do arquivo para download
            header('Content-Type: text/csv');
            header('Content-Disposition: attachment; filename="markup.csv"');
            header('Pragma: no-cache');

            // Ler o arquivo temporário e enviar para o navegador
            readfile($tempFile);

            // Remover o arquivo temporário
            unlink($tempFile);

            // Excluir o arquivo original do upload
            unlink($filePath);

            exit;
        } else {
            echo 'Erro ao abrir o arquivo CSV.';
        }
    } else {
        echo 'Erro: por favor, envie um arquivo CSV.';
    }
}
?>

<!DOCTYPE html>
<html>
<head>
    <title>Aplicação de Markup</title>
</head>
<body>
    <form action="" method="POST" enctype="multipart/form-data">
        <input type="file" name="csv_file">
        <input type="submit" value="Upload">
    </form>
</body>
</html>

