/** * @param Folder $folder */ function GetFolderMessageCount(&$folder) { if (!$folder) { return; } elseif ($folder->SyncType == FOLDERSYNC_DirectMode) { if ($this->MailStorage->Connect()) { switch ($this->_account->MailProtocol) { case MAILPROTOCOL_IMAP4: $this->MailStorage->GetFolderMessageCount($folder); break; case MAILPROTOCOL_POP3: if ($folder->Type == FOLDERTYPE_Inbox) { $sizesArray =& $this->MailStorage->_getPop3Sizes(); $folder->MessageCount = count($sizesArray); } else { $folder->MessageCount = 0; } $folder->UnreadMessageCount = 0; break; case MAILPROTOCOL_WMSERVER: if ($folder->Type == FOLDERTYPE_Inbox) { $folder->MessageCount =& $this->MailStorage->getAllMessagesCount(); } else { $folder->MessageCount = 0; } $folder->UnreadMessageCount = 0; break; } } } elseif ($this->DbStorage->Connect()) { $this->DbStorage->GetFolderMessageCount($folder); } }