diff options
| author | Greg Roach <greg@subaqua.co.uk> | 2024-02-22 11:55:22 +0000 |
|---|---|---|
| committer | Greg Roach <greg@subaqua.co.uk> | 2024-02-26 12:55:00 +0000 |
| commit | 5cac87ae725131e0533df3938e6bed4a6eda5c1b (patch) | |
| tree | 52cb156add7eca6c7e351f29de491a9ff8385e00 /app/Http/RequestHandlers/SiteLogsData.php | |
| parent | 3b667530ac2e0508a9f4332b4b2504a5c7e547b8 (diff) | |
| download | webtrees-5cac87ae725131e0533df3938e6bed4a6eda5c1b.tar.gz webtrees-5cac87ae725131e0533df3938e6bed4a6eda5c1b.tar.bz2 webtrees-5cac87ae725131e0533df3938e6bed4a6eda5c1b.zip | |
Fix: #4549 - Localise timestamps on site-logs and pending-changes
Diffstat (limited to 'app/Http/RequestHandlers/SiteLogsData.php')
| -rw-r--r-- | app/Http/RequestHandlers/SiteLogsData.php | 20 |
1 files changed, 9 insertions, 11 deletions
diff --git a/app/Http/RequestHandlers/SiteLogsData.php b/app/Http/RequestHandlers/SiteLogsData.php index 1a20698d4b..ab3ebc9fb1 100644 --- a/app/Http/RequestHandlers/SiteLogsData.php +++ b/app/Http/RequestHandlers/SiteLogsData.php @@ -19,7 +19,10 @@ declare(strict_types=1); namespace Fisharebest\Webtrees\Http\RequestHandlers; -use Fisharebest\Webtrees\Registry; +use DateTimeImmutable; +use DateTimeZone; +use Fisharebest\Webtrees\Auth; +use Fisharebest\Webtrees\Contracts\UserInterface; use Fisharebest\Webtrees\Services\DatatablesService; use Fisharebest\Webtrees\Services\SiteLogsService; use Psr\Http\Message\ResponseInterface; @@ -37,10 +40,6 @@ class SiteLogsData implements RequestHandlerInterface private SiteLogsService $site_logs_service; - /** - * @param DatatablesService $datatables_service - * @param SiteLogsService $site_logs_service - */ public function __construct( DatatablesService $datatables_service, SiteLogsService $site_logs_service @@ -49,19 +48,18 @@ class SiteLogsData implements RequestHandlerInterface $this->site_logs_service = $site_logs_service; } - /** - * @param ServerRequestInterface $request - * - * @return ResponseInterface - */ public function handle(ServerRequestInterface $request): ResponseInterface { $query = $this->site_logs_service->logsQuery($request); return $this->datatables_service->handleQuery($request, $query, [], [], static function (object $row): array { + $log_time = DateTimeImmutable::createFromFormat('Y-m-d H:i:s', $row->log_time, new DateTimeZone('UTC')) + ->setTimezone(new DateTimeZone(Auth::user()->getPreference(UserInterface::PREF_TIME_ZONE, 'UTC'))) + ->format('Y-m-d H:i:s T'); + return [ $row->log_id, - Registry::timestampFactory()->fromString($row->log_time)->toDateTimeString(), + $log_time, $row->log_type, '<span class="ut">' . e($row->log_message) . '</span>', e($row->ip_address), |
