if ($sGroup) {
$aAddress[] = $this->createAddressObject($aStack,$aComment,$sEmail,$sGroup);
$oAddr = end($aAddress);
- if(!$oAddr || ((isset($oAddr)) && !$oAddr->mailbox && !$oAddr->personal)) {
+ if(!$oAddr || ((isset($oAddr)) && !strlen($oAddr->mailbox) && !$oAddr->personal)) {
$sEmail = $sGroup . ':;';
}
$aAddress[] = $this->createAddressObject($aStack,$aComment,$sEmail,$sGroup);
}
}
}
- if (!$grouplookup && !$oAddr->mailbox) {
+ if (!$grouplookup && !strlen($oAddr->mailbox)) {
$oAddr->mailbox = trim($sEmail);
- if ($sHost && $oAddr->mailbox) {
+ if ($sHost && strlen($oAddr->mailbox)) {
$oAddr->host = $sHost;
}
} else if (!$grouplookup && !$oAddr->host) {
- if ($sHost && $oAddr->mailbox) {
+ if ($sHost && strlen($oAddr->mailbox)) {
$oAddr->host = $sHost;
}
}
}
- if (!$aAddrBookAddress && $oAddr->mailbox) {
+ if (!$aAddrBookAddress && strlen($oAddr->mailbox)) {
$aProcessedAddress[] = $oAddr;
} else {
$aProcessedAddress = array_merge($aProcessedAddress,$aAddrBookAddress);
* X-MS-Mail-Priority is not parsed because it always coincides
* with one of the other headers.
*
- * NOTE: this is actually a duplicate from the function in
- * functions/imap_messages. I'm not sure if it's ok here to call
+ * NOTE: this is actually a duplicate from the code in
+ * functions/imap_messages:parseFetch().
+ * I'm not sure if it's ok here to call
* that function?
* @param string $sValue literal priority name
* @return integer
*/
function parsePriority($sValue) {
// don't use function call inside array_shift.
- $aValue = split('/\w/',trim($sValue));
+ $aValue = preg_split('/\s/',trim($sValue));
$value = strtolower(array_shift($aValue));
if ( is_numeric($value) ) {
}
/**
+//FIXME: This needs some documentation (inside the function too)! Don't code w/out comments!
* @param mixed $address array or string
* @param boolean $recurs
* @return mixed array, boolean
}
} else {
if (!is_array($this->cc)) $this->cc = array();
+ if (!is_array($this->to)) $this->to = array();
$srch_addr = $this->parseAddress($address);
$results = array();
foreach ($this->to as $to) {
- if ($to->host == $srch_addr->host) {
- if ($to->mailbox == $srch_addr->mailbox) {
+ if (strtolower($to->host) == strtolower($srch_addr->host)) {
+ if (strtolower($to->mailbox) == strtolower($srch_addr->mailbox)) {
$results[] = $srch_addr;
- if ($to->personal == $srch_addr->personal) {
+ if (strtolower($to->personal) == strtolower($srch_addr->personal)) {
if ($recurs) {
return array($results, true);
} else {
}
}
foreach ($this->cc as $cc) {
- if ($cc->host == $srch_addr->host) {
- if ($cc->mailbox == $srch_addr->mailbox) {
+ if (strtolower($cc->host) == strtolower($srch_addr->host)) {
+ if (strtolower($cc->mailbox) == strtolower($srch_addr->mailbox)) {
$results[] = $srch_addr;
- if ($cc->personal == $srch_addr->personal) {
+ if (strtolower($cc->personal) == strtolower($srch_addr->personal)) {
if ($recurs) {
return array($results, true);
} else {