xref: /plugin/davcal/ics.php (revision cb71a62a32c9da24e9fd44e8cf1e3b9946e1dec2)
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;