2010-03-10 15:03:40 +03:00
|
|
|
<?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 Lesser General Public
|
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
2010-03-16 10:48:36 +03:00
|
|
|
require_once('../inc/lib_base.php');
|
2010-04-24 14:40:20 +04:00
|
|
|
oc_require_once('HTTP/WebDAV/Server/Filesystem.php');
|
2010-03-10 15:03:40 +03:00
|
|
|
|
|
|
|
|
|
|
|
ini_set('default_charset', 'UTF-8');
|
|
|
|
#ini_set('error_reporting', '');
|
2010-03-31 00:15:45 +04:00
|
|
|
ob_clean();
|
2010-03-10 15:03:40 +03:00
|
|
|
|
|
|
|
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');
|
|
|
|
}
|
|
|
|
|
|
|
|
$user=$_SERVER['PHP_AUTH_USER'];
|
|
|
|
$passwd=$_SERVER['PHP_AUTH_PW'];
|
2010-04-24 15:08:18 +04:00
|
|
|
if(OC_USER::login($user,$passwd)){
|
2010-05-11 22:35:29 +04:00
|
|
|
$CONFIG_DATADIRECTORY=$CONFIG_DATADIRECTORY_ROOT.'/'.$user;
|
2010-04-24 15:08:18 +04:00
|
|
|
if(!is_dir($CONFIG_DATADIRECTORY)){
|
|
|
|
mkdir($CONFIG_DATADIRECTORY);
|
|
|
|
}
|
2010-05-08 00:50:59 +04:00
|
|
|
$rootStorage=new OC_FILESTORAGE_LOCAL(array('datadir'=>$CONFIG_DATADIRECTORY));
|
2010-05-11 22:35:29 +04:00
|
|
|
if($CONFIG_ENABLEBACKUP){
|
|
|
|
if(!is_dir($CONFIG_BACKUPDIRECTORY)){
|
|
|
|
mkdir($CONFIG_BACKUPDIRECTORY);
|
|
|
|
}
|
|
|
|
if(!is_dir($CONFIG_BACKUPDIRECTORY.'/'.$user)){
|
|
|
|
mkdir($CONFIG_BACKUPDIRECTORY.'/'.$user);
|
|
|
|
}
|
|
|
|
$backupStorage=new OC_FILESTORAGE_LOCAL(array('datadir'=>$CONFIG_BACKUPDIRECTORY.'/'.$user));
|
|
|
|
$backup=new OC_FILEOBSERVER_BACKUP(array('storage'=>$backupStorage));
|
|
|
|
$rootStorage->addObserver($backup);
|
|
|
|
}
|
2010-05-08 00:50:59 +04:00
|
|
|
OC_FILESYSTEM::mount($rootStorage,'/');
|
2010-04-24 15:08:18 +04:00
|
|
|
$server = new HTTP_WebDAV_Server_Filesystem();
|
|
|
|
$server->db_name = $CONFIG_DBNAME;
|
|
|
|
$server->ServeRequest($CONFIG_DATADIRECTORY);
|
|
|
|
|
2010-03-10 15:03:40 +03:00
|
|
|
}else{
|
|
|
|
header('WWW-Authenticate: Basic realm="ownCloud"');
|
|
|
|
header('HTTP/1.0 401 Unauthorized');
|
|
|
|
die('401 Unauthorized');
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
2010-05-11 22:35:29 +04:00
|
|
|
?>
|