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

if (!isset($_SESSION['logado']) || !isset($_POST['id'])) {
    echo json_encode(['success' => false, 'message' => 'Não autorizado']);
    exit;
}

// Verifica o token CSRF
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    echo json_encode(['success' => false, 'message' => 'Token CSRF inválido']);
    exit;
}

$atividade_id = $_POST['id'];
$tenant_id = $_SESSION['tenant_id'];
$usuario_id = $_SESSION['usuario_id'];

// FUNÇÃO DE ENVIO DE E-MAIL (copiada do calendario.php)
function enviarEmailNotificacao($destinatario, $assunto, $mensagem, $tenant_id) {
    // Configurações de e-mail por tenant
    $configs = [
        1 => [
            'from_email' => 'sistema@empresa1.com',
            'from_name' => 'Sistema Empresa 1'
        ],
        2 => [
            'from_email' => 'sistema@empresa2.com',
            'from_name' => 'Sistema Empresa 2'
        ]
    ];
    
    $config = $configs[$tenant_id] ?? [
        'from_email' => 'sistema@son.com',
        'from_name' => 'SON Sistema'
    ];
    
    $headers = "From: {$config['from_name']} <{$config['from_email']}>\r\n";
    $headers .= "Reply-To: {$config['from_email']}\r\n";
    $headers .= "Content-Type: text/html; charset=UTF-8\r\n";
    $headers .= "MIME-Version: 1.0\r\n";
    
    error_log("Tentando enviar e-mail para: $destinatario - Assunto: $assunto");
    
    return mail($destinatario, $assunto, $mensagem, $headers);
}

// FUNÇÃO PARA CRIAR TEMPLATE DE E-MAIL
function criarTemplateNotificacao($atividade, $tipo = 'lembrete') {
    $dataHora = date('d/m/Y H:i', strtotime($atividade['data_agendada']));
    
    $templates = [
        'lembrete' => "
            <html>
            <head>
                <style>
                    body { font-family: Arial, sans-serif; margin: 20px; }
                    .container { max-width: 600px; margin: 0 auto; border: 1px solid #ddd; border-radius: 8px; padding: 20px; }
                    .header { background: #f8f9fa; padding: 15px; border-radius: 5px; margin-bottom: 20px; }
                    .info { margin: 10px 0; }
                    .btn { display: inline-block; padding: 10px 20px; background: #007bff; color: white; text-decoration: none; border-radius: 4px; }
                </style>
            </head>
            <body>
                <div class='container'>
                    <div class='header'>
                        <h2>🔔 Lembrete de Atividade</h2>
                    </div>
                    <div class='info'><strong>📋 Atividade:</strong> {$atividade['nome']}</div>
                    <div class='info'><strong>📅 Data/Hora:</strong> $dataHora</div>
                    " . ($atividade['descricao'] ? "<div class='info'><strong>📝 Descrição:</strong> {$atividade['descricao']}</div>" : "") . "
                    " . ($atividade['Nome_Cliente'] ? "<div class='info'><strong>👤 Cliente:</strong> {$atividade['Nome_Cliente']}</div>" : "") . "
                    <div class='info'><strong>👨‍💼 Responsável:</strong> {$atividade['usuario_nome']}</div>
                    <br>
                    <a href='https://seusite.com/calendario.php' class='btn'>📅 Acessar Calendário</a>
                </div>
            </body>
            </html>
        "
    ];
    
    return $templates[$tipo] ?? $templates['lembrete'];
}

// Buscar dados completos da atividade
$sql = "SELECT a.*, u.email, u.nome as usuario_nome, c.Nome_Cliente 
        FROM atividades a 
        LEFT JOIN usuarios u ON a.usuario_id = u.id 
        LEFT JOIN clientes c ON a.cliente_id = c.id 
        WHERE a.id = ? AND a.tenant_id = ? AND a.ativo = 1";

$stmt = $conn->prepare($sql);
$stmt->bind_param("ii", $atividade_id, $tenant_id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 0) {
    echo json_encode(['success' => false, 'message' => 'Atividade não encontrada']);
    exit;
}

$atividade = $result->fetch_assoc();
$stmt->close();

// Verificar se o usuário tem permissão para enviar lembrete (é o proprietário ou tem acesso via compartilhamento)
$sql_permissao = "SELECT 1 FROM atividades a 
                  LEFT JOIN compartilhamento_agenda ca ON (a.usuario_id = ca.usuario_proprietario_id AND ca.usuario_compartilhado_id = ? AND ca.ativo = 1)
                  WHERE a.id = ? AND (a.usuario_id = ? OR ca.usuario_compartilhado_id = ?)";

$stmt_permissao = $conn->prepare($sql_permissao);
$stmt_permissao->bind_param("iiii", $usuario_id, $atividade_id, $usuario_id, $usuario_id);
$stmt_permissao->execute();
$result_permissao = $stmt_permissao->get_result();

if ($result_permissao->num_rows === 0) {
    echo json_encode(['success' => false, 'message' => 'Você não tem permissão para enviar lembrete desta atividade']);
    $stmt_permissao->close();
    $conn->close();
    exit;
}
$stmt_permissao->close();

// Verificar se o usuário tem e-mail cadastrado
if (empty($atividade['email'])) {
    echo json_encode(['success' => false, 'message' => 'Usuário responsável não possui e-mail cadastrado']);
    $conn->close();
    exit;
}

// Enviar e-mail de lembrete
$assunto = "🔔 Lembrete de Atividade: " . $atividade['nome'];
$mensagem = criarTemplateNotificacao($atividade, 'lembrete');
$enviado = enviarEmailNotificacao($atividade['email'], $assunto, $mensagem, $tenant_id);

if ($enviado) {
    // Registrar o envio no log (opcional)
    error_log("Lembrete enviado para atividade ID: $atividade_id - Para: " . $atividade['email']);
    
    echo json_encode(['success' => true, 'message' => 'Lembrete enviado com sucesso para ' . $atividade['email']]);
} else {
    error_log("Falha ao enviar lembrete para atividade ID: $atividade_id");
    echo json_encode(['success' => false, 'message' => 'Erro ao enviar e-mail. Verifique as configurações do servidor.']);
}

$conn->close();
?>