mirror of
https://github.com/EGroupware/egroupware.git
synced 2025-01-24 06:48:40 +01:00
* WebDAV: fix for Netdrive to work correct with non-ascii chars like German umlauts
- unfortunatly Netdrive uses no User-Agent header, so we can only detect it on the absense of one - we use now rawurlencode with replacing / and : afterwards, instead of the minimal version, which is the default
This commit is contained in:
parent
85d9e5e4ee
commit
59cc3578b8
@ -1594,7 +1594,7 @@ class HTTP_WebDAV_Server
|
||||
}
|
||||
|
||||
if (!isset($options['ranges'])) {
|
||||
$options['ranges'] = array();
|
||||
$options['ranges'] = array();
|
||||
}
|
||||
|
||||
$options["ranges"][] = $range;
|
||||
@ -1637,7 +1637,7 @@ class HTTP_WebDAV_Server
|
||||
// TODO multipart support is missing (see also above)
|
||||
if (0 == fseek($stream, $options['ranges'][0]["start"], SEEK_SET)) {
|
||||
$length = $options['ranges'][0]["end"] - $options['ranges'][0]["start"]+1;
|
||||
|
||||
|
||||
while (!feof($options['stream'])) {
|
||||
if ($length <= 0) {
|
||||
break;
|
||||
@ -1672,7 +1672,7 @@ class HTTP_WebDAV_Server
|
||||
}
|
||||
|
||||
fclose($stream);
|
||||
}
|
||||
}
|
||||
|
||||
$this->http_status($stat);
|
||||
} else {
|
||||
@ -2490,7 +2490,8 @@ class HTTP_WebDAV_Server
|
||||
{
|
||||
// cadaver (and probably all neon using agents) need a more complete url encoding
|
||||
// otherwise special chars like "$,()'" in filenames do NOT work
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'],'neon') !== false)
|
||||
// netdrive does NOT use a User-Agent, but requires full urlencoding for non-ascii chars (eg. German Umlauts)
|
||||
if (strpos($_SERVER['HTTP_USER_AGENT'],'neon') !== false || !isset($_SERVER['HTTP_USER_AGENT']))
|
||||
{
|
||||
return strtr(rawurlencode($url),array(
|
||||
'%2F' => '/',
|
||||
|
Loading…
Reference in New Issue
Block a user