Beispiel #1
0
 public function getLinkedinUserInfo($linkedin_key, $linkedin_secret, $user_linkedin_key = false, $user_linkedin_secret = false)
 {
     Social::includeLinkedinLib();
     $user_linkedin_key = !empty($user_linkedin_key) ? $user_linkedin_key : $_SESSION['user_linkedin_key'];
     $user_linkedin_secret = !empty($user_linkedin_secret) ? $user_linkedin_secret : $_SESSION['user_linkedin_secret'];
     $res = false;
     $base_url = "https://api.linkedin.com/v1/people/~";
     $url = $base_url . ':(id,first-name,last-name,current-status)';
     $signature = new OAuthSignatureMethod_HMAC_SHA1();
     $consumer = new OAuthConsumer($linkedin_key, $linkedin_secret, NULL);
     $token = new OAuthConsumer($user_linkedin_key, $user_linkedin_secret, 1);
     $request = OAuthRequest::from_consumer_and_token($consumer, $token, "GET", $url);
     $request->sign_request($signature, $consumer, $token);
     $header = $request->to_header("https://api.linkedin.com");
     $response = $this->_linkedin_http_request($url, $header);
     parse_str($response);
     if (!strpos($response, '</error-code>') === FALSE) {
         $res = false;
     } else {
         // TODO: parse xml!
         preg_match('/<id>([^<]*)<\\/id>/i', $response, $fake_parse);
         $res = array('id' => $fake_parse[1]);
     }
     return $res;
 }
Beispiel #2
0
                 socialConnectLogin($userInfo->screen_name, 'twitter');
                 return;
             }
         } else {
             // user is already logged in, so connect the account with user
             $social->connectAccount('twitter', $userInfo->screen_name);
             Util::jump_to('index.php?r=lms/elearning/show');
             die;
         }
     } else {
         Util::jump_to('index.php?access_fail=3');
     }
     break;
 case "linkedin_login":
     $social = new Social();
     $social->includeLinkedinLib();
     require_once _base_ . '/lib/lib.preference.php';
     $preference = new UserPreferences(getLogUserId());
     $conf = $social->getConfig();
     $user_pref = array();
     if (Docebo::user()->isAnonymous()) {
         $user_pref['linkedin_key'] = '';
         $user_pref['linkedin_secret'] = '';
     } else {
         $user_pref['linkedin_key'] = $preference->getPreference('social.linkedin_key');
         $user_pref['linkedin_secret'] = $preference->getPreference('social.linkedin_secret');
     }
     $already_auth = $social->checkLinkedinAuth($conf['linkedin_key'], $conf['linkedin_secret'], $user_pref['linkedin_key'], $user_pref['linkedin_secret']);
     $sign_in = false;
     if ($already_auth) {
         $sign_in = true;