- Small improvement in SELECT response parsing

release-0.6
alecpl 14 years ago
parent 7f5b535d12
commit 03dbf37d5c

@ -749,31 +749,24 @@ class rcube_imap_generic
if ($this->putLine("sel1 SELECT \"".$this->escape($mailbox).'"')) {
do {
$line = rtrim($this->readLine(300));
$a = explode(' ', $line);
if (count($a) == 3) {
$token = strtoupper($a[2]);
if ($token == 'EXISTS') {
$this->exists = (int) $a[1];
}
else if ($token == 'RECENT') {
$this->recent = (int) $a[1];
}
$line = rtrim($this->readLine(512));
if (preg_match('/^\* ([0-9]+) (EXISTS|RECENT)$/', $line, $m)) {
$token = strtolower($m[2]);
$this->$token = (int) $m[1];
}
else if (preg_match('/\[?PERMANENTFLAGS\s+\(([^\)]+)\)\]/U', $line, $match)) {
$this->permanentflags = explode(' ', $match[1]);
}
} while (!$this->startsWith($line, 'sel1', true, true));
if (strcasecmp($a[1], 'OK') == 0) {
if ($this->parseResult($line) == 0) {
$this->selected = $mailbox;
return true;
}
else {
$this->error = "Couldn't select $mailbox";
}
}
$this->error = "Couldn't select $mailbox";
return false;
}

Loading…
Cancel
Save