Merge branch 'master' of github.com:roundcube/roundcubemail
| | |
| | | * The Apache, Lighttpd, Cherokee or Hiawatha web server |
| | | * .htaccess support allowing overrides for DirectoryIndex |
| | | * PHP Version 5.3.7 or greater including |
| | | - PCRE, DOM, JSON, XML, Session, Sockets (required) |
| | | - PCRE, DOM, JSON, Session, Sockets (required) |
| | | - PHP Data Objects (PDO) with driver for either MySQL, PostgreSQL or SQLite (required) |
| | | - Libiconv, Zip (recommended) |
| | | - OpenSSL, Fileinfo, Mcrypt, mbstring (optional) |
| | |
| | | 'Value' => array( |
| | | 'home' => 'email:home', |
| | | 'work' => 'email:work', |
| | | '*' => 'email:other', |
| | | ), |
| | | ), |
| | | 'Phone' => array( |
| | |
| | | |
| | | foreach ($item as $item_key => $item_idx) { |
| | | $value = $data[$item_idx]; |
| | | if ($value !== null && $value !== '' && ($data_idx = $this->gmail_label_map[$key][$item_key][$type])) { |
| | | $contact[$data_idx] = $value; |
| | | if ($value !== null && $value !== '') { |
| | | foreach (array($type, '*') as $_type) { |
| | | if ($data_idx = $this->gmail_label_map[$key][$item_key][$_type]) { |
| | | if (!empty($contact[$data_idx])) { |
| | | $contact[$data_idx] = (array) $contact[$data_idx]; |
| | | $contact[$data_idx][] = $value; |
| | | } |
| | | else { |
| | | $contact[$data_idx] = $value; |
| | | } |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | |
| | | $vcard = new rcube_vcard(); |
| | | foreach ($contact as $name => $value) { |
| | | $name = explode(':', $name); |
| | | $vcard->set($name[0], $value, $name[1]); |
| | | if (is_array($value) && $name[0] != 'address') { |
| | | foreach ((array) $value as $val) { |
| | | $vcard->set($name[0], $val, $name[1]); |
| | | } |
| | | } |
| | | else { |
| | | $vcard->set($name[0], $value, $name[1]); |
| | | } |
| | | } |
| | | |
| | | // add to the list |
| | |
| | | // try to parse string with DateTime first |
| | | if (!empty($date)) { |
| | | try { |
| | | $dt = new DateTime($date, $timezone); |
| | | $dt = $timezone ? new DateTime($date, $timezone) : new DateTime($date); |
| | | } |
| | | catch (Exception $e) { |
| | | // ignore |
| | |
| | | CATEGORIES:My Contacts,Test |
| | | EMAIL;TYPE=INTERNET;TYPE=HOME:home@aaa.pl |
| | | EMAIL;TYPE=INTERNET;TYPE=WORK:work@email.pl |
| | | EMAIL;TYPE=INTERNET;TYPE=OTHER:unknown@email.com |
| | | EMAIL;TYPE=INTERNET;TYPE=OTHER:other@email.com |
| | | TEL;TYPE=pager:pager |
| | | TEL;TYPE=pref:mainphone |
| | | TEL;TYPE=home:homephone |