X-Git-Url: https://vcs.fsf.org/?a=blobdiff_plain;f=class%2Fmime%2FAddressStructure.class.php;h=2b7baace480cb918b204c851a08eefa63626b588;hb=82d304a0501324b276cabab1870755d5352bd21c;hp=1382493124a76dfaee676735c6d362b755491482;hpb=2c9ecd119132aff5dfa7bd557a599e89c16da0c2;p=squirrelmail.git diff --git a/class/mime/AddressStructure.class.php b/class/mime/AddressStructure.class.php index 13824931..2b7baace 100644 --- a/class/mime/AddressStructure.class.php +++ b/class/mime/AddressStructure.class.php @@ -3,14 +3,19 @@ /** * AddressStructure.class.php * - * Copyright (c) 2003 The SquirrelMail Project Team + * Copyright (c) 2003-2004 The SquirrelMail Project Team * Licensed under the GNU GPL. For full terms see the file COPYING. * * This contains functions needed to handle mime messages. * * $Id$ + * @package squirrelmail */ +/** + * Undocumented class + * @package squirrelmail + */ class AddressStructure { var $personal = '', $adl = '', @@ -20,13 +25,16 @@ class AddressStructure { function getAddress($full = true, $encoded = false) { $result = ''; - if (is_object($this)) { $email = ($this->host ? $this->mailbox.'@'.$this->host - : $this->mailbox); + : $this->mailbox); $personal = trim($this->personal); + $is_encoded = false; + if (preg_match('/(=\?([^?]*)\?(Q|B)\?([^?]*)\?=)(.*)/Ui',$personal,$reg)) { + $is_encoded = true; + } if ($personal) { - if ($encoded) { + if ($encoded && !$is_encoded) { $personal_encoded = encodeHeader($personal); if ($personal !== $personal_encoded) { $personal = $personal_encoded; @@ -34,10 +42,12 @@ class AddressStructure { $personal = '"'.$this->personal.'"'; } } else { - $personal = '"'.$this->personal.'"'; + if (!$is_encoded) { + $personal = '"'.$this->personal.'"'; + } } - $addr = ($email ? $personal . ' <' .$email.'>' - : $this->personal); + $addr = ($email ? $personal . ' <' .$email.'>' + : $this->personal); $best_dpl = $this->personal; } else { $addr = $email;