mirror of
https://github.com/EGroupware/egroupware.git
synced 2024-12-01 04:13:28 +01:00
backported Jörgs r30193: Fix DAV issue for neon for GroupDAV, too
This commit is contained in:
parent
0abbc95889
commit
92578f9d02
@ -138,6 +138,9 @@ class groupdav extends HTTP_WebDAV_Server
|
|||||||
break;
|
break;
|
||||||
case 'cfnetwork_old':
|
case 'cfnetwork_old':
|
||||||
$this->crrnd = true; // Older Apple Addressbook.app does not cope with namespace redundancy
|
$this->crrnd = true; // Older Apple Addressbook.app does not cope with namespace redundancy
|
||||||
|
break;
|
||||||
|
case 'neon':
|
||||||
|
$this->cnrnd = true; // neon clients like cadaver
|
||||||
}
|
}
|
||||||
parent::HTTP_WebDAV_Server();
|
parent::HTTP_WebDAV_Server();
|
||||||
|
|
||||||
|
@ -334,7 +334,7 @@ abstract class groupdav_handler
|
|||||||
'zideone' => 'zideone', // zideone outlook plugin
|
'zideone' => 'zideone', // zideone outlook plugin
|
||||||
'lightning' => 'lightning', // Lighting (SOGo connector for addressbook)
|
'lightning' => 'lightning', // Lighting (SOGo connector for addressbook)
|
||||||
'khtml' => 'kde', // KDE clients
|
'khtml' => 'kde', // KDE clients
|
||||||
'cadaver' => 'cadaver',
|
'neon' => 'neon'
|
||||||
) as $pattern => $name)
|
) as $pattern => $name)
|
||||||
{
|
{
|
||||||
if (strpos($user_agent,$pattern) !== false)
|
if (strpos($user_agent,$pattern) !== false)
|
||||||
|
@ -628,14 +628,14 @@ class Horde_iCalendar {
|
|||||||
// Parse the remaining attributes.
|
// Parse the remaining attributes.
|
||||||
if (preg_match_all('/^((?:[^":]+|(?:"[^"]*")+)*):([^\r\n]*)\r?$/m', $vCal, $matches)) {
|
if (preg_match_all('/^((?:[^":]+|(?:"[^"]*")+)*):([^\r\n]*)\r?$/m', $vCal, $matches)) {
|
||||||
foreach ($matches[0] as $attribute) {
|
foreach ($matches[0] as $attribute) {
|
||||||
preg_match('/([^;^:]*)((;(?:[^":]+|(?:"[^"]*")+)*)?):([^\r\n]*)[\r\n]*/', $attribute, $parts);
|
preg_match('/([^:;]*)((;(?:(?:[^":\\\]*(?:\\\.)?)+|(?:"[^"]*")+)*)?):([^\r\n]*)[\r\n]*/', $attribute, $parts);
|
||||||
$tag = trim(String::upper($parts[1]));
|
$tag = trim(String::upper($parts[1]));
|
||||||
$value = $parts[4];
|
$value = $parts[4];
|
||||||
$params = array();
|
$params = array();
|
||||||
|
|
||||||
// Parse parameters.
|
// Parse parameters.
|
||||||
if (!empty($parts[2])) {
|
if (!empty($parts[2])) {
|
||||||
preg_match_all('/;(([^;=]*)(=([^;]*))?)/', $parts[2], $param_parts);
|
preg_match_all('/;(([^;=]*)(=((?:[^;\\\]*(?:\\\.)?)*))?)/', $parts[2], $param_parts);
|
||||||
foreach ($param_parts[2] as $key => $paramName) {
|
foreach ($param_parts[2] as $key => $paramName) {
|
||||||
$paramName = String::upper($paramName);
|
$paramName = String::upper($paramName);
|
||||||
$paramValue = $param_parts[4][$key];
|
$paramValue = $param_parts[4][$key];
|
||||||
|
@ -100,7 +100,7 @@ $user_agent = strtolower($_SERVER['HTTP_USER_AGENT']);
|
|||||||
if (strstr($user_agent, 'microsoft-webdav') !== false ||
|
if (strstr($user_agent, 'microsoft-webdav') !== false ||
|
||||||
strstr($user_agent, 'neon') !== false)
|
strstr($user_agent, 'neon') !== false)
|
||||||
{
|
{
|
||||||
// Neon & Windows 7 special treatment
|
// neon & Windows 7 special treatment
|
||||||
$webdav_server->cnrnd = true;
|
$webdav_server->cnrnd = true;
|
||||||
}
|
}
|
||||||
$webdav_server->ServeRequest();
|
$webdav_server->ServeRequest();
|
||||||
|
Loading…
Reference in New Issue
Block a user