|
|
@ -48,6 +48,8 @@ class rcube_imap_generic
|
|
|
|
'*' => '\\*',
|
|
|
|
'*' => '\\*',
|
|
|
|
);
|
|
|
|
);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public static $mupdate;
|
|
|
|
|
|
|
|
|
|
|
|
private $fp;
|
|
|
|
private $fp;
|
|
|
|
private $host;
|
|
|
|
private $host;
|
|
|
|
private $logged = false;
|
|
|
|
private $logged = false;
|
|
|
@ -3156,6 +3158,11 @@ class rcube_imap_generic
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
foreach ($data as $entry) {
|
|
|
|
foreach ($data as $entry) {
|
|
|
|
|
|
|
|
// Workaround cyrus-murder bug, the entry[2] string needs to be escaped
|
|
|
|
|
|
|
|
if (self::$mupdate) {
|
|
|
|
|
|
|
|
$entry[2] = addcslashes($entry[2], '\\"');
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
// ANNOTATEMORE drafts before version 08 require quoted parameters
|
|
|
|
// ANNOTATEMORE drafts before version 08 require quoted parameters
|
|
|
|
$entries[] = sprintf('%s (%s %s)', $this->escape($entry[0], true),
|
|
|
|
$entries[] = sprintf('%s (%s %s)', $this->escape($entry[0], true),
|
|
|
|
$this->escape($entry[1], true), $this->escape($entry[2], true));
|
|
|
|
$this->escape($entry[1], true), $this->escape($entry[2], true));
|
|
|
@ -3720,6 +3727,10 @@ class rcube_imap_generic
|
|
|
|
$this->prefs['literal+'] = true;
|
|
|
|
$this->prefs['literal+'] = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
if (preg_match('/(\[| )MUPDATE=.*/', $str)) {
|
|
|
|
|
|
|
|
self::$mupdate = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
if ($trusted) {
|
|
|
|
if ($trusted) {
|
|
|
|
$this->capability_readed = true;
|
|
|
|
$this->capability_readed = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|