Loading meta.php +43 −12 Original line number Diff line number Diff line Loading @@ -28,10 +28,14 @@ $collection = $db->secrets; function utcToIso(?UTCDateTime $dt): ?string { if (!$dt) return null; // Mongo UTCDateTime -> DateTimeImmutable $d = $dt->toDateTime(); $d = DateTimeImmutable::createFromMutable($d)->setTimezone(new DateTimeZone('UTC')); return $d->format('Y-m-d H:i:s') . ' UTC'; // Mongo UTCDateTime -> DateTimeImmutable (UTC) $d = DateTimeImmutable::createFromMutable( $dt->toDateTime() )->setTimezone(new DateTimeZone('UTC')); // TRUE ISO 8601 return $d->format('Y-m-d\TH:i:s\Z'); } function nowUtc(): DateTimeImmutable Loading Loading @@ -175,12 +179,16 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire <div class="row g-3"> <div class="col-12 col-md-6"> <div class="text-secondary small">Izveidots</div> <div><?= htmlspecialchars($createdAtIso ?? '-') ?></div> <div> <time class="js-local-time" data-iso="<?= htmlspecialchars($createdAtIso ?? '') ?>"> <?= htmlspecialchars($createdAtIso ?? '-') ?> </time> </div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Derīgs līdz</div> <div> <?= htmlspecialchars($expiresAtIso ?? '-') ?> <time class="js-local-time" data-iso="<?= htmlspecialchars($expiresAtIso ?? '') ?>"><?= htmlspecialchars($expiresAtIso ?? '-') ?></time> <?php if ($remainingText): ?> <span class="text-secondary small">(aptuveni <?= htmlspecialchars($remainingText) ?> atlicis)</span> <?php endif; ?> Loading @@ -189,11 +197,11 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire <div class="col-12 col-md-6"> <div class="text-secondary small">Izsniegts pirmo reizi</div> <div><?= htmlspecialchars($firstRetrievedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($firstRetrievedAtIso ?? '') ?>"><?= htmlspecialchars($firstRetrievedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Izsniegts pēdējo reizi</div> <div><?= htmlspecialchars($lastRetrievedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($lastRetrievedAtIso ?? '') ?>"><?= htmlspecialchars($lastRetrievedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> Loading @@ -202,7 +210,7 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Parādīts / izdzēsts</div> <div><?= htmlspecialchars($displayedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($displayedAtIso ?? '') ?>"><?= htmlspecialchars($displayedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Saite</div> Loading @@ -227,9 +235,32 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire </div> <div class="footer py-3"> <div class="container text-secondary small"> Visi laiki ir UTC. </div> </div> <script> (() => { const els = document.querySelectorAll('time.js-local-time[data-iso]'); for (const el of els) { const iso = (el.dataset.iso || '').trim(); if (!iso) continue; const d = new Date(iso); if (Number.isNaN(d.getTime())) continue; // Save original as tooltip el.title = iso; // Format in user's locale/timezone el.textContent = new Intl.DateTimeFormat(undefined, { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' }).format(d); } })(); </script> </body> </html> Loading
meta.php +43 −12 Original line number Diff line number Diff line Loading @@ -28,10 +28,14 @@ $collection = $db->secrets; function utcToIso(?UTCDateTime $dt): ?string { if (!$dt) return null; // Mongo UTCDateTime -> DateTimeImmutable $d = $dt->toDateTime(); $d = DateTimeImmutable::createFromMutable($d)->setTimezone(new DateTimeZone('UTC')); return $d->format('Y-m-d H:i:s') . ' UTC'; // Mongo UTCDateTime -> DateTimeImmutable (UTC) $d = DateTimeImmutable::createFromMutable( $dt->toDateTime() )->setTimezone(new DateTimeZone('UTC')); // TRUE ISO 8601 return $d->format('Y-m-d\TH:i:s\Z'); } function nowUtc(): DateTimeImmutable Loading Loading @@ -175,12 +179,16 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire <div class="row g-3"> <div class="col-12 col-md-6"> <div class="text-secondary small">Izveidots</div> <div><?= htmlspecialchars($createdAtIso ?? '-') ?></div> <div> <time class="js-local-time" data-iso="<?= htmlspecialchars($createdAtIso ?? '') ?>"> <?= htmlspecialchars($createdAtIso ?? '-') ?> </time> </div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Derīgs līdz</div> <div> <?= htmlspecialchars($expiresAtIso ?? '-') ?> <time class="js-local-time" data-iso="<?= htmlspecialchars($expiresAtIso ?? '') ?>"><?= htmlspecialchars($expiresAtIso ?? '-') ?></time> <?php if ($remainingText): ?> <span class="text-secondary small">(aptuveni <?= htmlspecialchars($remainingText) ?> atlicis)</span> <?php endif; ?> Loading @@ -189,11 +197,11 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire <div class="col-12 col-md-6"> <div class="text-secondary small">Izsniegts pirmo reizi</div> <div><?= htmlspecialchars($firstRetrievedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($firstRetrievedAtIso ?? '') ?>"><?= htmlspecialchars($firstRetrievedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Izsniegts pēdējo reizi</div> <div><?= htmlspecialchars($lastRetrievedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($lastRetrievedAtIso ?? '') ?>"><?= htmlspecialchars($lastRetrievedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> Loading @@ -202,7 +210,7 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Parādīts / izdzēsts</div> <div><?= htmlspecialchars($displayedAtIso ?? '-') ?></div> <div><time class="js-local-time" data-iso="<?= htmlspecialchars($displayedAtIso ?? '') ?>"><?= htmlspecialchars($displayedAtIso ?? '-') ?></time></div> </div> <div class="col-12 col-md-6"> <div class="text-secondary small">Saite</div> Loading @@ -227,9 +235,32 @@ if ($found && !$deleted && !$expired && isset($doc['expiresAt']) && $doc['expire </div> <div class="footer py-3"> <div class="container text-secondary small"> Visi laiki ir UTC. </div> </div> <script> (() => { const els = document.querySelectorAll('time.js-local-time[data-iso]'); for (const el of els) { const iso = (el.dataset.iso || '').trim(); if (!iso) continue; const d = new Date(iso); if (Number.isNaN(d.getTime())) continue; // Save original as tooltip el.title = iso; // Format in user's locale/timezone el.textContent = new Intl.DateTimeFormat(undefined, { year: 'numeric', month: '2-digit', day: '2-digit', hour: '2-digit', minute: '2-digit', second: '2-digit', timeZoneName: 'short' }).format(d); } })(); </script> </body> </html>