/** * @param $type * @param $oauthEmailOrigin * @return AccountTypeModel */ protected function createAccountModel($type, $oauthEmailOrigin) { $accountTypeModel = new AccountTypeModel(); $accountTypeModel->setAccountType($type); $accountTypeModel->setUserEmailOrigin($oauthEmailOrigin); return $accountTypeModel; }
/** * @return AccountTypeModel */ public function getImapAccountType() { if ($this->imapAccountType === null) { /** @var UserEmailOrigin $userEmailOrigin */ $userEmailOrigin = $this->getOrigin(); $accountTypeModel = null; if ($userEmailOrigin) { $accountTypeModel = new AccountTypeModel(); if ($userEmailOrigin->getAccessToken() && $userEmailOrigin->getAccessToken() !== '') { $accountTypeModel->setAccountType(AccountTypeModel::ACCOUNT_TYPE_GMAIL); $accountTypeModel->setUserEmailOrigin($userEmailOrigin); } else { $accountTypeModel->setAccountType(AccountTypeModel::ACCOUNT_TYPE_OTHER); $accountTypeModel->setUserEmailOrigin($userEmailOrigin); } } if ($accountTypeModel) { return $accountTypeModel; } } return $this->imapAccountType; }
/** * Create object of AccountTypeModel using data of form * * @param array $data * * @return AccountTypeModel|null */ protected function createAccountTypeModelFromData($data) { $imapGmailConfiguration = isset($data['userEmailOrigin']) ? $data['userEmailOrigin'] : []; if (empty($imapGmailConfiguration['user'])) { return null; } $accountTypeModel = new AccountTypeModel(); $accountTypeModel->setAccountType($data['accountType']); $userEmailOrigin = new UserEmailOrigin(); $userEmailOrigin->setImapHost($imapGmailConfiguration['imapHost']); $userEmailOrigin->setImapPort($imapGmailConfiguration['imapPort']); $userEmailOrigin->setImapEncryption($imapGmailConfiguration['imapEncryption']); $userEmailOrigin->setUser($imapGmailConfiguration['user']); if (!empty($imapGmailConfiguration['accessTokenExpiresAt'])) { $newExpireDate = $imapGmailConfiguration['accessTokenExpiresAt']; if (!$newExpireDate instanceof \Datetime) { $utcTimeZone = new \DateTimeZone('UTC'); $accessTokenExpiresAt = $imapGmailConfiguration['accessTokenExpiresAt']; $newExpireDate = new \DateTime('+' . $accessTokenExpiresAt . ' seconds', $utcTimeZone); } $userEmailOrigin->setAccessTokenExpiresAt($newExpireDate); } $accountTypeModel->setUserEmailOrigin($userEmailOrigin); return $accountTypeModel; }