Files
RomhackPlaza/app/Providers/AppServiceProvider.php

50 lines
1.3 KiB
PHP
Raw Normal View History

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