diff --git a/webui/model/search/message.php b/webui/model/search/message.php index 7573983..9d89678 100644 --- a/webui/model/search/message.php +++ b/webui/model/search/message.php @@ -453,7 +453,7 @@ $attachment = $this->get_attachment($query->row['piler_id'], $query->row['attachment_id']); - return array('filename' => $query->row['name'], 'piler_id' => $query->row['piler_id'], 'attachment' => $attachment); + return array('filename' => fix_evolution_mime_name_crap($query->row['name']), 'piler_id' => $query->row['piler_id'], 'attachment' => $attachment); } } @@ -471,6 +471,7 @@ if(!isset($query->rows)) { return array(); } foreach($query->rows as $q) { + $q['name'] = fix_evolution_mime_name_crap($q['name']); array_push($data, $q); } diff --git a/webui/system/misc.php b/webui/system/misc.php index 69de799..b0cdb1a 100644 --- a/webui/system/misc.php +++ b/webui/system/misc.php @@ -474,4 +474,14 @@ } +function fix_evolution_mime_name_crap($s = '') { + if(preg_match("/iso\-\d{1,4}\-\d{1,}\'\'/i", $s)) { + $s = preg_replace("/iso\-\d{1,4}\-\d{1,}\'\'/i", "", $s); + $s = utf8_encode(urldecode($s)); + } + + return $s; +} + + ?>