Changeset 435c315 in github
- Timestamp:
- Oct 20, 2010 4:58:21 AM (3 years ago)
- Branches:
- master, HEAD, courier-fix, dev-browser-capabilities, pdo, release-0.6, release-0.7, release-0.8
- Children:
- 8bac7e9
- Parents:
- 13326b7
- Files:
-
- 2 edited
-
CHANGELOG (modified) (1 diff)
-
program/include/rcube_imap.php (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
CHANGELOG
r8b6eff6 r435c315 36 36 - Add ANNOTATEMORE extension support into IMAP classes (draft-daboo-imap-annotatemore) 37 37 - Add METADATA extension support into IMAP classes (RFC5464) 38 - Fix decoding of e-mail address strings in message headers (#1487068) 38 39 39 40 RELEASE 0.4.2 -
program/include/rcube_imap.php
ra2e8cb36 r435c315 4001 4001 $j++; 4002 4002 $address = trim($val['address']); 4003 $name = trim($val['name']); 4004 4005 if ($name && preg_match('/^[\'"]/', $name) && preg_match('/[\'"]$/', $name)) 4006 $name = trim($name, '\'"'); 4003 $name = trim($val['name']); 4007 4004 4008 4005 if ($name && $address && $name != $address) … … 4420 4417 4421 4418 foreach ($a as $key => $val) { 4422 $val = preg_replace("/([\"\w])</", "$1 <", $val); 4423 $sub_a = rcube_explode_quoted_string(' ', $decode ? $this->decode_header($val) : $val); 4424 $result[$key]['name'] = ''; 4425 4426 foreach ($sub_a as $k => $v) { 4427 // use angle brackets in regexp to not handle names with @ sign 4428 if (preg_match('/^<\S+@\S+>$/', $v)) 4429 $result[$key]['address'] = trim($v, '<>'); 4430 else 4431 $result[$key]['name'] .= (empty($result[$key]['name'])?'':' ').str_replace("\"",'',stripslashes($v)); 4432 } 4433 4434 // if (empty($result[$key]['name'])) 4435 // $result[$key]['name'] = $result[$key]['address']; 4436 if (empty($result[$key]['address'])) 4437 $result[$key]['address'] = $result[$key]['name']; 4419 $name = ''; 4420 $address = ''; 4421 $val = trim($val); 4422 4423 if (preg_match('/(.*)<(\S+@\S+)>$/', $val, $m)) { 4424 $address = $m[2]; 4425 $name = trim($m[1]); 4426 } 4427 else if (preg_match('/^(\S+@\S+)$/', $val, $m)) { 4428 $address = $m[1]; 4429 $name = ''; 4430 } 4431 else { 4432 $name = $val; 4433 } 4434 4435 // dequote and/or decode name 4436 if ($name) { 4437 if ($name[0] == '"') { 4438 $name = substr($name, 1, -1); 4439 $name = stripslashes($name); 4440 } 4441 else if ($decode) { 4442 $name = $this->decode_header($name); 4443 } 4444 } 4445 4446 if (!$address && $name) { 4447 $address = $name; 4448 } 4449 4450 if ($address) { 4451 $result[$key] = array('name' => $name, 'address' => $address); 4452 } 4438 4453 } 4439 4454
Note: See TracChangeset
for help on using the changeset viewer.
