X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=class%2Fmime%2FAddressStructure.class.php;h=1382493124a76dfaee676735c6d362b755491482;hp=7621b8f3b2cbb5da9179876cdb8572dd1d86707f;hb=2c9ecd119132aff5dfa7bd557a599e89c16da0c2;hpb=76911253eb850bacde3d86c8cb7b4af072e67ebe diff --git a/class/mime/AddressStructure.class.php b/class/mime/AddressStructure.class.php index 7621b8f3..13824931 100644 --- a/class/mime/AddressStructure.class.php +++ b/class/mime/AddressStructure.class.php @@ -18,14 +18,25 @@ class AddressStructure { $host = '', $group = ''; - function getAddress($full = true) { + function getAddress($full = true, $encoded = false) { $result = ''; if (is_object($this)) { $email = ($this->host ? $this->mailbox.'@'.$this->host : $this->mailbox); - if (trim($this->personal)) { - $addr = ($email ? '"' . $this->personal . '" <' .$email.'>' + $personal = trim($this->personal); + if ($personal) { + if ($encoded) { + $personal_encoded = encodeHeader($personal); + if ($personal !== $personal_encoded) { + $personal = $personal_encoded; + } else { + $personal = '"'.$this->personal.'"'; + } + } else { + $personal = '"'.$this->personal.'"'; + } + $addr = ($email ? $personal . ' <' .$email.'>' : $this->personal); $best_dpl = $this->personal; } else { @@ -36,6 +47,10 @@ class AddressStructure { } return $result; } + + function getEncodedAddress() { + return $this->getAddress(true, true); + } } ?>