diff --git a/pulsecast.php b/pulsecast.php index 2f326ee..b971133 100644 --- a/pulsecast.php +++ b/pulsecast.php @@ -1,12 +1,21 @@ getName(); + $tz_offset = $wp_tz->getOffset(new DateTime('now')) / 3600; // Automatische Status-Aktualisierung beim Seitenladen $this->auto_refresh_status(); @@ -248,6 +260,16 @@ class PulseCast { if (isset($_GET['pulsecast_error'])) { echo '

' . esc_html(urldecode($_GET['pulsecast_error'])) . '

'; } + + // Warnung wenn Zeitzone auf UTC steht + if ($tz_offset == 0) { + ?> +
+

⚠️ PulseCast Zeitzone: Deine WordPress-Zeitzone ist aktuell auf eingestellt.

+

Dadurch werden "Lokale Zeit" und "UTC" als gleich angezeigt. Bitte gehe zu Einstellungen > Allgemein und wähle deine Stadt (z.B. Berlin), damit die Umrechnung korrekt funktioniert.

+
+ PulseCast — Broadcasts
-

Aktuelle Zeit (Server-Zeitzone):

+

Aktuelle Zeit (WordPress-Zeitzone: ):

Aktuelle Zeit (UTC):

API Endpoint:

-

Zeitgeplante Broadcasts werden in UTC an die StatusAPI gesendet.

+

Zeitgeplante Broadcasts werden in UTC an die StatusAPI gesendet, aber hier in deiner Lokalzeit angezeigt.

Einstellungen

@@ -516,7 +538,7 @@ class PulseCast { - +

Beispiel: (in einer Stunde)

@@ -564,11 +586,29 @@ class PulseCast { - + $s): - $local_time = get_date_from_gmt(gmdate('Y-m-d H:i:s', $s['time']), 'Y-m-d H:i:s'); - $utc_time = gmdate('Y-m-d H:i:s', $s['time']); + // --- FIX: EXPLIZITE DATUMSKONVERTIERUNG --- + // Wir nehmen an, dass $s['time'] ein UTC Timestamp ist + + // 1. Lokale Zeit berechnen (UTC Timestamp -> WP Timezone) + try { + $date_local = new DateTime('@' . $s['time']); + $date_local->setTimezone($wp_tz); + $local_time = $date_local->format('Y-m-d H:i:s'); + } catch (Exception $e) { + $local_time = 'Fehler'; + } + + // 2. UTC Zeit berechnen (UTC Timestamp -> UTC) + try { + $date_utc = new DateTime('@' . $s['time']); + $utc_time = $date_utc->format('Y-m-d H:i:s'); + } catch (Exception $e) { + $utc_time = 'Fehler'; + } + $now = time(); $scheduled_time = $s['time']; $time_diff = $now - $scheduled_time;
IDNachrichtSendezeit (Lokal)Sendezeit (UTC)StatusWiederholungAktionen
IDNachrichtEndzeit (Lokal)Sendezeit (UTC)StatusWiederholungAktionen