Initial commit

This commit is contained in:
Ronald Huynen
2026-03-23 21:37:59 +01:00
commit 2547717edb
2193 changed files with 972171 additions and 0 deletions

View File

@@ -0,0 +1,64 @@
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Mcamara\LaravelLocalization\Facades\LaravelLocalization;
use Symfony\Component\HttpFoundation\Response;
class EnsurePrinciplesAccepted
{
/**
* Routes that should be excluded from principles acceptance check.
*
* @var array
*/
protected $excludedRoutes = [
'static-principles',
'logout',
'verification.*',
'login',
'register',
'password.*',
'two-factor.*',
];
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
// Only check for authenticated users on the web guard
$user = Auth::guard('web')->user();
if (!$user) {
return $next($request);
}
// Check if the current route is excluded
foreach ($this->excludedRoutes as $excludedRoute) {
if ($request->routeIs($excludedRoute)) {
return $next($request);
}
}
// Check if user needs to accept or re-accept principles
if ($user->needsToReacceptPrinciples()) {
// Redirect to principles page with appropriate message
$principlesUrl = LaravelLocalization::localizeUrl(route('static-principles'));
$message = $user->hasAcceptedPrinciples()
? __('Our principles have been updated. Please review and accept the new version to continue.')
: __('Please accept the platform principles to continue.');
return redirect()->to($principlesUrl)
->with('warning', $message);
}
return $next($request);
}
}