when having multiple lines descriptions in contacts or calendar, these are not correctly encoded in vcard.

The problem seems to be line [784] of trunk/phpgwapi/inc/horde/Horde/iCalendar.php
$value = str_replace($this->_newline, '\n', $value);
When removing this line, the description value is correct on the client.

I could not find any sideffects during my tests, if some clients have
problems with this, I assume this would then have to be fixed at a higher
level, because the current state with this line just causes broken output.

From wikipedia regarding Linebreaks in QuotedPrintable:
If the data being encoded contains meaningful line breaks, they must be encoded as an ASCII CR LF sequence, not as their original byte values

Vcard extract without the reported line code:
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1=0D=0ADesk 2=0D=0A=0D=0A

Vcard extract with the reported line of code
DESCRIPTION;ENCODING=QUOTED-PRINTABLE:Desc 1\nDesk 2\n\n

pointed out by Philip Herbert. Carl Knauber Holding GmbH & Co KG
This commit is contained in:
Klaus Leithoff 2008-08-04 08:42:19 +00:00
parent 68ba92e1b9
commit cb8cd0f3e6

View File

@ -781,7 +781,7 @@ class Horde_iCalendar {
case 'DESCRIPTION':
case 'COMMENT':
$value = str_replace('\\', '\\\\', $value);
$value = str_replace($this->_newline, '\n', $value);
#$value = str_replace($this->_newline, '\n', $value);
$value = str_replace(',', '\,', $value);
$value = str_replace(';', '\;', $value);
$value = str_replace(':', '\:', $value);