1f69bb449SAndreas Boehler<?php 2f69bb449SAndreas Boehler 3*cb71a62aSAndreas Boehler/** 4*cb71a62aSAndreas Boehler * DoukWiki DAVCal PlugIn - ICS support server 5*cb71a62aSAndreas Boehler */ 6*cb71a62aSAndreas Boehler 7f69bb449SAndreas Boehlerif(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/../../../'); 8f69bb449SAndreas Boehlerif (!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT', 1); 9f69bb449SAndreas Boehlerrequire_once(DOKU_INC.'inc/init.php'); 10f69bb449SAndreas Boehlersession_write_close(); //close session 11f69bb449SAndreas Boehler 12f69bb449SAndreas Boehler$path = explode('/', $_SERVER['REQUEST_URI']); 13f69bb449SAndreas Boehler$icsFile = end($path); 14f69bb449SAndreas Boehler 15*cb71a62aSAndreas Boehler// Load the helper plugin 16f69bb449SAndreas Boehler$hlp = plugin_load('helper', 'davcal'); 17f69bb449SAndreas Boehler 18*cb71a62aSAndreas Boehler// Retrieve calendar ID based on private URI 19f69bb449SAndreas Boehler$calid = $hlp->getCalendarForPrivateURL($icsFile); 20f69bb449SAndreas Boehler 21f69bb449SAndreas Boehlerif($calid === false) 22f69bb449SAndreas Boehler die("No calendar with this name known."); 23f69bb449SAndreas Boehler 24*cb71a62aSAndreas Boehler// Retrieve calendar contents and serve 25f69bb449SAndreas Boehler$stream = $hlp->getCalendarAsICSFeed($calid); 26f69bb449SAndreas Boehlerheader("Content-Type: text/calendar"); 27f69bb449SAndreas Boehlerheader("Content-Transfer-Encoding: Binary"); 28f69bb449SAndreas Boehlerheader("Content-disposition: attachment; filename=\"calendar.ics\""); 29f69bb449SAndreas Boehlerecho $stream;