settings->timezone); $source = \davigil\sources\make( [ 'kind' => \davigil\conf\get()->source->kind, 'data' => \davigil\conf\get()->source->data, ] ); $principal_backend = new \davigil\overwrites\class_principle_backend(); $server = new \Sabre\DAV\Server( [ new \Sabre\CalDAV\Principal\Collection($principal_backend), new \Sabre\CalDAV\CalendarRoot($principal_backend, new \davigil\overwrites\class_caldav_backend($source)), ] ); // $server->setBaseUri('/'); $server->addPlugin( new \Sabre\DAV\Auth\Plugin( \davigil\overwrites\make_auth_backend( $source, [ 'kind' => \davigil\conf\get()->auth->kind, 'data' => \davigil\conf\get()->auth->data, ] ) ) ); /** * this somehow breaks authentication, but seems to be required for calendar discovery */ $server->addPlugin(new \Sabre\DAVACL\Plugin()); $server->addPlugin(new \Sabre\CalDAV\Plugin()); $server->addPlugin(new \Sabre\CalDAV\Subscriptions\Plugin()); $server->addPlugin(new \Sabre\CalDAV\Schedule\Plugin()); $server->addPlugin(new \Sabre\DAV\Sync\Plugin()); $server->addPlugin(new \Sabre\DAV\Sharing\Plugin()); $server->addPlugin(new \Sabre\CalDAV\SharingPlugin()); /** * not required */ $server->addPlugin(new \Sabre\DAV\Browser\Plugin()); $server->start(); } main(); ?>