/var/www/vhosts/ihelp.ro/httpdocs/src/Controller/Component
NameSizeModeActions
MailHelpComponent.php39810644editdlrm
SpreadsheetComponent.php40260644editdlrm
ToolsComponent.php50230644editdlrm
UserAuthComponent.php155410644editdlrm
UserConnectComponent.php61770644editdlrm
Edit: /var/www/vhosts/ihelp.ro/httpdocs/src/Controller/Component/UserConnectComponent.php (6177B)
registry = $registry; parent::__construct($registry, $config); } public function beforeFilter(EventInterface $event) { $this->controller = $this->getController(); $this->request = $this->controller->getRequest(); $this->response = $this->controller->getResponse(); $this->session = $this->request->getSession(); } public function facebook_connect($redirectUrl = null) { //require_once(USERMGMT_PATH . DS . 'vendor' . DS . 'facebook' . DS . 'src' . DS . 'Facebook' . DS . 'autoload.php'); if (empty($redirectUrl)) { $redirectUrl = Router::url('/', true) . 'login/fb'; } $fb = new \Facebook\Facebook([ 'app_id' => FB_APP_ID, 'app_secret' => FB_SECRET, 'default_graph_version' => 'v5.0' ]); $helper = $fb->getRedirectLoginHelper(); if (isset($_GET['state'])) { $helper->getPersistentDataHandler()->set('state', $_GET['state']); } $fbData = []; if (isset($_GET['error'])) { $fbData['error'] = $_GET['error_description']; $fbData['line_number'] = __LINE__; } else if (isset($_GET['code'])) { try { $accessToken = $helper->getAccessToken(); if (isset($accessToken)) { $fb->setDefaultAccessToken($accessToken); $oAuth2Client = $fb->getOAuth2Client(); if (!$accessToken->isLongLived()) { // Exchanges a short-lived access token for a long-lived one try { $accessToken = $oAuth2Client->getLongLivedAccessToken($accessToken); } catch (\Facebook\Exceptions\FacebookSDKException $ex) { $fbData['error'] = "Exception occured, with message: " . $ex->getMessage(); $fbData['line_number'] = __LINE__; } } if (empty($fbData['error'])) { $_SESSION['facebook_access_token'] = (string) $accessToken; try { $response = $fb->get('/me?fields=id,first_name,last_name,name,email,gender'); } catch (\Facebook\Exceptions\FacebookResponseException $ex) { $fbData['error'] = "Exception occured, with message: " . $ex->getMessage(); $fbData['line_number'] = __LINE__; } catch (Facebook\Exceptions\FacebookSDKException $ex) { $fbData['error'] = "Exception occured, with message: " . $ex->getMessage(); $fbData['line_number'] = __LINE__; } if (empty($fbData['error'])) { $fbData = $response->getDecodedBody() + $this->getDefaultData(); $fbData['picture'] = 'http://graph.facebook.com/' . $fbData['id'] . '/picture?type=large'; $fbData['logoutURL'] = $helper->getLogoutUrl($accessToken, Router::url('/', true)); $fbData['access_token'] = (string) $accessToken; } } } } catch (\Facebook\Exceptions\FacebookResponseException $ex) { $fbData['error'] = "Exception occured, code: " . $ex->getCode() . " with message: " . $ex->getMessage(); $fbData['line_number'] = __LINE__; } catch (\Facebook\Exceptions\FacebookSDKException $ex) { $fbData['error'] = "Exception occured, with message: " . $ex->getMessage(); $fbData['line_number'] = __LINE__; } } else { $permissions = array_map('trim', explode(',', FB_SCOPE)); $fbData['redirectURL'] = $helper->getLoginUrl($redirectUrl, $permissions) . "&display=popup"; } return $fbData; } public function gmail_connect($redirectUrl = null) { if (empty($redirectUrl)) { $redirectUrl = SITE_URL . 'login/gmail'; } $client = new \Google_Client(); $client->setClientId(GMAIL_CLIENT_ID); $client->setClientSecret(GMAIL_CLIENT_SECRET); $client->setRedirectUri($redirectUrl); $client->setDeveloperKey(GMAIL_API_KEY); $client->setScopes(['email', 'profile']); $client->setPrompt('select_account'); $objOAuthService = new \Google_Service_Oauth2($client); $gmailData = []; if (isset($_GET['error'])) { $gmailData['error'] = __('User denied permission'); $gmailData['line_number'] = __LINE__; } else if (isset($_GET['code'])) { $client->authenticate($_GET['code']); $_SESSION['access_token'] = $client->getAccessToken(); } if ($client->getAccessToken()) { $userData = $objOAuthService->userinfo->get(); $userData = json_decode(json_encode($userData), true); if (!empty($userData['email']) && !empty($userData['verifiedEmail'])) { $gmailData = $userData + $this->getDefaultData(); if (!empty($userData['givenName'])) { $gmailData['first_name'] = $userData['givenName']; } if (!empty($userData['familyName'])) { $gmailData['last_name'] = $userData['familyName']; } if (!empty($userData['name'])) { $gmailData['name'] = $userData['name']; } else { $gmailData['name'] = trim($gmailData['first_name'] . ' ' . $gmailData['last_name']); } if (empty($gmailData['first_name'])) { $emailArr = explode('@', $gmailData['email']); $gmailData['first_name'] = $emailArr[0]; } if (empty($gmailData['name'])) { $emailArr = explode('@', $gmailData['email']); $gmailData['name'] = $emailArr[0]; } } else { $gmailData['error'] = __('User data not found'); $gmailData['line_number'] = __LINE__; } } else { if (empty($gmailData['error'])) { $gmailData['redirectURL'] = $client->createAuthUrl(); } } return $gmailData; } public function getDefaultData() { $default = []; $default['first_name'] = $default['last_name'] = $default['name'] = $default['picture'] = ''; return $default; } }