colivo
Goto Top

ics vcs Kalender Import. Fehler bei mehrtägigen Terminen?

Hallo ich möchte mit php import Dateien für Kalendereinträge erzeugen. Die Daten befinden sich in einer .dat datei und werden mit php ausgelesen. Bisher klappt das ganz gut bei eintägigen Terminen sobald ein Termin aber über mehrere Tage eingetragen ist erscheint in Outlook die Meldung: "... Mindestens ein Parameter ungülitg!"

Hier mein Code:

<?php

  $kat = $_GET["kat"];  
  $nr = $_GET["nr"];  
 
  $kat = "data/".$kat.".dat";  
  
  $readfile = file($kat);
  for ($i=0; $i<count($readfile); $i++)
  { 
  	if($i == $nr - 1)
	{
		 $fields = split(";",$readfile[$i]);  
		 
		 $ics .= "BEGIN:VCALENDAR\n";  
		 $ics .= "PRODID:-//Microsoft Corporation//Outlook 11.0 MIMEDIR//EN\n";  
		 $ics .= "METHOD:PUBLISH\n";  
		 $ics .= "VERSION:2.0\n";  
		 $ics .= "BEGIN:VEVENT\n";  
		 $ics .= "DTSTART;VALUE=DATE:".trim($fields[5])."".trim($fields[3])."".trim($fields[4])."\n"; // Y  
		 if($fields[6] == "")  
		 {
		   $ics .= "DTEND;VALUE=DATE:".trim($fields[5])."".trim($fields[3])."".trim($fields[4])."\n";  
		 }
		 else
		 {
		   $ics .= "DTEND;VALUE=DATE:".trim($fields[8])."".trim($fields[6])."".trim($fields[7])."\n";  
		 }	
		
		 if($fields[10] != "")  
		 {
		   $ics .= "LOCATION:".$fields[10]."\n";  
		 }
		 $ics .= "TRANSP:TRANSPARENT\n";  
		 $ics .= "SEQUENCE:0\n";  
		 $ics .= "UID:nummer".trim($fields)."\n";  
	     $ics .= "DTSTAMP:".date(Y)."".date(m)."".date(d)."T".date(H).date(i).date(s)."Z\n";  
		 $ics .= "DESCRIPTION:".$fields[9]."\n";  
		 $ics .= "SUMMARY:".$fields[9]."\n";  
		 $ics .= "PRIORITY:5\n";  
		 $ics .= "X-MICROSOFT-CDO-IMPORTANCE:1\n";  
 		 $ics .= "CLASS:PUBLIC\n";  
		 $ics .= "BEGIN:VALARM\n";  
 		 $ics .= "TRIGGER:-PT15M\n";  
  		 $ics .= "ACTION:DISPLAY\n"; 		  
		 $ics .= "DESCRIPTION:Reminder\n";	   
		 $ics .= "END:VALARM\n";  
		 $ics .= "END:VEVENT\n";  
		 $ics .= "END:VCALENDAR\n";  
	}
  }


header("Content-type: application/octet-stream");  
header("Content-Disposition: attachment; filename=test.ics");  
echo $ics;
?>

Die entsprechenden Einträge für mehrtägige Termine in der exportierten Datei sehen exakt gleich aus wie beim exportieren mit Outlook selbst:

DTSTART;VALUE=DATE:20082009
DTEND;VALUE=DATE:20082109

Hat jemand ne Idee woran da liegen könnte. Oder noch besser ne Übersicht wie man diese ics Dateien genau erzeugt (hab da nichts Gutes gefunden)

Content-Key: 91725

Url: https://administrator.de/contentid/91725

Ausgedruckt am: 28.03.2024 um 15:03 Uhr