Files
einundzwanzig-app/app/Http/Middleware/SetTimezone.php
HolgerHatGarKeineNode ca9cd9b875 Enhance timezone support across application
- Introduced a `SetTimezone` middleware to dynamically apply user-specific timezones.
- Added a `timezone chooser` component for users to select their timezone.
- Enhanced date and time display in views with `asDate`, `asTime`, and `asDateTime` methods.
- Updated `AppServiceProvider` to leverage `preventLazyLoading` in local environments and set custom `Carbon` instance for dates.
- Expanded configuration with `user-timezone`.
- Integrated timezone support into meetups and events for consistent scheduling.
2025-11-23 19:21:19 +01:00

37 lines
842 B
PHP

<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Symfony\Component\HttpFoundation\Response;
class SetTimezone
{
/**
* Handle an incoming request.
*
* @param \Closure(\Illuminate\Http\Request): (\Symfony\Component\HttpFoundation\Response) $next
*/
public function handle(Request $request, Closure $next): Response
{
if (
$request->user()
&& $timezone = $request->user()->timezone
) {
config([
'app.timezone' => $timezone,
'app.user-timezone' => $timezone,
]);
return $next($request);
}
config([
'app.timezone' => 'Europe/Berlin',
'app.user-timezone' => 'Europe/Berlin',
]);
return $next($request);
}
}