<?php
session_start();
require_once 'conexao.php';

// Para debug - REMOVER EM PRODUÇÃO
error_reporting(E_ALL);
ini_set('display_errors', 1);

if (!isset($_SESSION['logado']) || $_SESSION['logado'] !== true) {
    http_response_code(401);
    echo json_encode(['error' => 'Não autorizado']);
    exit;
}

$funilId = isset($_GET['funil_id']) ? (int)$_GET['funil_id'] : 0;
$tenantId = $_SESSION['tenant_id'];

// Log para debug
error_log("carregar_etapas.php - Tenant: $tenantId, Funil: $funilId");

if ($funilId > 0) {
    try {
        // Verificar se o funil pertence ao tenant
        $stmt_verifica = $conn->prepare("SELECT COUNT(*) as count FROM funis WHERE id = ? AND tenant_id = ?");
        $stmt_verifica->bind_param("ii", $funilId, $tenantId);
        $stmt_verifica->execute();
        $result_verifica = $stmt_verifica->get_result()->fetch_assoc();
        $stmt_verifica->close();

        if ($result_verifica['count'] == 0) {
            http_response_code(403);
            echo json_encode(['error' => 'Funil não pertence ao seu tenant']);
            exit;
        }

        // Buscar etapas do funil
        $stmt = $conn->prepare("SELECT id, nome FROM etapas_funis WHERE funil_id = ? ORDER BY ordem");
        $stmt->bind_param("i", $funilId);
        $stmt->execute();
        $result = $stmt->get_result();
        
        $etapas = [];
        while ($row = $result->fetch_assoc()) {
            $etapas[] = $row;
        }
        
        // Log do resultado
        error_log("Etapas encontradas: " . count($etapas));
        
        header('Content-Type: application/json');
        echo json_encode($etapas);
        
    } catch (Exception $e) {
        error_log("Erro ao buscar etapas: " . $e->getMessage());
        http_response_code(500);
        echo json_encode(['error' => 'Erro no servidor']);
    }
} else {
    echo json_encode([]);
}

$conn->close();
?>