/** * Returns array of mailbox choices. * * @return array */ public function getChoiceList() { /** @var Mailbox[] $systemMailboxes */ $systemMailboxes = $this->mailboxManager->findAvailableMailboxes($this->securityFacade->getLoggedUser(), $this->getOrganization()); $origins = $this->mailboxManager->findAvailableOrigins($this->securityFacade->getLoggedUser(), $this->getOrganization()); $choiceList = []; foreach ($origins as $origin) { $mailbox = $origin->getMailboxName(); if (count($origin->getFolders()) > 0) { $choiceList[$origin->getId()] = str_replace('@', '\\@', $mailbox); } } foreach ($systemMailboxes as $mailbox) { if ($mailbox->getOrigin() !== null) { $choiceList[$mailbox->getOrigin()->getId()] = $mailbox->getLabel(); } } return $choiceList; }
/** * Returns mailboxes available to currently logged in user. * * @return Mailbox[] */ public function getMailboxes() { $mailboxes = $this->mailboxManager->findAvailableMailboxes($this->getUser(), $this->getOrganization()); return $mailboxes; }