From 2a4e8972e0edfa3156d9ce54d68ce0e54c0ec289 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 18 Apr 2016 20:38:38 -0700 Subject: module updates --- mod/dav.php | 142 ------------------------------------------------------------ 1 file changed, 142 deletions(-) delete mode 100644 mod/dav.php (limited to 'mod/dav.php') diff --git a/mod/dav.php b/mod/dav.php deleted file mode 100644 index e2a857dca..000000000 --- a/mod/dav.php +++ /dev/null @@ -1,142 +0,0 @@ - 1) - $which = argv(1); - - $profile = 0; - - App::$page['htmlhead'] .= '' . "\r\n"; - - if ($which) - profile_load($a, $which, $profile); - - $auth = new Zotlabs\Storage\BasicAuth(); - - $ob_hash = get_observer_hash(); - - if ($ob_hash) { - if (local_channel()) { - $channel = App::get_channel(); - $auth->setCurrentUser($channel['channel_address']); - $auth->channel_id = $channel['channel_id']; - $auth->channel_hash = $channel['channel_hash']; - $auth->channel_account_id = $channel['channel_account_id']; - if($channel['channel_timezone']) - $auth->setTimezone($channel['channel_timezone']); - } - $auth->observer = $ob_hash; - } - - if ($_GET['davguest']) - $_SESSION['davguest'] = true; - - $_SERVER['QUERY_STRING'] = str_replace(array('?f=', '&f='), array('', ''), $_SERVER['QUERY_STRING']); - $_SERVER['QUERY_STRING'] = strip_zids($_SERVER['QUERY_STRING']); - $_SERVER['QUERY_STRING'] = preg_replace('/[\?&]davguest=(.*?)([\?&]|$)/ism', '', $_SERVER['QUERY_STRING']); - - $_SERVER['REQUEST_URI'] = str_replace(array('?f=', '&f='), array('', ''), $_SERVER['REQUEST_URI']); - $_SERVER['REQUEST_URI'] = strip_zids($_SERVER['REQUEST_URI']); - $_SERVER['REQUEST_URI'] = preg_replace('/[\?&]davguest=(.*?)([\?&]|$)/ism', '', $_SERVER['REQUEST_URI']); - - $rootDirectory = new Zotlabs\Storage\Directory('/', $auth); - - // A SabreDAV server-object - $server = new DAV\Server($rootDirectory); - // prevent overwriting changes each other with a lock backend - $lockBackend = new DAV\Locks\Backend\File('store/[data]/locks'); - $lockPlugin = new DAV\Locks\Plugin($lockBackend); - - $server->addPlugin($lockPlugin); - - // The next section of code allows us to bypass prompting for http-auth if a - // FILE is being accessed anonymously and permissions allow this. This way - // one can create hotlinks to public media files in their cloud and anonymous - // viewers won't get asked to login. - // If a DIRECTORY is accessed or there are permission issues accessing the - // file and we aren't previously authenticated via zot, prompt for HTTP-auth. - // This will be the default case for mounting a DAV directory. - // In order to avoid prompting for passwords for viewing a DIRECTORY, add - // the URL query parameter 'davguest=1'. - - $isapublic_file = false; - $davguest = ((x($_SESSION, 'davguest')) ? true : false); - - if ((! $auth->observer) && ($_SERVER['REQUEST_METHOD'] === 'GET')) { - try { - $x = RedFileData('/' . App::$cmd, $auth); - if($x instanceof Zotlabs\Storage\File) - $isapublic_file = true; - } - catch (Exception $e) { - $isapublic_file = false; - } - } - - if ((! $auth->observer) && (! $isapublic_file) && (! $davguest)) { - try { - $auth->Authenticate($server, t('$Projectname channel')); - } - catch (Exception $e) { - logger('mod_cloud: auth exception' . $e->getMessage()); - http_status_exit($e->getHTTPCode(), $e->getMessage()); - } - } - -// require_once('Zotlabs/Storage/Browser.php'); - // provide a directory view for the cloud in Hubzilla - $browser = new Zotlabs\Storage\Browser($auth); - $auth->setBrowserPlugin($browser); - - // Experimental QuotaPlugin -// require_once('Zotlabs/Storage/QuotaPlugin.php'); -// $server->addPlugin(new Zotlabs\Storage\QuotaPlugin($auth)); - - // All we need to do now, is to fire up the server - $server->exec(); - - killme(); -} -- cgit v1.2.3