Files
RomhackPlaza/app/Providers/AppServiceProvider.php
2026-06-23 19:24:38 +02:00

50 lines
1.3 KiB
PHP

<?php
namespace App\Providers;
use App\Auth\XenForoGuard;
use App\Auth\XenForoUser;
use App\Policies\TempFilePolicy;
use App\Proxy\VisitorProxy;
use App\Services\TemporaryFileService;
use App\Support\XenForoCauserResolver;
use Illuminate\Support\Facades\Gate;
use Illuminate\Support\ServiceProvider;
use Spatie\Activitylog\Support\CauserResolver;
class AppServiceProvider extends ServiceProvider
{
/**
* Register any application services.
*/
public function register(): void
{
$this->app->bind(CauserResolver::class, XenForoCauserResolver::class );
}
/**
* Bootstrap any application services.
*/
public function boot(): void
{
\Auth::extend('xenforo', function ($app, $name, array $config) {
return new XenForoGuard($app['request']);
});
\Gate::policy(TemporaryFileService::class, TempFilePolicy::class );
Gate::define('is-admin', function (XenForoUser $user) {
return $user->is_admin === 1;
});
Gate::define('is-mod', function (XenForoUser $user) {
return $user->is_moderator === 1;
});
\View::composer('*', function ($view) {
$view->with('VISITOR', new VisitorProxy( \Auth::user() ) );
});
}
}