コード例 #1
0
ファイル: ical_dates.php プロジェクト: bash-t/admidio
$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;