/**
  * @param $type
  * @param $oauthEmailOrigin
  * @return AccountTypeModel
  */
 protected function createAccountModel($type, $oauthEmailOrigin)
 {
     $accountTypeModel = new AccountTypeModel();
     $accountTypeModel->setAccountType($type);
     $accountTypeModel->setUserEmailOrigin($oauthEmailOrigin);
     return $accountTypeModel;
 }
Ejemplo n.º 2
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * 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;
 }