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

if (!isset($_SESSION['logado']) || !isset($_SESSION['usuario_id'])) {
    header('Location: login.php');
    exit;
}

if ($_SERVER['REQUEST_METHOD'] !== 'POST') {
    $_SESSION['erro'] = 'Método não permitido';
    header('Location: calendario.php');
    exit;
}

// Verificar CSRF token
if (!isset($_POST['csrf_token']) || $_POST['csrf_token'] !== $_SESSION['csrf_token']) {
    $_SESSION['erro'] = 'Token de segurança inválido';
    header('Location: calendario.php');
    exit;
}

$usuario_proprietario_id = $_SESSION['usuario_id'];
$usuario_compartilhado_id = $_POST['usuario_compartilhado_id'] ?? null;

if (!$usuario_compartilhado_id) {
    $_SESSION['erro'] = 'Usuário não especificado';
    header('Location: calendario.php');
    exit;
}

// Buscar nome do usuário para a mensagem
$sql_buscar_nome = "SELECT nome FROM usuarios WHERE id = ?";
$stmt = $conn->prepare($sql_buscar_nome);
$stmt->bind_param("i", $usuario_compartilhado_id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 0) {
    $_SESSION['erro'] = 'Usuário não encontrado';
    header('Location: calendario.php');
    exit;
}

$usuario = $result->fetch_assoc();
$nome_usuario = htmlspecialchars($usuario['nome']);

// Verificar se o compartilhamento existe e pertence ao usuário
$sql_verificar = "SELECT id FROM compartilhamento_agenda 
                 WHERE usuario_proprietario_id = ? 
                 AND usuario_compartilhado_id = ? 
                 AND ativo = 1";
$stmt = $conn->prepare($sql_verificar);
$stmt->bind_param("ii", $usuario_proprietario_id, $usuario_compartilhado_id);
$stmt->execute();
$result = $stmt->get_result();

if ($result->num_rows === 0) {
    $_SESSION['erro'] = 'Compartilhamento não encontrado ou já foi removido';
    header('Location: calendario.php');
    exit;
}

// Desativar compartilhamento
$sql_remover = "UPDATE compartilhamento_agenda 
               SET ativo = 0 
               WHERE usuario_proprietario_id = ? 
               AND usuario_compartilhado_id = ?";
$stmt = $conn->prepare($sql_remover);
$stmt->bind_param("ii", $usuario_proprietario_id, $usuario_compartilhado_id);

if ($stmt->execute()) {
    $_SESSION['sucesso'] = 'Compartilhamento removido com sucesso de ' . $nome_usuario . '!';
} else {
    $_SESSION['erro'] = 'Erro ao remover compartilhamento: ' . $conn->error;
}

$stmt->close();
$conn->close();

header('Location: calendario.php');
exit;