Initial xentral_oss_20.3.c9ffacf
This commit is contained in:
@@ -0,0 +1,68 @@
|
||||
<?php
|
||||
|
||||
use Sabre\DAV\Auth\Plugin as AuthPlugin;
|
||||
use Sabre\DAV\Browser\GuessContentType;
|
||||
use Sabre\DAV\Locks\Backend\File;
|
||||
use Sabre\DAV\Locks\Plugin;
|
||||
use Sabre\DAV\Server;
|
||||
|
||||
include_once dirname(dirname(__DIR__)) . '/xentral_autoloader.php';
|
||||
require_once dirname(dirname(__DIR__)) . '/vendor/autoload.php';
|
||||
|
||||
/*
|
||||
This is the best starting point if you're just interested in setting up a fileserver.
|
||||
|
||||
Make sure that the 'public' and 'tmpdata' exists, with write permissions
|
||||
for your server.
|
||||
*/
|
||||
|
||||
// settings
|
||||
date_default_timezone_set('Europe/Berlin');
|
||||
$tmpDir = sys_get_temp_dir();
|
||||
|
||||
// If you want to run the SabreDAV server in a custom location (using mod_rewrite for instance)
|
||||
// You can override the baseUri here.
|
||||
// $baseUri = '/';
|
||||
|
||||
// Files we need
|
||||
|
||||
// Create the root node
|
||||
$app = new ApplicationCore();
|
||||
$root = new DocscanRoot($app);
|
||||
|
||||
// The rootnode needs in turn to be passed to the server class
|
||||
$server = new Server($root);
|
||||
|
||||
$script = basename(__FILE__);
|
||||
$base = $_SERVER['REQUEST_URI'];
|
||||
$base = substr($base, 0, strpos($base, $script) + strlen($script) + 1);
|
||||
|
||||
if (isset($base)) {
|
||||
$server->setBaseUri($base);
|
||||
}
|
||||
|
||||
// Support for LOCK and UNLOCK
|
||||
$lockBackend = new File($tmpDir . '/locksdb');
|
||||
$lockPlugin = new Plugin($lockBackend);
|
||||
$server->addPlugin($lockPlugin);
|
||||
|
||||
// Support for html frontend
|
||||
// may be used for debugging purposes
|
||||
//$browser = new \Sabre\DAV\Browser\Plugin();
|
||||
//$server->addPlugin($browser);
|
||||
|
||||
// Automatically guess (some) contenttypes, based on extesion
|
||||
$server->addPlugin(new GuessContentType());
|
||||
|
||||
// Authentication backend
|
||||
//$authBackend = new \Sabre\DAV\Auth\Backend\File('.htdigest');
|
||||
$authBackend = new DocscanAuth($app->DB);
|
||||
$auth = new AuthPlugin($authBackend);
|
||||
$server->addPlugin($auth);
|
||||
|
||||
// Temporary file filter
|
||||
//$tempFF = new \Sabre\DAV\TemporaryFileFilterPlugin($tmpDir);
|
||||
//$server->addPlugin($tempFF);
|
||||
|
||||
// And off we go!
|
||||
$server->exec();
|
||||
Reference in New Issue
Block a user