Files
lash_vanshy/app/Helpers/helpers.php

84 lines
1.7 KiB
PHP
Executable File

<?php
use App\Models\AdminUser;
use App\Models\Configuracion;
use Illuminate\Support\Facades\Auth;
/**
* Helper para obtener configuraciones del sitio
*
* @param string $clave La clave de configuración
* @param mixed $default Valor por defecto si no existe
* @return mixed
*/
if (! function_exists('config_site')) {
function config_site(string $clave, $default = null)
{
return Configuracion::get($clave, $default);
}
}
/**
* Helper para establecer una configuración
*
* @param string $clave La clave de configuración
* @param mixed $valor El valor a guardar
* @return Configuracion
*/
if (! function_exists('set_config_site')) {
function set_config_site(string $clave, $valor): Configuracion
{
return Configuracion::set($clave, $valor);
}
}
/**
* Helper para obtener todas las configuraciones como array
*
* @return array
*/
if (! function_exists('all_config_site')) {
function all_config_site(): array
{
return Configuracion::allAsArray();
}
}
/**
* Helper para verificar si el usuario actual es admin
*
* @return bool
*/
if (! function_exists('is_admin')) {
function is_admin(): bool
{
return Auth::guard('admin')->check();
}
}
/**
* Helper para obtener el usuario admin actual
*
* @return AdminUser|null
*/
if (! function_exists('admin_user')) {
function admin_user(): ?AdminUser
{
return Auth::guard('admin')->user();
}
}
/**
* Helper para verificar si el usuario actual es super_admin
*
* @return bool
*/
if (! function_exists('is_super_admin')) {
function is_super_admin(): bool
{
$user = Auth::guard('admin')->user();
return $user && $user->isSuperAdmin();
}
}