Page MenuHomePhabricator

ics.php
No OneTemporary

<?php
/**
* DoukWiki DAVCal PlugIn - ICS support server
*/
if(!defined('DOKU_INC')) define('DOKU_INC', dirname(__FILE__).'/../../../');
if (!defined('DOKU_DISABLE_GZIP_OUTPUT')) define('DOKU_DISABLE_GZIP_OUTPUT', 1);
require_once(DOKU_INC.'inc/init.php');
session_write_close(); //close session
$path = explode('/', $_SERVER['REQUEST_URI']);
$icsFile = end($path);
// Load the helper plugin
$hlp = null;
$hlp =& plugin_load('helper', 'davcal');
if(is_null($hlp))
{
die('Error loading helper plugin');
}
if($hlp->getConfig('disable_ics') === 1)
{
die("ICS synchronisation is disabled");
}
// Retrieve calendar ID based on private URI
$calid = $hlp->getCalendarForPrivateURL($icsFile);
if($calid === false)
die("No calendar with this name known.");
// Retrieve calendar contents and serve
$stream = $hlp->getCalendarAsICSFeed($calid);
header("Content-Type: text/calendar");
header("Content-Transfer-Encoding: Binary");
header("Content-disposition: attachment; filename=\"calendar.ics\"");
echo $stream;

File Metadata

Mime Type
text/x-php
Expires
Thu, Jan 23, 6:34 PM (1 d, 1 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
914130
Default Alt Text
ics.php (1023 B)

Event Timeline