- Fix fatal error after last commit in rcube_imap (#1485825)

release-0.6
alecpl 17 years ago
parent 89635b9dd8
commit b20bca7df2

@ -1124,15 +1124,8 @@ class rcube_imap
// set message charset from message headers
if ($headers->charset)
$this->struct_charset = $headers->charset;
// ... or from first part headers
else if (is_array($structure[2]) && $structure[2][0] == 'charset')
$this->struct_charset = $structure[2][1];
else if (is_array($structure[0][2]) && $structure[0][2][0] == 'charset')
$this->struct_charset = $structure[0][2][1];
else if (is_array($structure[0][0][2]) && $structure[0][0][2][0] == 'charset')
$this->struct_charset = $structure[0][0][2][1];
else
$this->struct_charset = null;
$this->struct_charset = $this->_structure_charset($structure);
$struct = &$this->_structure_part($structure);
$struct->headers = get_object_vars($headers);
@ -1390,8 +1383,25 @@ class rcube_imap
$part->filename = rcube_charset_convert(urldecode($filename_encoded), $filename_charset);
}
}
/**
* Get charset name from message structure (first part)
*
* @access private
* @param array Message structure
* @return string Charset name
*/
function _structure_charset($structure)
{
while (is_array($structure)) {
if (is_array($structure[2]) && $structure[2][0] == 'charset')
return $structure[2][1];
$structure = $structure[0];
}
}
/**
* Fetch message body of a specific message from the server
*

Loading…
Cancel
Save