/** * 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); } if (isset($imapGmailConfiguration['googleAuthCode'])) { $userEmailOrigin->setGoogleAuthCode($imapGmailConfiguration['googleAuthCode']); } $accountTypeModel->setUserEmailOrigin($userEmailOrigin); return $accountTypeModel; }
/** * Return UserEmailOrigin entity created with data of $data variable */ protected function getUserEmailOrigin($data) { $userEmailOrigin = new UserEmailOrigin(); $userEmailOrigin->setUser($data['user']); $userEmailOrigin->setAccessTokenExpiresAt($data['accessTokenExpiresAt']); $userEmailOrigin->setGoogleAuthCode($data['googleAuthCode']); if (isset($data['password'])) { $userEmailOrigin->setPassword($data['password']); } if (isset($data['accessToken'])) { $userEmailOrigin->setAccessToken($data['accessToken']); } $organization = $this->getMock('Oro\\Bundle\\OrganizationBundle\\Entity\\Organization'); $userEmailOrigin->setOrganization($organization); return $userEmailOrigin; }