* Filemanager/WebDAV: fix mounting WebDAV URL as webdavs://user:pass@host/path

This commit is contained in:
Ralf Becker 2021-09-10 14:08:42 +02:00
parent e20cea757a
commit df946f7c80
4 changed files with 217 additions and 663 deletions

View File

@ -93,7 +93,7 @@
"egroupware/status": "self.version", "egroupware/status": "self.version",
"egroupware/swoolepush": "self.version", "egroupware/swoolepush": "self.version",
"egroupware/tracker": "self.version", "egroupware/tracker": "self.version",
"egroupware/webdav": "dev-master", "egroupware/webdav": "^v0.3.1",
"egroupware/z-push-dev": "^2.5", "egroupware/z-push-dev": "^2.5",
"giggsey/libphonenumber-for-php": "^8.12", "giggsey/libphonenumber-for-php": "^8.12",
"npm-asset/as-jqplot": "1.0.*", "npm-asset/as-jqplot": "1.0.*",

871
composer.lock generated

File diff suppressed because it is too large Load Diff

View File

@ -484,11 +484,6 @@ function load_wrapper($url)
{ {
switch($scheme) switch($scheme)
{ {
case 'webdav':
case 'webdavs':
require_once('HTTP/WebDAV/Client.php');
break;
default: default:
if (!isset($GLOBALS['egw']) && !in_array($scheme,array('smb','imap')) && if (!isset($GLOBALS['egw']) && !in_array($scheme,array('smb','imap')) &&
($user = parse_url($url,PHP_URL_USER)) && ($pass = parse_url($url,PHP_URL_PASS))) ($user = parse_url($url,PHP_URL_USER)) && ($pass = parse_url($url,PHP_URL_PASS)))

View File

@ -261,7 +261,7 @@ class filemanager_admin extends filemanager_ui
{ {
$content['mounts'][$n++] = array( $content['mounts'][$n++] = array(
'path' => $path, 'path' => $path,
'url' => $url, 'url' => preg_replace('#://([^:@/]+):([^@/]+)@#', '://$1:****@', $url),
); );
$readonlys["disable[$path]"] = !$this->versioning || !Vfs::$is_root || $readonlys["disable[$path]"] = !$this->versioning || !Vfs::$is_root ||
Vfs::parse_url($url,PHP_URL_SCHEME) != $this->versioning; Vfs::parse_url($url,PHP_URL_SCHEME) != $this->versioning;