- Fix commit r5424 + preformance microoptimizations

pull/1/head
alecpl 14 years ago
parent 89dcf54071
commit 305b366bb0

@ -3177,8 +3177,8 @@ class rcube_imap
foreach ((array)$namespace as $ns) {
if (is_array($ns)) {
foreach ($ns as $ns_data) {
if ($len = strlen($ns_data[0])) {
$search = array('len' => $len, 'prefix' => $ns_data[0]);
if (strlen($ns_data[0])) {
$search = $ns_data[0];
}
}
}
@ -3186,9 +3186,9 @@ class rcube_imap
if (!empty($search)) {
// go through all folders detecting namespace usage
foreach ($list as $folder) {
foreach ($search as $idx => $s) {
if ($s['prefix'] == substr($folder, 0, $s['len'])) {
foreach ($result as $folder) {
foreach ($search as $idx => $prefix) {
if (strpos($folder, $prefix) === 0) {
unset($search[$idx]);
}
}
@ -3198,8 +3198,8 @@ class rcube_imap
}
// get folders in hidden namespaces and add to the result
foreach ($search as $s) {
$list = $this->conn->listMailboxes($s['prefix'], $name);
foreach ($search as $prefix) {
$list = $this->conn->listMailboxes($prefix, $name);
if (!empty($list)) {
$result = array_merge($result, $list);
@ -3484,8 +3484,8 @@ class rcube_imap
foreach ($this->namespace as $type => $namespace) {
if (is_array($namespace)) {
foreach ($namespace as $ns) {
if (strlen($ns[0])) {
if ((strlen($ns[0])>1 && $mailbox == substr($ns[0], 0, -1))
if ($len = strlen($ns[0])) {
if (($len > 1 && $mailbox == substr($ns[0], 0, -1))
|| strpos($mailbox, $ns[0]) === 0
) {
return $type;

Loading…
Cancel
Save