<?php
// test-page.php - Versão simplificada para testar

// Configurações básicas
error_reporting(E_ALL);
ini_set('display_errors', 1);

echo "<h2>DEBUG DA ESTRUTURA DE DIRETÓRIOS</h2>";
echo "<p><strong>Arquivo atual:</strong> " . __FILE__ . "</p>";
echo "<p><strong>dirname(__FILE__):</strong> " . dirname(__FILE__) . "</p>";
echo "<p><strong>dirname(dirname(__FILE__)):</strong> " . dirname(dirname(__FILE__)) . "</p>";

// Vamos testar qual das opções funciona
$option1 = dirname(__FILE__);
$option2 = dirname(dirname(__FILE__));

echo "<h3>Testando opções:</h3>";
echo "<p><strong>Opção 1 (dirname):</strong> $option1</p>";
echo "<p>Arquivo config.php existe? " . (file_exists($option1 . '/includes/config.php') ? 'SIM' : 'NÃO') . "</p>";

echo "<p><strong>Opção 2 (dirname x2):</strong> $option2</p>";
echo "<p>Arquivo config.php existe? " . (file_exists($option2 . '/includes/config.php') ? 'SIM' : 'NÃO') . "</p>";

// Lista os arquivos na pasta atual
echo "<h3>Conteúdo da pasta atual (" . dirname(__FILE__) . "):</h3>";
if (is_dir(dirname(__FILE__))) {
    $files = scandir(dirname(__FILE__));
    echo "<ul>";
    foreach ($files as $file) {
        if ($file !== '.' && $file !== '..') {
            $fullPath = dirname(__FILE__) . '/' . $file;
            echo "<li>" . $file . (is_dir($fullPath) ? ' (pasta)' : ' (arquivo)') . "</li>";
        }
    }
    echo "</ul>";
}

// Verifica se existe a pasta includes
echo "<h3>Verificando pasta includes:</h3>";
$includesPath1 = dirname(__FILE__) . '/includes';
$includesPath2 = dirname(dirname(__FILE__)) . '/includes';

echo "<p>Pasta includes em '$includesPath1': " . (is_dir($includesPath1) ? 'SIM' : 'NÃO') . "</p>";
echo "<p>Pasta includes em '$includesPath2': " . (is_dir($includesPath2) ? 'SIM' : 'NÃO') . "</p>";

// Define BASE_PATH baseado no que realmente existe
if (file_exists(dirname(__FILE__) . '/includes/config.php')) {
    define('BASE_PATH', dirname(__FILE__));
    echo "<p style='color: green;'><strong>Usando BASE_PATH:</strong> " . BASE_PATH . "</p>";
} elseif (file_exists(dirname(dirname(__FILE__)) . '/includes/config.php')) {
    define('BASE_PATH', dirname(dirname(__FILE__)));
    echo "<p style='color: green;'><strong>Usando BASE_PATH:</strong> " . BASE_PATH . "</p>";
} else {
    echo "<p style='color: red;'><strong>ERRO: Não foi possível encontrar a pasta includes</strong></p>";
    exit;
}

echo "<hr>";
echo "1. Iniciando página...<br>";
echo "2. BASE_PATH definido: " . BASE_PATH . "<br>";

// Continua com o resto do código de teste
try {
    echo "3. Incluindo config.php...<br>";
    require_once BASE_PATH . '/includes/config.php';
    echo "4. Config.php incluído com sucesso<br>";
    
    echo "5. Incluindo db.php...<br>";
    require_once BASE_PATH . '/includes/db.php';
    echo "6. DB.php incluído com sucesso<br>";
    
    echo "7. Incluindo functions.php...<br>";
    require_once BASE_PATH . '/includes/functions.php';
    echo "8. Functions.php incluído com sucesso<br>";
    
    echo "9. Testando conexão com banco...<br>";
    
    // Testa uma query simples
    $db->query("SELECT 1 as test");
    $result = $db->single();
    
    if ($result) {
        echo "10. Conexão com banco OK: " . $result['test'] . "<br>";
    } else {
        echo "10. ERRO: Conexão com banco falhou<br>";
    }
    
    echo "11. Buscando páginas...<br>";
    
    // Testa busca de páginas
    $db->query("SELECT * FROM pages WHERE type = 'landing' AND published = 1 LIMIT 1");
    $page = $db->single();
    
    if ($page) {
        echo "12. Página encontrada: " . htmlspecialchars($page['title']) . "<br>";
        
        // Define variáveis para o header
        $pageTitle = $page['title'];
        $metaDescription = $page['meta_description'] ?: 'Teste de página';
        $currentPage = 'test';
        $showHeader = true;
        
        echo "13. Incluindo header...<br>";
        require_once BASE_PATH . '/includes/header.php';
        
        echo "<div class='container mt-5'>";
        echo "<h1>Teste de Página</h1>";
        echo "<p>A página está funcionando corretamente!</p>";
        echo "<p><strong>Título da página:</strong> " . htmlspecialchars($page['title']) . "</p>";
        echo "<p><strong>Data de criação:</strong> " . $page['created_at'] . "</p>";
        echo "</div>";
        
        require_once BASE_PATH . '/includes/footer.php';
        
    } else {
        echo "12. ERRO: Nenhuma página encontrada no banco<br>";
        echo "<p>Verifique se existe pelo menos uma página do tipo 'landing' publicada no banco de dados.</p>";
        
        // Lista todas as páginas existentes
        echo "<h3>Páginas existentes no banco:</h3>";
        $db->query("SELECT id, title, type, published FROM pages ORDER BY id");
        $allPages = $db->resultSet();
        
        if ($allPages) {
            echo "<table border='1' style='border-collapse: collapse;'>";
            echo "<tr><th>ID</th><th>Título</th><th>Tipo</th><th>Publicada</th></tr>";
            foreach ($allPages as $pg) {
                echo "<tr>";
                echo "<td>" . $pg['id'] . "</td>";
                echo "<td>" . htmlspecialchars($pg['title']) . "</td>";
                echo "<td>" . $pg['type'] . "</td>";
                echo "<td>" . ($pg['published'] ? 'Sim' : 'Não') . "</td>";
                echo "</tr>";
            }
            echo "</table>";
        } else {
            echo "<p>Nenhuma página encontrada no banco de dados.</p>";
        }
    }
    
} catch (Exception $e) {
    echo "<div style='background: #ffcccc; padding: 10px; margin: 10px; border: 1px solid #ff0000;'>";
    echo "<h3>ERRO ENCONTRADO:</h3>";
    echo "<p><strong>Mensagem:</strong> " . $e->getMessage() . "</p>";
    echo "<p><strong>Arquivo:</strong> " . $e->getFile() . "</p>";
    echo "<p><strong>Linha:</strong> " . $e->getLine() . "</p>";
    echo "<p><strong>Stack trace:</strong></p>";
    echo "<pre>" . $e->getTraceAsString() . "</pre>";
    echo "</div>";
} catch (Error $e) {
    echo "<div style='background: #ffcccc; padding: 10px; margin: 10px; border: 1px solid #ff0000;'>";
    echo "<h3>ERRO FATAL ENCONTRADO:</h3>";
    echo "<p><strong>Mensagem:</strong> " . $e->getMessage() . "</p>";
    echo "<p><strong>Arquivo:</strong> " . $e->getFile() . "</p>";
    echo "<p><strong>Linha:</strong> " . $e->getLine() . "</p>";
    echo "</div>";
}
?>