- Fix EOL character in vCard exports (#1487873)
| | |
| | | CHANGELOG Roundcube Webmail |
| | | =========================== |
| | | |
| | | - Fix EOL character in vCard exports (#1487873) |
| | | - Added optional "multithreading" autocomplete feature |
| | | - Plugin API: Added 'config_get' hook |
| | | - Fixed new_user_identity plugin to work with updated rcube_ldap class (#1487994) |
| | |
| | | 'FN' => array(), |
| | | 'N' => array(array('','','','','')), |
| | | ); |
| | | static private $fieldmap = array( |
| | | private static $fieldmap = array( |
| | | 'phone' => 'TEL', |
| | | 'birthday' => 'BDAY', |
| | | 'website' => 'URL', |
| | |
| | | public $notes; |
| | | public $email = array(); |
| | | |
| | | public static $eol = "\r\n"; |
| | | |
| | | /** |
| | | * Constructor |
| | |
| | | if (self::is_empty($value)) |
| | | continue; |
| | | |
| | | $vcard .= self::vcard_quote($type) . $attr . ':' . self::vcard_quote($value) . "\n"; |
| | | $vcard .= self::vcard_quote($type) . $attr . ':' . self::vcard_quote($value) . self::$eol; |
| | | } |
| | | } |
| | | |
| | | return "BEGIN:VCARD\nVERSION:3.0\n{$vcard}END:VCARD"; |
| | | return 'BEGIN:VCARD' . self::$eol . 'VERSION:3.0' . self::$eol . $vcard . 'END:VCARD'; |
| | | } |
| | | |
| | | |
| | |
| | | while ($result && ($row = $result->next())) { |
| | | // we already have a vcard record |
| | | if ($row['vcard'] && $row['name']) { |
| | | echo rcube_vcard::rfc2425_fold($row['vcard']) . "\n"; |
| | | $row['vcard'] = preg_replace('/\r?\n/', rcube_vcard::$eol, $row['vcard']); |
| | | echo rcube_vcard::rfc2425_fold($row['vcard']) . rcube_vcard::$eol; |
| | | } |
| | | // copy values into vcard object |
| | | else { |
| | |
| | | } |
| | | } |
| | | |
| | | echo $vcard->export(true) . "\n"; |
| | | echo $vcard->export(true) . rcube_vcard::$eol; |
| | | } |
| | | } |
| | | |