"enclosing ATTENDEE CN parameter in double quotes, as it seems to be required by Outlook to correctly use non-ascii chars in attendee CN"

This commit is contained in:
Ralf Becker 2008-11-12 15:21:21 +00:00
parent bc1b45f873
commit 19342d9119

View File

@ -212,7 +212,7 @@ class calendar_ical extends calendar_boupdate
break; break;
}; };
$parameters['ATTENDEE'][] = array( $parameters['ATTENDEE'][] = array(
'CN' => $info['cn'] ? $info['cn'] : $info['name'], 'CN' => '"'.($info['cn'] ? $info['cn'] : $info['name']).'"',
'ROLE' => $role, 'ROLE' => $role,
'PARTSTAT' => $status, 'PARTSTAT' => $status,
'CUTYPE' => $cutype, 'CUTYPE' => $cutype,
@ -231,8 +231,8 @@ class calendar_ical extends calendar_boupdate
{ {
$mailtoOrganizer = $GLOBALS['egw']->accounts->id2name($event['owner'],'account_email'); $mailtoOrganizer = $GLOBALS['egw']->accounts->id2name($event['owner'],'account_email');
$attributes['ORGANIZER'] = $mailtoOrganizer ? 'MAILTO:'.$mailtoOrganizer : ''; $attributes['ORGANIZER'] = $mailtoOrganizer ? 'MAILTO:'.$mailtoOrganizer : '';
$parameters['ORGANIZER']['CN'] = trim($GLOBALS['egw']->accounts->id2name($event['owner'],'account_firstname').' '. $parameters['ORGANIZER']['CN'] = '"'.trim($GLOBALS['egw']->accounts->id2name($event['owner'],'account_firstname').' '.
$GLOBALS['egw']->accounts->id2name($event['owner'],'account_lastname')); $GLOBALS['egw']->accounts->id2name($event['owner'],'account_lastname')).'"';
} }
break; break;
@ -800,7 +800,14 @@ class calendar_ical extends calendar_boupdate
} }
$searcharray = array(); $searcharray = array();
if ($email) $searcharray = array('email' => $email, 'email_home' => $email); if ($email) $searcharray = array('email' => $email, 'email_home' => $email);
if (isset($attributes['params']['CN']) && $attributes['params']['CN']) $searcharray['n_fn'] = $attributes['params']['CN']; if (isset($attributes['params']['CN']) && $attributes['params']['CN'])
{
if($attributes['params']['CN'][0] == '"' && substr($attributes['params']['CN'],-1) == '"')
{
$attributes['params']['CN'] = substr($attributes['params']['CN'],1,-1);
}
$searcharray['n_fn'] = $attributes['params']['CN'];
}
if (($uid = $attributes['params']['X-EGROUPWARE-UID']) && if (($uid = $attributes['params']['X-EGROUPWARE-UID']) &&
($info = $this->resource_info($uid)) && (!$email || $info['email'] == $email)) ($info = $this->resource_info($uid)) && (!$email || $info['email'] == $email))
{ {