alecpl
2011-09-17 30f50556c130e272d9eb6ddcd11ea70a18a4e711
program/include/rcube_imap.php
@@ -426,7 +426,7 @@
    function set_search_set($str=null, $msgs=null, $charset=null, $sort_field=null, $threads=false, $sorted=false)
    {
        if (is_array($str) && $msgs == null)
            list($str, $msgs, $charset, $sort_field, $threads) = $str;
            list($str, $msgs, $charset, $sort_field, $threads, $sorted) = $str;
        if ($msgs === false)
            $msgs = array();
        else if ($msgs != null && !is_array($msgs))
@@ -1999,12 +1999,11 @@
        }
        $struct = &$this->_structure_part($structure, 0, '', $headers);
        $struct->headers = get_object_vars($headers);
        // don't trust given content-type
        if (empty($struct->parts) && !empty($struct->headers['ctype'])) {
        if (empty($struct->parts) && !empty($headers->ctype)) {
            $struct->mime_id = '1';
            $struct->mimetype = strtolower($struct->headers['ctype']);
            $struct->mimetype = strtolower($headers->ctype);
            list($struct->ctype_primary, $struct->ctype_secondary) = explode('/', $struct->mimetype);
        }
@@ -2386,6 +2385,9 @@
        if ($fp || $print) {
            return true;
        }
        // Remove NULL characters (#1486189)
        $body = str_replace("\x00", '', $body);
        // convert charset (if text or message part)
        if ($body && !$skip_charset_conv &&
@@ -3498,7 +3500,8 @@
        }
        if (!empty($options['rights'])) {
            $options['norename'] = !in_array('x', $options['rights']);
            $options['norename'] = !in_array('x', $options['rights']) && !in_array('d', $options['rights']);
            if (!$options['noselect']) {
                $options['noselect'] = !in_array('r', $options['rights']);
            }