<?php $http = eZHTTPTool::instance(); $Module = $Params['Module']; $settingsBlock = base64_decode($Params['SettingsBlock']); $accessToken = base64_decode($Params['AccessToken']); $saveStatus = false; $NGPushIni = eZINI::instance('ngpush.ini'); switch ($Params['Case']) { case 'twitter': $connection = new TwitterOAuth($NGPushIni->variable($settingsBlock, 'ConsumerKey'), $NGPushIni->variable($settingsBlock, 'ConsumerSecret'), ngPushBase::load_token($settingsBlock, 'request_sign_oauth_token'), ngPushBase::load_token($settingsBlock, 'request_sign_oauth_token_secret')); $AccessTokenVerifier = $accessToken; $token_credentials = $connection->getAccessToken($AccessTokenVerifier); $saveStatus = ngPushBase::save_token($settingsBlock, $token_credentials['oauth_token'] . '%%%' . $token_credentials['oauth_token_secret'], 'main_token'); break; case 'facebook': $saveStatus = ngPushBase::save_token($settingsBlock, $accessToken, 'main_token'); break; case 'facebook_oauth': $accessToken = explode('%%%', $accessToken); $http = eZHTTPTool::instance(); if ($accessToken[0] != $http->sessionVariable('ngpush_state', '')) { break; } $AdministrationUrl = '/'; eZURI::transformURI($AdministrationUrl, false, 'full'); $AdministrationUrl = base64_encode($AdministrationUrl); $redirectUrl = 'http://' . $NGPushIni->variable('PushNodeSettings', 'ConnectURL') . '/redirect.php/' . $AdministrationUrl . '/' . $Params['SettingsBlock'] . '?case=facebook'; $token_url = "https://graph.facebook.com/oauth/access_token?" . "client_id=" . $NGPushIni->variable($settingsBlock, 'AppId') . "&redirect_uri=" . urlencode($redirectUrl) . "&client_secret=" . $NGPushIni->variable($settingsBlock, 'AppSecret') . "&code=" . $accessToken[1]; $response = file_get_contents($token_url); $params = null;