$parameter['date_to'] = date('Y-m-d', time() + $gPreferences['dates_ical_days_future'] * 86400); // read events for output $datesResult = $dates->getDataset(); //Headline für Dateinamen if ($dates->getCatId() > 0) { $calendar = new TableCategory($gDb, $dates->getCatId()); $getHeadline .= '_' . $calendar->getValue('cat_name'); } $date = new TableDate($gDb); $iCal = $date->getIcalHeader(); if ($datesResult['numResults'] > 0) { $date = new TableDate($gDb); foreach ($datesResult['recordset'] as $row) { $date->clear(); $date->setArray($row); $iCal .= $date->getIcalVEvent($_SERVER['HTTP_HOST']); } } $iCal .= $date->getIcalFooter(); if ($parameter['mode'] == 2) { // for IE the filename must have special chars in hexadecimal if (isset($_SERVER['HTTP_USER_AGENT']) && preg_match('/MSIE/', $_SERVER['HTTP_USER_AGENT'])) { $getHeadline = urlencode($getHeadline); } header('Content-Type: text/calendar; charset=utf-8'); header('Content-Disposition: attachment; filename="' . $getHeadline . '.ics"'); // necessary for IE, because without it the download with SSL has problems header('Cache-Control: private'); header('Pragma: public'); } echo $iCal;