/** * @param UserEmailOrigin|null $origin * * @return $this */ public function setOrigin($origin = null) { $currentOrigin = $this->getOrigin(); if ($currentOrigin && ($origin === null || $origin->getUser() === null || $currentOrigin->getId() !== $origin->getId())) { $currentOrigin->setActive(false); $this->origin = null; } if ($origin !== null && $origin->getUser() !== null) { $this->origin = $origin; } return $this; }
/** * Set IMAP configuration * * @param UserEmailOrigin $imapConfiguration * * @return User */ public function setImapConfiguration($imapConfiguration = null) { $currentImapConfiguration = $this->getImapConfiguration(); if ($currentImapConfiguration && (null === $imapConfiguration || $currentImapConfiguration->getId() !== $imapConfiguration->getId())) { // deactivate current IMAP configuration and remove a reference to it $currentImapConfiguration->setActive(false); $this->removeEmailOrigin($currentImapConfiguration); } if (null !== $imapConfiguration && null !== $imapConfiguration->getUser()) { $this->addEmailOrigin($imapConfiguration); } return $this; }