Working remote.php with webdav and caldav

This commit is contained in:
Bart Visscher 2012-05-06 00:12:51 +02:00
parent c996600786
commit f69f764e8b
4 changed files with 11 additions and 6 deletions

View File

@ -19,5 +19,6 @@ RewriteRule ^.well-known/carddav /remote/carddav.php [R]
RewriteRule ^.well-known/caldav /remote/caldav.php [R] RewriteRule ^.well-known/caldav /remote/caldav.php [R]
RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L] RewriteRule ^apps/([^/]*)/(.*\.(css|php))$ index.php?app=$1&getfile=$2 [QSA,L]
RewriteRule ^remote/(.*) remote.php [QSA,L]
</IfModule> </IfModule>
Options -Indexes Options -Indexes

View File

@ -215,7 +215,7 @@ class Sabre_DAV_Server {
$DOM->appendChild($error); $DOM->appendChild($error);
$error->appendChild($DOM->createElement('s:exception',get_class($e))); $error->appendChild($DOM->createElement('s:exception',get_class($e)));
$error->appendChild($DOM->createElement('s:message',$e->getMessage())); $error->appendChild($DOM->createElement('s:message',htmlentities($e->getMessage())));
if ($this->debugExceptions) { if ($this->debugExceptions) {
$error->appendChild($DOM->createElement('s:file',$e->getFile())); $error->appendChild($DOM->createElement('s:file',$e->getFile()));
$error->appendChild($DOM->createElement('s:line',$e->getLine())); $error->appendChild($DOM->createElement('s:line',$e->getLine()));

View File

@ -37,7 +37,7 @@ $publicDir = new OC_Connector_Sabre_Directory('');
// Fire up server // Fire up server
$server = new Sabre_DAV_Server($publicDir); $server = new Sabre_DAV_Server($publicDir);
$server->setBaseUri(OC::$WEBROOT.'/remote/webdav.php'); $server->setBaseUri($baseuri);
// Load plugins // Load plugins
$server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud')); $server->addPlugin(new Sabre_DAV_Auth_Plugin($authBackend,'ownCloud'));

View File

@ -2,11 +2,15 @@
$RUNTIME_NOSETUPFS = true; $RUNTIME_NOSETUPFS = true;
//$RUNTIME_NOAPPS = TRUE; //$RUNTIME_NOAPPS = TRUE;
require_once('lib/base.php'); require_once('lib/base.php');
$file = OCP\CONFIG::getAppValue('core', $_GET['service']); $path_info = $_SERVER['PATH_INFO'];
if (!$pos = strpos($path_info, '/', 1)) {
$pos = strlen($path_info);
}
$service=substr($path_info, 1, $pos-1);
$file = OCP\CONFIG::getAppValue('core', $service);
if(is_null($file)){ if(is_null($file)){
header('HTTP/1.0 404 Not Found'); header('HTTP/1.0 404 Not Found');
exit; exit;
} }
$baseuri = OC::$WEBROOT . '/remote.php?service=' . $_GET['service'] . '&amp;p='; $baseuri = '/remote.php/'.$service.'/';
parse_str($_GET['p'], $_GET); require_once(OC::$APPSROOT . $file);
require_once(OC::$APPSROOT . $file);