<?php
class Sessao
{
    public static function iniciar()
    {
        if (session_status() == PHP_SESSION_NONE) {
            session_start();
        }
    }

    public static function set($chave, $valor)
    {
        self::iniciar();
        $_SESSION[$chave] = $valor;
    }

    public static function get($chave)
    {
        self::iniciar();
        return $_SESSION[$chave] ?? null;
    }

    public static function unset($chave)
    {
        self::iniciar();
        unset($_SESSION[$chave]);
    }

    public static function destruir()
    {
        if (session_status() == PHP_SESSION_ACTIVE) {
            session_destroy();
        }
    }

    public static function estaLogado()
    {
        self::iniciar();
        return isset($_SESSION['usuario_id']) && !empty($_SESSION['usuario_id']);
    }

    public static function mensagem($nome, $mensagem = '', $classe = 'alert alert-success')
    {
        self::iniciar();

        if (!empty($mensagem) && empty($_SESSION[$nome])) {
            if (!empty($_SESSION[$nome])) {
                unset($_SESSION[$nome]);
            }
            $_SESSION[$nome] = $mensagem;
            $_SESSION[$nome . '_classe'] = $classe;
        } elseif (empty($mensagem) && !empty($_SESSION[$nome])) {
            $classe = !empty($_SESSION[$nome . '_classe']) ? $_SESSION[$nome . '_classe'] : '';
            echo '<div class="' . $classe . '" id="msg-flash">' . $_SESSION[$nome] . '</div>';
            unset($_SESSION[$nome]);
            unset($_SESSION[$nome . '_classe']);
        }
    }
}
