Condiciones iniciales:
Debian 6.0
roundcube 0.3.1-6
Mensaje en logs:
[12-Apr-2012 12:52:40] PHP Warning: strtolower() expects parameter 1 to be string, array given in /usr/share/roundcube/program/include/rcube_imap.php on line 1285
Solución:
En base a la línea 1285 en el archivo rcube_imap.php esta el siguiente codigo:
(esto está contenido en el archivo original)
..
if (strtolower($part[$i][0]) == 'message' ||
(in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL'))) {
$part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1;
…
el cual debe sustituirse por:
(El archivo modificado rcube_imap.php tendrá el sig. contenido)
//if (strtolower($part[$i][0]) == 'message' ||
// (in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL'))) {
// fetch message headers if message/rfc822 or named part (could contain Content-Location header)
if (!is_array($part[$i][0]) && (strtolower($part[$i][0]) == 'message' ||
(in_array('name', (array)$part[$i][2]) && (empty($part[$i][3]) || $part[$i][3]=='NIL')))) {
$part_headers[] = $struct->mime_id ? $struct->mime_id.'.'.($i+1) : $i+1;
—
Ordenes o “comandos” utilizados
diff rcube_imap.php rcube_imap.php.orig
archivos utilizados
/usr/share/roundcube/program/include/rcube_imap.php
/var/log/roundcube/errors
Imágenes relacionadas con el “post”:

Referencias: tazzadelcesso







