* 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:
Ralf Becker 2011-08-27 10:53:37 +00:00
parent 85d9e5e4ee
commit 59cc3578b8

View File

@ -2490,7 +2490,8 @@ class HTTP_WebDAV_Server
{ {
// cadaver (and probably all neon using agents) need a more complete url encoding // cadaver (and probably all neon using agents) need a more complete url encoding
// otherwise special chars like "$,()'" in filenames do NOT work // 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( return strtr(rawurlencode($url),array(
'%2F' => '/', '%2F' => '/',