public static function Process($mResult) { $sSocialRedirect = ''; if (isset($_COOKIE["SocialRedirect"])) { $sSocialRedirect = $_COOKIE["SocialRedirect"]; @setcookie('SocialRedirect', null); } if ($sSocialRedirect === 'helpdesk') { self::SetValuesToCookie($mResult); $sTenantHash = self::GetTenantHashFromCookie(); if ($sTenantHash) { \CApi::Location('./?helpdesk=' . $sTenantHash); } else { \CApi::Location('./?helpdesk'); } } else { $oAccount = \api_Utils::GetDefaultAccount(); if ($oAccount) { $oApiSocial = \CApi::Manager('social'); $oSocial = new \CSocial(); $oSocial->IdAccount = $oAccount->IdAccount; switch ($mResult['type']) { case 'google': $oSocial->Type = \ESocialType::Google; $oSocial->AccessToken = $mResult['access_token']; $oSocial->RefreshToken = $mResult['refresh_token']; break; case 'dropbox': $oSocial->Type = \ESocialType::Dropbox; $oSocial->AccessToken = $mResult['access_token']; break; } $oSocial->IdSocial = $mResult['id']; $oSocial->Name = $mResult['name']; $bCreateResult = $oApiSocial->CreateSocial($oSocial); echo "<script>" . "if (typeof(window.opener.servicesSettingsViewModelCallback) !== 'undefined')" . "{" . "window.opener.servicesSettingsViewModelCallback('" . $mResult['type'] . "', " . $bCreateResult . ");" . "window.close();" . "}" . "</script>"; } } }
public function AjaxSocialAccountListGet() { $mResult['Result'] = false; $oTenant = null; $oAccount = \api_Utils::GetDefaultAccount(); $oApiTenants = \CApi::Manager('tenants'); if ($oAccount && $oApiTenants) { $oTenant = 0 < $oAccount->IdTenant ? $oApiTenants->getTenantById($oAccount->IdTenant) : $oApiTenants->getDefaultGlobalTenant(); } if ($oTenant) { $oApiSocial = \CApi::Manager('social'); $mResult['Result'] = $oApiSocial->getSocials($oAccount->IdAccount); } return $mResult; }
public static function Process($mResult) { $sSocialRedirect = ''; if (isset($_COOKIE["SocialRedirect"])) { $sSocialRedirect = $_COOKIE["SocialRedirect"]; @setcookie('SocialRedirect', null); } if ($sSocialRedirect === 'helpdesk') { self::SetValuesToCookie($mResult); $sTenantHash = self::GetTenantHashFromCookie(); if ($sTenantHash) { \CApi::Location('./?helpdesk=' . $sTenantHash); } else { \CApi::Location('./?helpdesk'); } } else { $oAccount = \api_Utils::GetDefaultAccount(); $oApiSocial = \CApi::Manager('social'); $oSocial = new \CSocial(); switch ($mResult['type']) { case 'google': $oSocial->Type = \ESocialType::Google; $oSocial->AccessToken = $mResult['access_token']; $oSocial->RefreshToken = $mResult['refresh_token']; break; case 'dropbox': $oSocial->Type = \ESocialType::Dropbox; $oSocial->AccessToken = $mResult['access_token']; break; } $oSocial->IdSocial = $mResult['id']; $oSocial->Name = $mResult['name']; if ($sSocialRedirect === 'login') { $oSocial->Scopes = 'LOGIN'; $oApiUsers = \CApi::Manager('users'); if (!$oApiSocial->SocialExists($oSocial->Type, $oSocial->IdSocial)) { $oAccount = $oApiUsers->GetAccountOnLogin($mResult['email']); if ($oAccount) { $oSocial->IdAccount = $oAccount->IdAccount; $oApiSocial->CreateSocial($oSocial); } else { // Account does not exist } } else { $oSocial = $oApiSocial->GetSocialById($oSocial->IdSocial, $oSocial->Type); if ($oSocial && $oSocial->IssetScope('auth')) { $oAccount = $oApiUsers->GetAccountById($oSocial->IdAccount); } else { // Account already exist } } $oApiIntegrator = \CApi::Manager('integrator'); $oApiIntegrator->SetAccountAsLoggedIn($oAccount, true); \CApi::Location('./'); } else { if ($oAccount) { $oSocial->IdAccount = $oAccount->IdAccount; $bCreateResult = $oApiSocial->CreateSocial($oSocial); echo "<script>" . "if (typeof(window.opener.servicesSettingsViewModelCallback) !== 'undefined')" . "{" . "window.opener.servicesSettingsViewModelCallback('" . $mResult['type'] . "', " . $bCreateResult . ");" . "window.close();" . "}" . "</script>"; } } } }