| | |
| | | $this->email[0] = $this->email[$pref_index]; |
| | | $this->email[$pref_index] = $tmp; |
| | | } |
| | | |
| | | // fix broken vcards from Outlook that only supply ORG but not the required N or FN properties |
| | | if (!strlen(trim($this->displayname . $this->surname . $this->firstname)) && strlen($this->organization)) { |
| | | $this->displayname = $this->organization; |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | default: |
| | | if ($field == 'phone' && $this->phonetypemap[$type_uc]) { |
| | | $type = $this->phonetypemap[$type_uc]; |
| | | } |
| | | } |
| | | |
| | | if (($tag = self::$fieldmap[$field]) && (is_array($value) || strlen($value))) { |
| | | $index = count($this->raw[$tag]); |
| | |
| | | $enc = null; |
| | | |
| | | foreach($regs2[1] as $attrid => $attr) { |
| | | $attr = preg_replace('/[\s\t\n\r\0\x0B]/', '', $attr); |
| | | if ((list($key, $value) = explode('=', $attr)) && $value) { |
| | | $value = trim($value); |
| | | if ($key == 'ENCODING') { |
| | | $value = strtoupper($value); |
| | | // add next line(s) to value string if QP line end detected |
| | |
| | | return $result; |
| | | } |
| | | |
| | | $s = strtr($s, $rep2); |
| | | $s = trim(strtr($s, $rep2)); |
| | | } |
| | | |
| | | // some implementations (GMail) use non-standard backslash before colon (#1489085) |