getPdo(); // get raw PDO from Laravel // setup the backends $authBackend = new LaravelSabreAuthBackend(); $principalBackend = new LaravelSabrePrincipalBackend(); $calendarBackend = new CalDAVPDO($pdo); $cardBackend = new CardDAVPDO($pdo); $nodes = [ new PrincipalCollection($principalBackend), new CalendarRoot($principalBackend, $calendarBackend), new AddressBookRoot($principalBackend, $cardBackend) ]; $server = new DAV\Server($nodes); $server->setBaseUri('/dav/'); $server->addPlugin(new AuthPlugin($authBackend, 'Kithkin DAV')); $server->addPlugin(new ACLPlugin()); $server->addPlugin(new CalDavPlugin()); $server->addPlugin(new CardDavPlugin()); $server->addPlugin(new SubscriptionsPlugin()); $server->on('beforeMethod', function () { \Log::info('SabreDAV beforeMethod triggered'); }); $server->exec(); exit; } }