Esempio n. 1
0
 public function fire($job, $data)
 {
     if ($job->attempts() > 3) {
         $job->delete();
     }
     $user_id = $data['id'];
     $result = $data['result'];
     $user_data = User::find($user_id);
     $token = $user_data->token;
     $result = json_decode(file_get_contents("https://api.linkedin.com/v1/people/~:(id,first-name,last-name,skills,headline,summary,industry,member-url-resources,picture-urls::(original),location,public-profile-url,email-address)?format=json&oauth2_access_token={$token}"));
     $InsTag = KarmaHelper::insertUsertag($user_data, $result);
     $InsConnection = KarmaHelper::insertUserConnection($user_data);
     $InsConnection = KarmaHelper::updateUserProfile($user_id, $result);
     $job->delete();
 }
 public function loginWithLinkedin()
 {
     // get data from input
     $code = Input::get('code');
     $linkedinService = OAuth::consumer('Linkedin');
     if (!empty($code)) {
         // This was a callback request from linkedin, get the token
         $token = $linkedinService->requestAccessToken($code);
         //$token="7ee85959-1809-4899-a10d-626740702f5d";
         // Send a request with it. Please note that XML is the default format.
         $result = json_decode($linkedinService->request('/people/~:(id,first-name,last-name,skills,headline,summary,industry,member-url-resources,picture-urls::(original),location,public-profile-url,email-address,site-standard-profile-request)?format=json'), true);
         $linkedinid = $result['id'];
         //echo "<pre>";print_r($token->getAccessToken());echo "</pre>";
         //echo $token->accessToken;die;
         //die();
         if (!empty($token)) {
             //$user = User::where('linkedinid', '=', $linkedinid)->first();
             $user = User::where('linkedinid', '=', $linkedinid)->first();
             if (!empty($user)) {
                 $user_data = $user->toArray();
                 $user_id = $user_data['id'];
                 $user_info = User::find($user_id);
                 $user = User::find($user_id);
                 $user->token = $token->getAccessToken();
                 $user->save();
                 $CurrentDate = KarmaHelper::currentDate();
                 $profileupdatedate = $user_info->profileupdatedate;
                 $diffDate = KarmaHelper::dateDiff($CurrentDate, $profileupdatedate);
                 $diffDate = $diffDate->days * 24 + $diffDate->h;
                 $refreshTime = Adminoption::where('option_name', '=', 'connection refresh time')->first();
                 //echo "<pre>";print_r($refreshTime);echo "</pre>";die();
                 $InsConnection = KarmaHelper::updateUserProfile($user, $result);
                 if (!empty($refreshTime)) {
                     $refreshTime = $refreshTime->toArray();
                     $refreshTime = $refreshTime['option_value'];
                 } else {
                     $refreshTime = '360';
                 }
                 if ($diffDate >= $refreshTime) {
                     $date = Carbon::now()->addMinutes(5);
                     Queue::push('UpdateUser', array('id' => $user_id, 'result' => $result));
                 }
                 //echo "<pre>";print_r($user);echo "</pre>";die();
                 if (Auth::loginUsingId($user_id)) {
                     if ($user['registrationstatus'] == '0') {
                         return Redirect::to('register');
                     } else {
                         return Redirect::to('dashboard');
                     }
                 } else {
                     return Redirect::route('/');
                 }
             } else {
                 if (!isset($result['publicProfileUrl']) || $result['publicProfileUrl'] == '') {
                     $publicProfileUrl = $result['siteStandardProfileRequest']['url'];
                 } else {
                     $publicProfileUrl = $result['publicProfileUrl'];
                 }
                 $user = new User();
                 $user->fname = $result['firstName'];
                 $user->lname = @$result['lastName'];
                 $user->email = $result['emailAddress'];
                 $user->piclink = @$result['pictureUrls']['values'][0];
                 $user->linkedinid = $result['id'];
                 $user->summary = @$result['summary'];
                 $user->location = @$result['location']['name'];
                 $user->industry = @$result['industry'];
                 $user->headline = @$result['headline'];
                 $user->linkedinurl = @$publicProfileUrl;
                 $user->token = $token->getAccessToken();
                 $user->profileupdatedate = date('Y-m-d H:i:s');
                 $user->save();
                 $user = $user;
                 $user_id = $user->id;
                 $InsTag = KarmaHelper::insertUsertag($user, $result);
                 Queue::push('MessageSender@newUserEmail', array('user_id' => $user_id));
                 $InsConnection = KarmaHelper::insertUserConnection($user);
                 if (Auth::loginUsingId($user_id)) {
                     return Redirect::to('dashboard');
                 } else {
                     return Redirect::route('/');
                 }
             }
         }
     } else {
         // get linkedinService authorization
         $url = $linkedinService->getAuthorizationUri(array('state' => 'DCEEFWF45453sdffef424'));
         // return to linkedin login url
         return Redirect::to((string) $url);
     }
 }
 /**
  * Execute the console command.
  *
  * @return mixed
  */
 public function fire()
 {
     Log::alert('Executed Cron Job to update user data daily.');
     $getusers = DB::table('users')->select(array('users.*'))->where('users.userstatus', '=', 'approved')->orderBy('created_at', 'DESC')->get();
     if (!empty($getusers)) {
         foreach ($getusers as $user_info) {
             $diffDate = KarmaHelper::dateDiff(date("Y-m-d H:i:s"), $user_info->profileupdatedate);
             if ($diffDate->days < 60) {
                 $user_data = User::find($user_info->id);
                 $token = $user_data->token;
                 //$result = json_decode(file_get_contents("https://api.linkedin.com/v1/people/~:(id,first-name,last-name,skills,headline,summary,industry,member-url-resources,picture-urls::(original),location,public-profile-url,email-address)?format=json&oauth2_access_token=$token"));
                 $curl_handle = curl_init();
                 curl_setopt($curl_handle, CURLOPT_URL, 'https://api.linkedin.com/v1/people/~:(id,first-name,last-name,skills,headline,summary,industry,member-url-resources,picture-urls::(original),location,public-profile-url,email-address)?format=json&oauth2_access_token=$token');
                 curl_setopt($curl_handle, CURLOPT_CONNECTTIMEOUT, 2);
                 curl_setopt($curl_handle, CURLOPT_RETURNTRANSFER, 1);
                 curl_setopt($curl_handle, CURLOPT_USERAGENT, 'Your application name');
                 $result = curl_exec($curl_handle);
                 curl_close($curl_handle);
                 $publicProfileUrl = "";
                 if (isset($result->id)) {
                     $InsTag = KarmaHelper::insertUsertag($user_data, $result);
                     // Close insertUserConnection due to linkedIn changes
                     //$InsConnection = KarmaHelper::insertUserConnection($user_data);
                     $InsConnection = KarmaHelper::updateUserProfile($user_info->id, $result);
                     //update user profile details
                     if (!isset($result->publicProfileUrl) || $result->publicProfileUrl == '') {
                         $publicProfileUrl = $result->siteStandardProfileRequest['url'];
                     } else {
                         $publicProfileUrl = $result->publicProfileUrl;
                     }
                     $imageurl = "";
                     if (isset($result->pictureUrls->values[0])) {
                         $imageurl = $result->pictureUrls->values[0];
                     }
                     $user = User::find($user_info->id);
                     $user->email = $result->emailAddress;
                     if (isset($imageurl)) {
                         $user->piclink = $imageurl;
                     }
                     if (isset($result->summary)) {
                         $user->summary = $result->summary;
                     }
                     if (!empty($result->location)) {
                         $user->location = $result->location->name;
                     }
                     if (isset($result->industry)) {
                         $user->industry = $result->industry;
                     }
                     if (isset($result->headline)) {
                         $user->headline = $result->headline;
                     }
                     if ($publicProfileUrl != "") {
                         $user->linkedinurl = $publicProfileUrl;
                     }
                     $user->profileupdatedate = date('Y-m-d H:i:s');
                     $user->save();
                 }
                 sleep('2');
             }
         }
     }
 }