WBCE CMS Forum

WBCE CMS – Way Better Content Editing.

Du bist nicht angemeldet.

#1 20.11.2021 12:29:35

wisi01
Mitglied

Zeitzone (Timezone) im Modul Calendar Sync

Hallo @all!
Ich muss mich schon wieder mit einem kleinen Problemchen an euch wenden.
Ich habe das Modul Calendar Sync installiert damit die Mitglieder von unserem kleinen Verein die Termine direkt in ihren privaten Kalender übernehmen können. Wenn ich nun einen Termin erstelle und danach die ics-Datei runterlade wird diese auch sofort in Outlook und/oder Thunderbird übernommen. Allerdings stimmt die Zeitzone nicht. Der Eintrag in der ics-Datei bei DTSTART sowie bei DTEND gilt vermutlich für UTC.

Soweit ich das sehe dürfte das Problem lediglich an der Zeitzone liegen. Die Webseite speichert den Termin z.B. mit 18:00 Uhr (das ist allerdings UTC+1 – wie in der Grundeinstellung eingestellt). Das Modul exportiert den Termin mit 18:00 Uhr – hier allerdings als UTC. Der Computer (Outlook/Thunderbird/etc) importiert den Termin als UTC und rechnet die Differenz (also +1) dazu, weil er ja auf UTC+1 eingestellt ist. Der Termin erscheint also im Kalender um 19:00 Uhr sad
Ich vermute mal, dass hier nur die Datei ical.php ein wenig abgeändert werden muss – allerdings verstehe ich da leider zu wenig von php bzw. den Zusammenhängen in dem Modul.
Hat von euch jemand einen Rat?

Vielen Dank schon mal im Voraus!
LG wisi

Offline

#2 20.11.2021 16:34:51

Slugger
Mitglied

Re: Zeitzone (Timezone) im Modul Calendar Sync

Um das Thema ging es schonmal.

Hast du schon diesen gelesen?

https://forum.wbce.org/viewtopic.php?id=4576


Hoster: ALL-INKL *** Grundsätzliche WBCE Konfig ***
WBCE: 1.5.4 • BE: 2.1.0 • PHP: 8.1.16 * 1. Projekt: FE: Simple responsive • BE: Argos * 2. Projekt: FE: hortal • BE: Argos * 3. Projekt: FE: WBCEZon • BE: Argos * 4. Projekt: FE: WBCETik • BE: Argos
Status Projekt 1-4:  OK

Online

#3 20.11.2021 17:17:52

wisi01
Mitglied

Re: Zeitzone (Timezone) im Modul Calendar Sync

Hallo Slugger,

Danke für den Link - allerdings hab ich das bereits gelesen und soweit ich das verstanden habe, geht es dort ja um den Timestamp innerhalb von WBCE - also direkt im Core...
Soweit ich das mit meinem bescheidenen Kenntnissen beurteilen kann funktioniert die Timezone innerhalb von WBCE ja auch - lediglich beim Modul Calender Sync wird die UTC+1 Zeit dann in eine UTC-Zeit umgewandelt. Beim Import des betreffenden Termins wird natürlich die am PC eingestellte Zeit dazugerechnet - also wird aus der ursprünglichen UTC+1 jetzt dann UTC+1 +1 (= UTC+2)
Ich habe inzwischen eine bekannte Suchmaschine durchlöchert und dabei einiges dazugelernt... wink
In der ics-Datei wird der Termin mit "DTSTART: 20211224T180000Z" angegeben. Soweit ich in Erfahrung bringen konnte wird durch das "Z" am Ende die Timezone UTC angesprochen. Entfernt man dieses "Z" dann wird die Lokalzeit verwendet.  Ichhabe dazu jetzt grad mal die ersten Versuche gemacht und die Termin werden tatsächlich dann so wie in der .ics-Datei angeführt übernommen. Konkret habe ich in der Datei ical.php bei allen 3 Zeitangaben (DTSTART, DTEND, DTSTAMP - alle ab Zeile 51)  das "Z" hinten rausgenommen. Also:

$DTSTART = date('Ymd', strtotime($DTSTART)) . 'T' . gmdate('His', strtotime($DTSTART_TIME)) . 'Z';
ändern zu: 
$DTSTART = date('Ymd', strtotime($DTSTART)) . 'T' . gmdate('His', strtotime($DTSTART_TIME));

Somit lautet der Eintrag in der .ics-Datei dann: "DTSTART: 20211224T180000" und wird einfach als Lokale Zeit in den Kalender übernommen...

Bin mir nicht sicher ob das der richtige Weg ist - aber bei mir funktioniert es jedenfalls erst mal.. roll

LG Wisi

Offline

Fußzeile des Forums

up