function onAfterInitialise() { $document = JFactory::getDocument(); $document->addStyleSheet(JURI::root() . 'plugins/system/bt_socialconnect_system/element/css/style.css'); $session = JFactory::getSession(); $message = $session->get('bts-message'); if ($message) { JFactory::getApplication()->enqueueMessage($message); $session->clear('bts-message'); } $params = JComponentHelper::getParams('com_bt_socialconnect'); if (JRequest::getVar("bttask") == "login" || JRequest::getVar("bttask") == "register") { if (file_exists(JPATH_ROOT . '/modules/mod_btsocialconnect_login/helper.php')) { require_once JPATH_ROOT . '/modules/mod_btsocialconnect_login/helper.php'; modbt_socialconnectHelper::ajax(); } } if (isset($_REQUEST["code"])) { $code = $_REQUEST["code"]; if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_fb') { $callback_url = JURI::root(); $token_url = JHtmlBt_Socialconnect::getTokenUrl(trim($params->get('fbappId', '')), $callback_url, trim($params->get('fbsecret', '')), $code); $response = JHtmlBt_Socialconnect::curlResponse($token_url); $paramsFB = null; parse_str($response, $paramsFB); $graph_url = "https://graph.facebook.com/me?access_token=" . $paramsFB['access_token']; $user = JHtmlBt_Socialconnect::curlResponse($graph_url); $user = JHtmlBt_Socialconnect::prepareData(json_decode($user), 'facebook'); $user = JHtmlBt_Socialconnect::assignProfile($user); $user['access_token'] = $paramsFB['access_token']; JHtmlBt_Socialconnect::checkUser($user, $params); if ($params->get('fbregister', 'automatic') == 'automatic') { JHtmlBt_Socialconnect::authenticationSocial($params, $user); } else { if (!empty(JFactory::getUser()->id)) { JHtmlBt_Socialconnect::authenticationSocial($params, $user); JHtmlBt_Socialconnect::reloadParent($return_decode); } else { JHtmlBt_Socialconnect::loadDataForm($user); } } } if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_tt') { if (!class_exists('TwitterOAuth')) { require_once JPATH_SITE . '/components/com_bt_socialconnect/helpers/html/twitter/twitteroauth.php'; } $session = JFactory::getSession(); if (!isset($_REQUEST['btcallback'])) { $connection = new TwitterOAuth(trim($params->get('ttappId', '')), trim($params->get('ttsecret', ''))); $uri = JFactory::getURI(); $mainframe = JFactory::getApplication(); $uri->setVar('btcallback', 1); $request_token = $connection->getRequestToken($uri->toString()); $session->set('oauth_token', $request_token['oauth_token']); $session->set('oauth_token_secret', $request_token['oauth_token_secret']); /* If last connection failed don't display authorization link. */ switch ($connection->http_code) { case 200: $url = $connection->getAuthorizeURL($request_token['oauth_token']); $mainframe->redirect($url); break; default: JHtmlBt_Socialconnect::response('Could not connect to Twitter. Refresh the page or try again later.'); } } else { if (isset($_REQUEST['oauth_token']) && $session->get('oauth_token') !== $_REQUEST['oauth_token']) { $session->clear('oauth_token'); $session->clear('oauth_token_secret'); } else { $connection = new TwitterOAuth(trim($params->get('ttappId', '')), trim($params->get('ttsecret', '')), $session->get('oauth_token'), $session->get('oauth_token_secret')); $access_token = $connection->getAccessToken($_REQUEST['oauth_verifier']); if (200 == $connection->http_code) { $user = $connection->get('account/verify_credentials'); $user = JHtmlBt_Socialconnect::prepareData($user, 'twitter'); $user = JHtmlBt_Socialconnect::assignProfile($user, $params->get('tt-profiles')); $user['access_token'] = serialize($access_token); JHtmlBt_Socialconnect::checkUser($user, $params); $session->set('connection', serialize($connection)); if ($params->get('ttregister', 'automatic') == 'automatic') { JHtmlBt_Socialconnect::authenticationSocial($params, $user); } else { if (!empty(JFactory::getUser()->id)) { JHtmlBt_Socialconnect::authenticationSocial($params, $user); JHtmlBt_Socialconnect::reloadParent($return_decode); } else { $user['email1'] = ''; $user['email2'] = ''; JHtmlBt_Socialconnect::loadDataForm($user); } } } else { JHtmlBt_Socialconnect::response('Error:' . $connection->http_code); } } } } if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_gg') { $token = JHtmlBt_Socialconnect::getTokenGG($code, trim($params->get('ggappId', '')), trim($params->get('ggsecret', '')), JURI::base(), 'authorization_code'); $user = JHtmlBt_Socialconnect::getUserGG($token->access_token); $user = JHtmlBt_Socialconnect::prepareData($user, 'google'); $user = JHtmlBt_Socialconnect::assignProfile($user, $params->get('gg-profiles')); $user['access_token'] = $token->access_token; // check existing user JHtmlBt_Socialconnect::checkUser($user, $params); if ($params->get('ggregister', 'automatic') == 'automatic') { JHtmlBt_Socialconnect::authenticationSocial($params, $user); } else { if (!empty(JFactory::getUser()->id)) { JHtmlBt_Socialconnect::authenticationSocial($params, $user); JHtmlBt_Socialconnect::reloadParent($return_decode); } else { JHtmlBt_Socialconnect::loadDataForm($user); } } } if (isset($_REQUEST['state']) && $_REQUEST['state'] == 'sc_linkedin') { $callback_url = JURI::root(); $token_url = JHtmlBt_Socialconnect::getTokenLinkedin(trim($params->get('linkappId', '')), $callback_url, trim($params->get('linksecret', '')), $code); $user = JHtmlBt_Socialconnect::fetch('GET', $token_url->access_token); $user = JHtmlBt_Socialconnect::prepareData($user, 'linkedin'); $user = JHtmlBt_Socialconnect::assignProfile($user); $user['access_token'] = $token_url->access_token; JHtmlBt_Socialconnect::checkUser($user, $params); if ($params->get('linkregister', 'automatic') == 'automatic') { JHtmlBt_Socialconnect::authenticationSocial($params, $user); } else { if (!empty(JFactory::getUser()->id)) { JHtmlBt_Socialconnect::authenticationSocial($params, $user); JHtmlBt_Socialconnect::reloadParent($return_decode); } else { JHtmlBt_Socialconnect::loadDataForm($user); } } } } //Check facebook login if (isset($_COOKIE['facebookid']) && $_COOKIE['facebookid'] != "") { $faceid = $_COOKIE['facebookid']; $userid = JHtmlBt_Socialconnect::getUser($faceid); if ($userid) { $email = JHtmlBt_Socialconnect::getEmail($userid); if ($email) { if (empty(JFactory::getUser()->id)) { JHtmlBt_Socialconnect::loginSocial($email); } } } } }