[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [Halb-OT] Calendar Events



Hallo,

Marc Deichmann schrieb:

Moin!

Hat jemand schon mal Calendar Events (ics, vcs) von Hand erstellt? Google und apt-cache (eine mikrige perl library) search finden da nix vernünftiges. Ich habe auch versucht mir aus einer exportierten Datei von Korganizer alles nötige zusammenzustellen, will aber auch nicht wirklich. Zumindest hat es Korganizer danach nicht geschluckt.

Fall: - Hol dir von einer Webseite Daten
- Mache eine importierbare Datei für Korganizer daraus

habe einmal in php für ein sf Projekt eine solche Funktion geschrieben.
Diese hat aus internen Termindaten einer Newsdatenbank herunterladbare .VCS Dateien erstellt. Wichtig war damals, dass autschlook die auch importieren konnte, daher die "Deppenreturns"..

Vielleicht kannst Du ja damit etwas anfangen.

Grüße,
Christian


------------------8<------------------ fncAppointment-----

function fncAppointment ($newsid) {
   global $strServerPath;
   $strSql  = "select A.AppDtStart, A.AppDtEnd, A.AppLocation";
$strSql .= " ,N.NewsTitle, N.NewsLink, N.NewsText, N.NewsPriority, N.NewsReadableFor"; $strSql .= " ,U.UsrFirstname, U.UsrLastname, U.UsrEmail1, C.CatName, I.InstURL "; $strSql .= " from tbl_Appointment A inner join tbl_News N on A.FK_News_ID = N.PK_News_ID";
   $strSql .= " inner join tbl_User U on A.AppCreatedBy = U.PK_Usr_ID";
   $strSql .= " inner join tbl_Categories C on N.FK_Cat_ID = C.PK_Cat_ID";
$strSql .= " inner join tbl_Institutions I on N.FK_Inst_ID = I.PK_Inst_ID";
   $strSql .= " where A.FK_News_ID = ".$newsid;
   $arrResult = mysql_query($strSql) or die (mysql_errno().fncSqlErr());
   $arrApp = mysql_fetch_array($arrResult);
   if ($arrApp["NewsIsReadableFor"] == 0) {
       $strType = "PUBLIC";
   } else {
       $strType = "PRIVATE";
   }
   $strNewsText = strip_tags(substr($arrApp["NewsText"],0,79));
   $strApp  = "BEGIN:VCALENDAR\r\n";
   $strApp .= "PRODID:-//cNews ".$strMainInst." //-\r\n";
   $strApp .= "VERSION:1.0\r\n";
   $strApp .= "BEGIN:VEVENT\r\n";
$strApp .= "ORGANIZER;CN=\"".$arrApp["UsrFirstname"]." ".$arrApp["UsrLastname"]."\":MAILTO:".$arrApp["UsrEmail1"]."\r\n"; $strApp .= "DTSTART:".date("Ymd", strtotime($arrApp["AppDtStart"]))."T".date("His", strtotime($arrApp["AppDtStart"]))."Z\r\n"; $strApp .= "DTEND:".date("Ymd", strtotime($arrApp["AppDtEnd"]))."T".date("His", strtotime($arrApp["AppDtEnd"]))."Z\r\n";
   $strApp .= "LOCATION:".$arrApp["AppLocation"]."\r\n";
   $strApp .= "CATEGORIES:MEETING ".$arrApp["CatName"]."\r\n";
   $strApp .= "CREATED:".date("Ymd\ZHis", time())."\r\n";
   $strApp .= "URL:".$arrApp["InstURL"]."\r\n";
$strApp .= "DESCRIPTION;ENCODING=QUOTED-PRINTABLE:".str_replace("\r", "", str_replace("\n", "", $strNewsText ))."\r\n"; $strApp .= "SUMMARY;ENCODING=QUOTED-PRINTABLE:".$arrApp["NewsTitle"]."\r\n";
   $strApp .= "PRIORITY:5\r\n";
   $strApp .= "CLASS:".$strType."\r\n";
   $strApp .= "END:VEVENT\r\n";
   $strApp .= "END:VCALENDAR\r\n";
if ($intHandle = fopen($strServerPath."cal/cNewsCal".$newsid.".vcs","w+")) {
       fwrite($intHandle, $strApp);
   }
   return true;
}
------------------>8------------------ fncAppointment-----



Reply to: