mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-11-28 10:53:39 +01:00
Fix Windows 7 WebDAV issue
This commit is contained in:
parent
e1fb66f4a1
commit
1bc9aca110
@ -65,8 +65,10 @@ class HTTP_WebDAV_Server
|
|||||||
* But some clients can NOT deal with one or the other!
|
* But some clients can NOT deal with one or the other!
|
||||||
*
|
*
|
||||||
* @var boolean (client_refuses_redundand_namespace_declarations)
|
* @var boolean (client_refuses_redundand_namespace_declarations)
|
||||||
|
* @var boolean (client_needs_redundand_namespace_declarations)
|
||||||
*/
|
*/
|
||||||
var $crrnd = false;
|
var $crrnd = false;
|
||||||
|
var $cnrnd = false;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
||||||
@ -2307,7 +2309,7 @@ class HTTP_WebDAV_Server
|
|||||||
$ret = '';
|
$ret = '';
|
||||||
foreach($props as $prop)
|
foreach($props as $prop)
|
||||||
{
|
{
|
||||||
$ret .= '<'.$prop['name'].
|
$ret .= '<'.(($prop['ns'] == 'DAV:' && $this->cnrnd) ? 'D:' : '').$prop['name'].
|
||||||
($prop['ns'] != 'DAV:' ? ' xmlns="'.$prop['ns'].'"' : '').
|
($prop['ns'] != 'DAV:' ? ' xmlns="'.$prop['ns'].'"' : '').
|
||||||
(empty($prop['val']) ? ' />' : '>'.
|
(empty($prop['val']) ? ' />' : '>'.
|
||||||
(is_array($prop['val']) ?
|
(is_array($prop['val']) ?
|
||||||
|
@ -96,5 +96,11 @@ catch (egw_exception_no_permission_app $e)
|
|||||||
$GLOBALS['egw']->session->commit_session();
|
$GLOBALS['egw']->session->commit_session();
|
||||||
|
|
||||||
$webdav_server = new vfs_webdav_server();
|
$webdav_server = new vfs_webdav_server();
|
||||||
|
$user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
||||||
|
if (strstr($user_agent, 'microsoft-webdav') !== false)
|
||||||
|
{
|
||||||
|
// Windows 7 special treatment
|
||||||
|
$webdav_server->cnrnd = true;
|
||||||
|
}
|
||||||
$webdav_server->ServeRequest();
|
$webdav_server->ServeRequest();
|
||||||
//error_log(sprintf("WebDAV %s request took %5.3f s (header include took %5.3f s)",$_SERVER['REQUEST_METHOD'],microtime(true)-$starttime,$headertime-$starttime));
|
//error_log(sprintf("WebDAV %s request took %5.3f s (header include took %5.3f s)",$_SERVER['REQUEST_METHOD'],microtime(true)-$starttime,$headertime-$starttime));
|
||||||
|
Loading…
Reference in New Issue
Block a user