diff options
author | Jakob Sack <kde@jakobsack.de> | 2011-07-20 15:53:34 +0200 |
---|---|---|
committer | Jakob Sack <kde@jakobsack.de> | 2011-07-20 15:53:34 +0200 |
commit | bf1ca75710a99a96ba39790e9db79bb0a0f950b4 (patch) | |
tree | a1905c91590944e4558a6d2c5bd856be70a70f0e /files/webdav.php | |
parent | 6230001a3c80c081001c46197cc95403cc73622f (diff) | |
download | nextcloud-server-bf1ca75710a99a96ba39790e9db79bb0a0f950b4.tar.gz nextcloud-server-bf1ca75710a99a96ba39790e9db79bb0a0f950b4.zip |
Integration of SabreDAV
Diffstat (limited to 'files/webdav.php')
-rw-r--r-- | files/webdav.php | 77 |
1 files changed, 45 insertions, 32 deletions
diff --git a/files/webdav.php b/files/webdav.php index ac7a1a5567f..ffcad303879 100644 --- a/files/webdav.php +++ b/files/webdav.php @@ -1,54 +1,67 @@ <?php /** -* ownCloud -* -* @author Frank Karlitschek -* @copyright 2010 Frank Karlitschek karlitschek@kde.org -* -* This library is free software; you can redistribute it and/or -* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE -* License as published by the Free Software Foundation; either -* version 3 of the License, or any later version. -* -* This library 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 along with this library. If not, see <http://www.gnu.org/licenses/>. -* -*/ + * ownCloud + * + * @author Frank Karlitschek + * @author Jakob Sack + * @copyright 2010 Frank Karlitschek karlitschek@kde.org + * @copyright 2011 Jakob Sack kde@jakobsack.de + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE + * License as published by the Free Software Foundation; either + * version 3 of the License, or any later version. + * + * This library 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 along with this library. If not, see <http://www.gnu.org/licenses/>. + * + */ +// Do not load FS ... +$RUNTIME_NOSETUPFS = true; require_once('../lib/base.php'); -require_once('HTTP/WebDAV/Server/Filesystem.php'); - +require_once('Sabre/autoload.php'); +require_once('Sabre/DAV/FS/OwncloudNode.php'); +require_once('Sabre/DAV/FS/OwncloudFile.php'); +require_once('Sabre/DAV/FS/OwncloudDirectory.php'); ini_set('default_charset', 'UTF-8'); #ini_set('error_reporting', ''); @ob_clean(); if(empty($_SERVER['PHP_AUTH_USER']) && empty($_SERVER['REDIRECT_REMOTE_USER'])) { - header('WWW-Authenticate: Basic realm="ownCloud"'); - header('HTTP/1.0 401 Unauthorized'); - die('401 Unauthorized'); + header('WWW-Authenticate: Basic realm="ownCloud"'); + header('HTTP/1.0 401 Unauthorized'); + die('401 Unauthorized'); } $user=$_SERVER['PHP_AUTH_USER']; $passwd=$_SERVER['PHP_AUTH_PW']; + if(OC_USER::login($user,$passwd)){ OC_UTIL::setUpFS(); - $server = new HTTP_WebDAV_Server_Filesystem(); - $server->ServeRequest($CONFIG_DATADIRECTORY); - -}else{ - header('WWW-Authenticate: Basic realm="ownCloud"'); - header('HTTP/1.0 401 Unauthorized'); - die('401 Unauthorized'); -} + + // Make sure there is a directory in your current directory named 'public'. We will be exposing that directory to WebDAV + $publicDir = new OC_Sabre_DAV_FS_OwncloudDirectory(''); + $server = new Sabre_DAV_Server($publicDir); + // We're required to set the base uri, it is recommended to put your webdav server on a root of a domain + $server->setBaseUri($WEBROOT.'/files/webdav.php'); + // And off we go! + $server->exec(); +} +else{ + header('WWW-Authenticate: Basic realm="ownCloud"'); + header('HTTP/1.0 401 Unauthorized'); + die('401 Unauthorized'); +} ?> |