From 2d04a4a6e4280e238be4a65823128692aeecd146 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Andreas=20=C3=96sterreicher?= Date: Thu, 17 Jan 2013 11:36:19 +0000 Subject: [PATCH] =?UTF-8?q?-=20Zeitzonenumrechnung=20f=C3=BCr=20Google=20u?= =?UTF-8?q?nd=20Webmail=20hinzugef=C3=BCgt=20-=20Englische=20Lokalisierung?= =?UTF-8?q?=20hinzugef=C3=BCgt?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cis/public/coodle.php | 4 +-- include/ical.class.php | 40 +++++++++++++++++++-- locale/de-AT/coodle.php | 4 +-- locale/en-US/coodle.php | 79 ++++++++++++++++++++--------------------- 4 files changed, 81 insertions(+), 46 deletions(-) diff --git a/cis/public/coodle.php b/cis/public/coodle.php index 554b93a80..98675d0da 100755 --- a/cis/public/coodle.php +++ b/cis/public/coodle.php @@ -353,10 +353,10 @@ echo ' if($ressource->uid != '') { $benutzer->load($ressource->uid); - $name =($benutzer->titelpost!='')?$benutzer->titelpost.' ':''; + $name =($benutzer->titelpre!='')?$benutzer->titelpre.' ':''; $name.= $benutzer->vorname.' '; $name.=$benutzer->nachname.' '; - $name.=$benutzer->titelpre; + $name.=$benutzer->titelpost; } // wenn uid nicht gesetzt ist nimm zugangscode diff --git a/include/ical.class.php b/include/ical.class.php index d8e20af2e..2e51ec4ba 100755 --- a/include/ical.class.php +++ b/include/ical.class.php @@ -71,13 +71,26 @@ class ical extends basis_db { if($typ=='Google') { + // VEVENT mit UTC Timestamps if(mb_strstr($row,'DTSTART:')) { - $dtstart = mb_substr($row,8,-1); + $dtstart = $this->ConvertTimezone(mb_substr($row,8,-1)); } elseif(mb_strstr($row,'DTEND:')) { - $dtend = mb_substr($row,6,-1); + $dtend = $this->ConvertTimezone(mb_substr($row,6)); + $this->result[$idx].='FREEBUSY:'.$dtstart.'/'.$dtend."\n"; + $dtstart=''; + $dtend=''; + } + } + elseif($typ=='Webmail') + { + // Freebusy Eintrag mit UTC Timestamps + if(mb_strstr($row,'FREEBUSY:')) + { + $dtstart = $this->ConvertTimezone(mb_substr($row,9,16)); + $dtend = $this->ConvertTimezone(mb_substr($row,26)); $this->result[$idx].='FREEBUSY:'.$dtstart.'/'.$dtend."\n"; $dtstart=''; $dtend=''; @@ -127,5 +140,28 @@ class ical extends basis_db } } } + + /** + * + * Konvertiert die Zeitzone eines XMLRPC (Compact) datetimes von UTC auf Europe/Vienna + * @param $datetime (zB 20080701T093807Z) + */ + function ConvertTimezone($datetime) + { + if(mb_strpos($datetime,'Z')!==0) + { + //UTC + $timezone = new DateTimeZone('UTC'); + } + else + { + //Default + $timezone = new DateTimeZone('Europe/Vienna'); + } + + $date = new DateTime($datetime, $timezone); + $date->setTimezone(new DateTimeZone('Europe/Vienna')); + return $date->format('Ymd\THis'); + } } ?> diff --git a/locale/de-AT/coodle.php b/locale/de-AT/coodle.php index 16de3fffc..1fb8d1868 100755 --- a/locale/de-AT/coodle.php +++ b/locale/de-AT/coodle.php @@ -19,7 +19,7 @@ $this->phrasen['coodle/termine']='Termine verwalten'; $this->phrasen['coodle/dragEvent']='Termin'; $this->phrasen['coodle/terminZiehenBeschreibung']='Ziehen Sie den Termin an die gewünschte Position um Terminvorschläge zu setzen'; $this->phrasen['coodle/ressourcenBeschreibung']='Hier können Sie Räume und Personen zur Umfrage hinzufügen.

Tippen sie dazu den Namen in das Textfeld und wählen Sie den entsprechenden Eintrag aus.'; -$this->phrasen['coodle/ressourcen']='Ressourcen'; +$this->phrasen['coodle/ressourcen']='Ressourcen / Teilnehmer'; $this->phrasen['coodle/weiterZurTerminauswahl']='Weiter zur Terminauswahl'; $this->phrasen['coodle/ressourceEntfernen']='Ressource entfernen'; $this->phrasen['coodle/umfrageStarten']='Umfrage starten'; @@ -47,7 +47,7 @@ $this->phrasen['coodle/einladungNeuVerschicken']='Einladungen neu verschicken'; $this->phrasen['coodle/umfrageAbgeschlossen']='Die Umfrage ist abgeschlossen'; $this->phrasen['coodle/loeschen']='Umfrage stornieren'; $this->phrasen['coodle/zurUmfrage']='Zur Umfrage'; -$this->phrasen['coodle/ressource']='Ressource'; +$this->phrasen['coodle/ressource']='Ressource / Teilnehmer'; $this->phrasen['coodle/raumBelegt']='Der Raum %s kann nicht reserviert werden, da er belegt ist!'; $this->phrasen['coodle/laufendeUmfragen']='Laufende Umfragen'; $this->phrasen['coodle/beendeteUmfragen']='Beendete Umfragen'; diff --git a/locale/en-US/coodle.php b/locale/en-US/coodle.php index 227f5a127..d8dba30dc 100755 --- a/locale/en-US/coodle.php +++ b/locale/en-US/coodle.php @@ -2,61 +2,60 @@ $this->phrasen['coodle/coodle']='Coodle'; $this->phrasen['coodle/titel']='Title'; $this->phrasen['coodle/beschreibung']='Description'; -$this->phrasen['coodle/dauer']='Termindauer'; +$this->phrasen['coodle/dauer']='Duration'; $this->phrasen['coodle/dauerminuten']='Minutes'; -$this->phrasen['coodle/endedatum']='Umfrageende'; -$this->phrasen['coodle/neuerEintrag']='Neue Umfrage'; -$this->phrasen['coodle/bearbeiten']='Umfrage editieren'; +$this->phrasen['coodle/endedatum']='Poll end'; +$this->phrasen['coodle/neuerEintrag']='New poll'; +$this->phrasen['coodle/bearbeiten']='Edit poll'; $this->phrasen['coodle/uebersicht']='Coodle - Overview'; -$this->phrasen['coodle/umfrageKonnteNichtGeloeschtWerden']='Umfrage konnte nicht gelöscht werden'; -$this->phrasen['coodle/umfrageNichtGeladen']='Umfrage konnte nicht geladen werden'; +$this->phrasen['coodle/umfrageKonnteNichtGeloeschtWerden']='Poll could not be deleted'; +$this->phrasen['coodle/umfrageNichtGeladen']='Poll could not be loaded'; $this->phrasen['coodle/coodleId']='Coodle_id'; $this->phrasen['coodle/letzterStatus']='Status'; $this->phrasen['coodle/ersteller']='Creator'; $this->phrasen['coodle/aktion']='Action'; -$this->phrasen['coodle/neueUmfrage']='Neue Umfrage anlegen'; -$this->phrasen['coodle/termine']='Termine verwalten'; -$this->phrasen['coodle/dragEvent']='Termin'; -$this->phrasen['coodle/terminZiehenBeschreibung']='Ziehen Sie den Termin an die gewünschte Position um Terminvorschläge zu setzen'; -$this->phrasen['coodle/ressourcenBeschreibung']='Hier können Sie Räume und Personen zur Umfrage hinzufügen.

Tippen sie dazu den Namen in das Textfeld und wählen Sie den entsprechenden Eintrag aus.'; +$this->phrasen['coodle/neueUmfrage']='Create a new poll'; +$this->phrasen['coodle/termine']='Manage appointments'; +$this->phrasen['coodle/dragEvent']='Appointment'; +$this->phrasen['coodle/terminZiehenBeschreibung']='Drag the appointment to the date and time you would like to suggest it take place'; +$this->phrasen['coodle/ressourcenBeschreibung']='You can add rooms and people to the poll here.
Simply type the name in the textbox and select the appropriate entry.'; $this->phrasen['coodle/ressourcen']='Ressources'; -$this->phrasen['coodle/weiterZurTerminauswahl']='Weiter zur Terminauswahl'; +$this->phrasen['coodle/weiterZurTerminauswahl']='Continue to appointment selection'; $this->phrasen['coodle/ressourceEntfernen']='Delete Ressource'; -$this->phrasen['coodle/umfrageStarten']='Umfrage starten'; -$this->phrasen['coodle/startBeschreibung']='Klicken Sie hier um die Teilnehmer zu Informieren und die Umfrage zu starten'; -$this->phrasen['coodle/keineTermineVorhanden']='Es sind noch keine Termine für diese Umfrage vorhanden'; -$this->phrasen['coodle/keineRessourcenVorhanden']='Es sind noch keine Teilnehmer zugeordnet'; -$this->phrasen['coodle/mailVersandtAn']='Mail wurde erfolgreich an %s versandt'; -$this->phrasen['coodle/erfolgreichGestartet']='Die Umfrage wurde erfolgreich gestartet'; -$this->phrasen['coodle/zurueckZurUebersicht']='Zurück zur Übersicht'; +$this->phrasen['coodle/umfrageStarten']='Start poll'; +$this->phrasen['coodle/startBeschreibung']='Click here to inform the participants and start the poll.'; +$this->phrasen['coodle/keineTermineVorhanden']='There are no appointments available'; +$this->phrasen['coodle/keineRessourcenVorhanden']='There are no attendees available'; +$this->phrasen['coodle/mailVersandtAn']='An email has been successfully sent to %s'; +$this->phrasen['coodle/erfolgreichGestartet']='The poll has been successfully started.'; +$this->phrasen['coodle/zurueckZurUebersicht']='Return to overview'; $this->phrasen['coodle/externePersonhinzu']='Add external Person'; $this->phrasen['coodle/Ressourcenhinzu']='Add Ressource'; $this->phrasen['coodle/name']='Name'; $this->phrasen['coodle/email']='E-Mail'; -$this->phrasen['coodle/externeBeschreibung']='Tragen Sie den Namen und die E-Mail Adresse der Person ein, die Sie zur Umfrage hinzufügen möchten.'; +$this->phrasen['coodle/externeBeschreibung']='Enter the name and email address of the person you would like to add to the poll.'; $this->phrasen['coodle/externenHinzufuegen']='Add'; -$this->phrasen['coodle/ZurueckzumBearbeiten']='<< Zurück zum Bearbeiten'; -$this->phrasen['coodle/umfrageNichtGueltig']='Umfrage ist nicht mehr gültig'; -$this->phrasen['coodle/keineBerechtigung']='Sie besitzen keine Berechtigung für diese Umfrage'; -$this->phrasen['coodle/raumErfolgreichReserviert']= 'Raum %s wurde erfolgreich reserviert'; -$this->phrasen['coodle/keineOderMehrereRäume']='Keine oder mehrere Räume eingetragen'; -$this->phrasen['coodle/terminauswahl']='Coodle Terminauswahl'; +$this->phrasen['coodle/ZurueckzumBearbeiten']='<< Return to edit screen'; +$this->phrasen['coodle/umfrageNichtGueltig']='Poll is no longer valid.'; +$this->phrasen['coodle/keineBerechtigung']='You do not have access rights for this poll.'; +$this->phrasen['coodle/raumErfolgreichReserviert']= 'Room %s has been successfully reserved.'; +$this->phrasen['coodle/keineOderMehrereRäume']='No room or multiple rooms have been entered.'; +$this->phrasen['coodle/terminauswahl']='Coodle appointment selection'; $this->phrasen['coodle/erstelltVon']='Created from %s (%s days ago)'; -$this->phrasen['coodle/zurueckZurUebersicht']='Zurück zur Übersicht'; -$this->phrasen['coodle/einladungNeuVerschicken']='Einladungen neu verschicken'; -$this->phrasen['coodle/umfrageAbgeschlossen']='Die Umfrage ist abgeschlossen'; -$this->phrasen['coodle/loeschen']='Umfrage stornieren'; -$this->phrasen['coodle/zurUmfrage']='Zur Umfrage'; +$this->phrasen['coodle/einladungNeuVerschicken']='Send invitations again'; +$this->phrasen['coodle/umfrageAbgeschlossen']='The poll is closed'; +$this->phrasen['coodle/loeschen']='Cancel poll'; +$this->phrasen['coodle/zurUmfrage']='To the poll'; $this->phrasen['coodle/ressource']='Ressource'; -$this->phrasen['coodle/raumBelegt']='Der Raum %s kann nicht reserviert werden, da er belegt ist!'; -$this->phrasen['coodle/laufendeUmfragen']='Laufende Umfragen'; -$this->phrasen['coodle/beendeteUmfragen']='Beendete Umfragen'; -$this->phrasen['coodle/ReservierungNichtMoeglich']='Bitte beachten Sie, dass Raumreservierungen nach dem %s noch nicht möglich sind.'; -$this->phrasen['coodle/raumNichtReserviert']='Achtung: Ihr Raum wurde nicht reserviert, da Raumreservierungen nach dem %s derzeit noch nicht möglich sind.'; -$this->phrasen['coodle/auswahlEndtermin']='Auswahl des Endtermins'; -$this->phrasen['coodle/auswahlHinweis']='Durch diese Auswahl wird der endgültige Termin ausgewählt und die Umfrage beendet. Dieser Vorgang kann nicht rückgängig gemacht werden.'; +$this->phrasen['coodle/raumBelegt']='The room %s can not be reserved because it is in use'; +$this->phrasen['coodle/laufendeUmfragen']='Current polls'; +$this->phrasen['coodle/beendeteUmfragen']='Closed polls'; +$this->phrasen['coodle/ReservierungNichtMoeglich']='Please note that it is not yet possible to reserve rooms for dates after %s'; +$this->phrasen['coodle/raumNichtReserviert']='NOTICE: Your room has not been reserved because it is not yet possible to reserve rooms for dates after %s.'; +$this->phrasen['coodle/auswahlEndtermin']='Select final date'; +$this->phrasen['coodle/auswahlHinweis']='Once you have made this selection, the final date for the appointment will be set and the poll will be closed. This can not be undone.'; $this->phrasen['coodle/keineAuswahl']='No Item selected'; -$this->phrasen['coodle/umfrageWurdeBereitsGestartet']='Umfrage wurde bereits gestartet'; -$this->phrasen['coodle/umfrageNochNichtGestartet']='Umfrage wurde noch nicht gestartet'; +$this->phrasen['coodle/umfrageWurdeBereitsGestartet']='Poll has already been started.'; +$this->phrasen['coodle/umfrageNochNichtGestartet']='Poll has not yet been started.'; ?>