<?php
// Criar tabela checklist_fotos se não existir
require_once 'config.php';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
    
    echo "<h1>🔧 Criando Tabela checklist_fotos</h1>";
    
    // Verificar se a tabela já existe
    $stmt = $pdo->query("SHOW TABLES LIKE 'checklist_fotos'");
    if ($stmt->rowCount() > 0) {
        echo "<p style='color: green;'>✅ Tabela 'checklist_fotos' já existe!</p>";
        
        // Mostrar estrutura atual
        echo "<h2>📋 Estrutura Atual:</h2>";
        $stmt = $pdo->query("DESCRIBE checklist_fotos");
        $colunas = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<table border='1' style='border-collapse: collapse;'>";
        echo "<tr style='background-color: #f0f0f0;'>";
        echo "<th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th>";
        echo "</tr>";
        
        foreach ($colunas as $coluna) {
            echo "<tr>";
            echo "<td>{$coluna['Field']}</td>";
            echo "<td>{$coluna['Type']}</td>";
            echo "<td>{$coluna['Null']}</td>";
            echo "<td>{$coluna['Key']}</td>";
            echo "<td>{$coluna['Default']}</td>";
            echo "<td>{$coluna['Extra']}</td>";
            echo "</tr>";
        }
        echo "</table>";
        
    } else {
        echo "<p style='color: orange;'>⚠️ Tabela 'checklist_fotos' não existe. Criando...</p>";
        
        // SQL para criar a tabela
        $sql = "CREATE TABLE checklist_fotos (
            id BIGINT AUTO_INCREMENT PRIMARY KEY,
            checklist_id BIGINT NOT NULL,
            item_id VARCHAR(100) NOT NULL,
            nome_arquivo VARCHAR(255) NOT NULL,
            caminho_local VARCHAR(500) NOT NULL,
            descricao_problema TEXT,
            base64_data LONGTEXT,
            tamanho_arquivo BIGINT DEFAULT 0,
            tipo_mime VARCHAR(100) DEFAULT 'image/jpeg',
            enviado_servidor TINYINT(1) DEFAULT 0,
            created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
            INDEX idx_checklist_id (checklist_id),
            INDEX idx_item_id (item_id),
            INDEX idx_created_at (created_at)
        ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci
        COMMENT='Fotos dos problemas encontrados nos checklists'";
        
        $pdo->exec($sql);
        echo "<p style='color: green;'>✅ Tabela 'checklist_fotos' criada com sucesso!</p>";
        
        // Mostrar estrutura criada
        echo "<h2>📋 Estrutura Criada:</h2>";
        $stmt = $pdo->query("DESCRIBE checklist_fotos");
        $colunas = $stmt->fetchAll(PDO::FETCH_ASSOC);
        
        echo "<table border='1' style='border-collapse: collapse;'>";
        echo "<tr style='background-color: #f0f0f0;'>";
        echo "<th>Campo</th><th>Tipo</th><th>Null</th><th>Key</th><th>Default</th><th>Extra</th>";
        echo "</tr>";
        
        foreach ($colunas as $coluna) {
            echo "<tr>";
            echo "<td>{$coluna['Field']}</td>";
            echo "<td>{$coluna['Type']}</td>";
            echo "<td>{$coluna['Null']}</td>";
            echo "<td>{$coluna['Key']}</td>";
            echo "<td>{$coluna['Default']}</td>";
            echo "<td>{$coluna['Extra']}</td>";
            echo "</tr>";
        }
        echo "</table>";
    }
    
    // Criar diretório para fotos
    $diretorioFotos = 'uploads/checklist-fotos';
    if (!is_dir($diretorioFotos)) {
        if (mkdir($diretorioFotos, 0755, true)) {
            echo "<p style='color: green;'>✅ Diretório '$diretorioFotos' criado com sucesso!</p>";
        } else {
            echo "<p style='color: red;'>❌ Erro ao criar diretório '$diretorioFotos'</p>";
        }
    } else {
        echo "<p style='color: green;'>✅ Diretório '$diretorioFotos' já existe!</p>";
    }
    
    // Verificar permissões do diretório
    if (is_dir($diretorioFotos)) {
        $permissoes = substr(sprintf('%o', fileperms($diretorioFotos)), -4);
        echo "<p><strong>Permissões do diretório:</strong> $permissoes</p>";
        
        if (is_writable($diretorioFotos)) {
            echo "<p style='color: green;'>✅ Diretório é gravável!</p>";
        } else {
            echo "<p style='color: red;'>❌ Diretório NÃO é gravável!</p>";
        }
    }
    
    echo "<h2>🎯 Status Final:</h2>";
    echo "<ul>";
    echo "<li>✅ Tabela checklist_fotos: " . ($stmt->rowCount() > 0 ? "EXISTE" : "CRIADA") . "</li>";
    echo "<li>✅ Diretório uploads/checklist-fotos: " . (is_dir($diretorioFotos) ? "EXISTE" : "CRIADO") . "</li>";
    echo "<li>✅ Sistema pronto para receber fotos dos checklists!</li>";
    echo "</ul>";
    
} catch (PDOException $e) {
    echo "<p style='color: red;'>❌ Erro de conexão: " . $e->getMessage() . "</p>";
}
?>
