Merge pull request #21817 from owncloud/support-old-carddav-endpoint
Adding pre oc 9.0 CardDAV endpoint for migration of old clientsremotes/origin/users-ajaxloadgroups
commit
33eed35ae4
@ -0,0 +1,69 @@ |
||||
<?php |
||||
/** |
||||
* @author Thomas Müller <thomas.mueller@tmit.eu> |
||||
* |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
// Backends |
||||
use OCA\DAV\CalDAV\CalDavBackend; |
||||
use OCA\DAV\Connector\Sabre\Auth; |
||||
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin; |
||||
use OCA\DAV\Connector\Sabre\MaintenancePlugin; |
||||
use OCA\DAV\Connector\Sabre\Principal; |
||||
use Sabre\CalDAV\CalendarRoot; |
||||
|
||||
$authBackend = new Auth( |
||||
\OC::$server->getSession(), |
||||
\OC::$server->getUserSession(), |
||||
'principals/' |
||||
); |
||||
$principalBackend = new Principal( |
||||
\OC::$server->getUserManager(), |
||||
\OC::$server->getGroupManager(), |
||||
'principals/' |
||||
); |
||||
$db = \OC::$server->getDatabaseConnection(); |
||||
$calDavBackend = new CalDavBackend($db, $principalBackend); |
||||
|
||||
// Root nodes |
||||
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend); |
||||
$principalCollection->disableListing = true; // Disable listing |
||||
|
||||
$addressBookRoot = new CalendarRoot($principalBackend, $calDavBackend); |
||||
$addressBookRoot->disableListing = true; // Disable listing |
||||
|
||||
$nodes = array( |
||||
$principalCollection, |
||||
$addressBookRoot, |
||||
); |
||||
|
||||
// Fire up server |
||||
$server = new \Sabre\DAV\Server($nodes); |
||||
$server->httpRequest->setUrl(\OC::$server->getRequest()->getRequestUri()); |
||||
$server->setBaseUri($baseuri); |
||||
|
||||
// Add plugins |
||||
$server->addPlugin(new MaintenancePlugin()); |
||||
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')); |
||||
$server->addPlugin(new \Sabre\CalDAV\Plugin()); |
||||
$server->addPlugin(new \Sabre\DAVACL\Plugin()); |
||||
$server->addPlugin(new \Sabre\CalDAV\ICSExportPlugin()); |
||||
$server->addPlugin(new ExceptionLoggerPlugin('caldav', \OC::$server->getLogger())); |
||||
|
||||
// And off we go! |
||||
$server->exec(); |
||||
@ -0,0 +1,70 @@ |
||||
<?php |
||||
/** |
||||
* @author Thomas Müller <thomas.mueller@tmit.eu> |
||||
* |
||||
* @copyright Copyright (c) 2016, ownCloud, Inc. |
||||
* @license AGPL-3.0 |
||||
* |
||||
* This code is free software: you can redistribute it and/or modify |
||||
* it under the terms of the GNU Affero General Public License, version 3, |
||||
* as published by the Free Software Foundation. |
||||
* |
||||
* This program is distributed in the hope that it will be useful, |
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
||||
* GNU Affero General Public License for more details. |
||||
* |
||||
* You should have received a copy of the GNU Affero General Public License, version 3, |
||||
* along with this program. If not, see <http://www.gnu.org/licenses/> |
||||
* |
||||
*/ |
||||
|
||||
// Backends |
||||
use OCA\DAV\CardDAV\AddressBookRoot; |
||||
use OCA\DAV\CardDAV\CardDavBackend; |
||||
use OCA\DAV\Connector\Sabre\AppEnabledPlugin; |
||||
use OCA\DAV\Connector\Sabre\Auth; |
||||
use OCA\DAV\Connector\Sabre\ExceptionLoggerPlugin; |
||||
use OCA\DAV\Connector\Sabre\MaintenancePlugin; |
||||
use OCA\DAV\Connector\Sabre\Principal; |
||||
use Sabre\CardDAV\Plugin; |
||||
|
||||
$authBackend = new Auth( |
||||
\OC::$server->getSession(), |
||||
\OC::$server->getUserSession(), |
||||
'principals/' |
||||
); |
||||
$principalBackend = new Principal( |
||||
\OC::$server->getUserManager(), |
||||
\OC::$server->getGroupManager(), |
||||
'principals/' |
||||
); |
||||
$db = \OC::$server->getDatabaseConnection(); |
||||
$cardDavBackend = new CardDavBackend($db, $principalBackend); |
||||
|
||||
// Root nodes |
||||
$principalCollection = new \Sabre\CalDAV\Principal\Collection($principalBackend); |
||||
$principalCollection->disableListing = true; // Disable listing |
||||
|
||||
$addressBookRoot = new AddressBookRoot($principalBackend, $cardDavBackend); |
||||
$addressBookRoot->disableListing = true; // Disable listing |
||||
|
||||
$nodes = array( |
||||
$principalCollection, |
||||
$addressBookRoot, |
||||
); |
||||
|
||||
// Fire up server |
||||
$server = new \Sabre\DAV\Server($nodes); |
||||
$server->httpRequest->setUrl(\OC::$server->getRequest()->getRequestUri()); |
||||
$server->setBaseUri($baseuri); |
||||
// Add plugins |
||||
$server->addPlugin(new MaintenancePlugin()); |
||||
$server->addPlugin(new \Sabre\DAV\Auth\Plugin($authBackend, 'ownCloud')); |
||||
$server->addPlugin(new Plugin()); |
||||
$server->addPlugin(new \Sabre\DAVACL\Plugin()); |
||||
$server->addPlugin(new \Sabre\CardDAV\VCFExportPlugin()); |
||||
$server->addPlugin(new ExceptionLoggerPlugin('carddav', \OC::$server->getLogger())); |
||||
|
||||
// And off we go! |
||||
$server->exec(); |
||||
Loading…
Reference in new issue