From 49a90413e4c71a16279745744f695d162be03b6d Mon Sep 17 00:00:00 2001 From: Ralf Becker Date: Fri, 13 Jul 2012 15:55:29 +0000 Subject: [PATCH] fixed PROPFIND did not return additional properties if path contained special chars like ? or # --- phpgwapi/inc/class.vfs_webdav_server.inc.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/phpgwapi/inc/class.vfs_webdav_server.inc.php b/phpgwapi/inc/class.vfs_webdav_server.inc.php index f69bfda3b6..e8ad55d506 100644 --- a/phpgwapi/inc/class.vfs_webdav_server.inc.php +++ b/phpgwapi/inc/class.vfs_webdav_server.inc.php @@ -354,8 +354,18 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem $path2n = array(); foreach($files['files'] as $n => $info) { + // do NOT report /clientsync/.favorites/, as it fails + if (strpos($info['path'],'/clientsync/.favorites/') === 0) + { + unset($files['files'][$n]); + continue; + } $path = $info['path']; if (!$n && $info['path'] != '/' && substr($info['path'],-1) == '/') $path = substr($info['path'],0,-1); + + // need to encode path again, as $info['path'] is NOT encoded, but egw_vfs::(stat|propfind) require it + // otherwise pathes containing url special chars like ? or # will not stat + $path = egw_vfs::encodePath($path); $path2n[$path] = $n; // adding some properties used instead of regular DAV times @@ -614,7 +624,7 @@ class vfs_webdav_server extends HTTP_WebDAV_Server_Filesystem { if (($ok = parent::GET($options)) && $this->force_download) { - if(html::$user_agent == 'msie') // && self::$ua_version == '5.5') + if(html::$user_agent == 'msie' && self::$ua_version < 9.0) { $attachment = ''; }