X-Git-Url: https://vcs.fsf.org/?p=squirrelmail.git;a=blobdiff_plain;f=class%2Fmime%2FRfc822Header.class.php;h=ddaca41a5ecec92379704d048c14b5e95b6bf370;hp=217742954bc6b49a045e3f06a1171714cd65aa58;hb=2c9ecd119132aff5dfa7bd557a599e89c16da0c2;hpb=9790bda676375033eadf58732cd2ae59a0825e52;ds=inline diff --git a/class/mime/Rfc822Header.class.php b/class/mime/Rfc822Header.class.php index 21774295..ddaca41a 100644 --- a/class/mime/Rfc822Header.class.php +++ b/class/mime/Rfc822Header.class.php @@ -458,28 +458,37 @@ class Rfc822Header { * example1: header->getAddr_s('to'). * example2: header->getAddr_s(array('to', 'cc', 'bcc')) */ - function getAddr_s($arr, $separator = ',') { + function getAddr_s($arr, $separator = ',',$encoded=false) { $s = ''; if (is_array($arr)) { foreach($arr as $arg) { - if ($this->getAddr_s($arg)) { + if ($this->getAddr_s($arg, $separator, $encoded)) { $s .= $separator . $result; } } $s = ($s ? substr($s, 2) : $s); } else { - eval('$addr = $this->' . $arr . ';') ; + $addr = $this->{$arr}; + //eval('$addr = $this->' . $arr . ';') ; if (is_array($addr)) { foreach ($addr as $addr_o) { if (is_object($addr_o)) { - $s .= $addr_o->getAddress() . $separator; + if ($encoded) { + $s .= $addr_o->getEncodedAddress() . $separator; + } else { + $s .= $addr_o->getAddress() . $separator; + } } } $s = substr($s, 0, -strlen($separator)); } else { if (is_object($addr)) { - $s .= $addr->getAddress(); + if ($encoded) { + $s .= $addr->getEncodedAddress(); + } else { + $s .= $addr->getAddress(); + } } } }