diff --git a/cis/public/freebusy_lvplan.php b/cis/public/freebusy_lvplan.php index e9773ccde..37de685ab 100755 --- a/cis/public/freebusy_lvplan.php +++ b/cis/public/freebusy_lvplan.php @@ -47,12 +47,12 @@ echo "BEGIN:VCALENDAR\n"; echo "VERSION:2.0\n"; echo "PRODID:-//FHCOMPLETE//EN\n"; echo "METHOD:PUBLISH\n"; +echo "BEGIN:VFREEBUSY\n"; echo 'ORGANIZER;CN=',$bn->vorname,' ',$bn->nachname,':mailto:',$uid,'@',DOMAIN,"\n"; echo 'DTSTAMP;TZID=Europe/Vienna:',date('Ymd', mktime(date('H'),date('i'),date('s'),date('m'),date('d')-5,date('Y'))),'T',date('Hms'),"\n"; echo 'DTSTART;TZID=Europe/Vienna:',date('Ymd', mktime(0,0,0,date('m'),date('d')-5,date('Y'))),"T000000\n"; echo 'DTEND;TZID=Europe/Vienna:',date('Ymd', mktime(0,0,0,date('m'),date('d')+30,date('Y'))),"T000000\n"; echo 'URL:',APP_ROOT,'cis/public/freebusy_lvplan.php/',$uid,"\n"; -echo "BEGIN:VFREEBUSY"; // Stundenplanobjekt erzeugen $stdplan = new wochenplan($type); diff --git a/include/ical.class.php b/include/ical.class.php index 5d71431b1..53fae9dd7 100755 --- a/include/ical.class.php +++ b/include/ical.class.php @@ -104,8 +104,8 @@ class ical extends basis_db $doppelpunktpos = mb_strpos($row, ':'); $row = mb_substr($row, $doppelpunktpos+1); $slashpos = mb_strpos($row, '/'); - $dtstart = mb_substr($row, 0, $slashpos); - $dtend = mb_substr($row, $slashpos+1); + $dtstart = $this->ConvertTimezoneUTC(mb_substr($row, 0, $slashpos)); + $dtend = $this->ConvertTimezoneUTC(mb_substr($row, $slashpos+1)); $this->dtresult[]=array('dtstart'=>trim($dtstart),'dtend'=>trim($dtend)); $dtstart = $this->ConvertTimezoneUTC($dtstart); @@ -115,6 +115,18 @@ class ical extends basis_db $dtend=''; } } + elseif($typ=='LVPLAN') + { + // Freebusy Eintrag mit UTC Timestamps + if(mb_strstr($row,'FREEBUSY:')) + { + $dtstart = $this->ConvertTimezoneUTC(mb_substr($row,9,17)); + $dtend = $this->ConvertTimezoneUTC(mb_substr($row,27)); + $this->result[$idx].='FREEBUSY:'.$dtstart.'/'.$dtend."\n"; + $dtstart=''; + $dtend=''; + } + } elseif(mb_strpos($row,'FREEBUSY')===0) { if(mb_strstr($row,'FREEBUSY:')) @@ -166,7 +178,7 @@ class ical extends basis_db $len = mb_strlen($row); $slashpos = mb_strpos($row, '/'); - $dtstart = mb_substr($row, 0, $len-$slashpos); + $dtstart = mb_substr($row, 0, $len-$slashpos-1); $dtend = mb_substr($row, $slashpos+1); $dtstart = $this->ConvertTimezoneLocal(trim($dtstart)); $dtend = $this->ConvertTimezoneLocal(trim($dtend)); diff --git a/system/checksystem.php b/system/checksystem.php index feefda20f..5fe67ca16 100644 --- a/system/checksystem.php +++ b/system/checksystem.php @@ -2568,7 +2568,7 @@ $tabellen=array( "lehre.tbl_stundenplan" => array("stundenplan_id","unr","mitarbeiter_uid","datum","stunde","ort_kurzbz","gruppe_kurzbz","titel","anmerkung","lehreinheit_id","studiengang_kz","semester","verband","gruppe","fix","updateamum","updatevon","insertamum","insertvon"), "lehre.tbl_stundenplandev" => array("stundenplandev_id","lehreinheit_id","unr","studiengang_kz","semester","verband","gruppe","gruppe_kurzbz","mitarbeiter_uid","ort_kurzbz","datum","stunde","titel","anmerkung","fix","updateamum","updatevon","insertamum","insertvon","ext_id"), "lehre.tbl_vertrag" => array("vertrag_id","person_id","vertragstyp_kurzbz","bezeichnung","betrag","insertamum","insertvon","updateamum","updatevon","ext_id","anmerkung","vertragsdatum"), - "lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateaum","updatevon"), + "lehre.tbl_vertrag_vertragsstatus" => array("vertragsstatus_kurzbz","vertrag_id","uid","datum","ext_id","insertamum","insertvon","updateamum","updatevon"), "lehre.tbl_vertragstyp" => array("vertragstyp_kurzbz","bezeichnung"), "lehre.tbl_vertragsstatus" => array("vertragsstatus_kurzbz","bezeichnung"), "lehre.tbl_zeitfenster" => array("wochentag","stunde","ort_kurzbz","studiengang_kz","gewicht"),