/** * @return array */ protected function createChoices() { $user = $this->securityFacade->getLoggedUser(); if (!$user instanceof User) { return []; } $emails = array_values($this->relatedEmailsProvider->getEmails($user, 1, true)); return array_combine($emails, $emails); }
/** * @return array */ protected function createChoices() { $user = $this->securityFacade->getLoggedUser(); if (!$user instanceof User) { return []; } $emails = array_merge(array_values($this->relatedEmailsProvider->getEmails($user, 1, true)), $this->mailboxManager->findAvailableMailboxEmails($user, $this->securityFacade->getOrganization())); return array_combine($emails, $emails); }
/** * Gets the email address of the given object * * @param object $object * @return string The email address or empty string if the object has no email */ public function getEmail($object) { $result = $this->emailHolderHelper->getEmail($object); if (!$result) { $emails = $this->relatedEmailsProvider->getEmails($object); $result = reset($emails); } return $result ?: ''; }
/** * {@inheritdoc} */ public function getRecipients(EmailRecipientsProviderArgs $args) { if (null === ($user = $this->securityFacade->getLoggedUser())) { return []; } $userEmailAddresses = array_keys($this->relatedEmailsProvider->getEmails($user, 1, true)); $recipientsQb = $this->getEmailRecipientRepository()->getEmailsUsedInLast30DaysQb($userEmailAddresses, [], $args->getQuery())->setMaxResults($args->getLimit()); $emails = $this->emailsFromResult($this->aclHelper->apply($recipientsQb)->getResult()); $result = []; foreach ($emails as $email => $name) { $owner = $this->emailOwnerProvider->findEmailOwner($this->registry->getManager(), $email); if (!$this->emailRecipientsHelper->isObjectAllowed($args, $owner)) { continue; } $result[] = new Recipient($email, $name, $this->createRecipientEntity($owner)); } return $result; }