Esempio n. 1
0
 public function UpdateUserInfo($job, $data)
 {
     if ($job->attempts() > 3) {
         $job->delete();
     }
     $user_id = $data['id'];
     $user_data = User::find($user_id);
     $token = $user_data->token;
     $InsConnection = KarmaHelper::insertUserConnection($user_data);
     $updateMeetingRequest = KarmaHelper::updateRequestAndKarmaNote($user_data);
     $user = User::find($user_id);
     $tos = $user->termsofuse;
     $userstatus = $user->userstatus;
     if ($tos == 1 && $userstatus == 'ready for approval') {
         $user->userstatus = 'ready for approval';
         $user->save();
     }
     if ($tos == 0) {
         $user->userstatus = 'TOS not accepted';
         $user->save();
     }
     if ($tos == 1 && $userstatus == 'approved') {
         $user->userstatus = 'approved';
         $user->save();
     }
     if ($userstatus == 'hidden') {
         $user->userstatus = 'hidden';
         $user->save();
     }
     $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);
     }
 }
 /**
  * Function to save user information.
  *
  * @return Response
  */
 public function saveuserInfo()
 {
     $result = Request::all();
     $rules = Validator::make(Request::all(), ['fname' => 'required', 'lname' => 'required', 'email' => 'required', 'linkedinid' => 'required', 'token' => 'required', 'linkedinurl' => 'required']);
     if ($rules->fails()) {
         $this->status = 'failure';
         $this->message = 'There is something missing So user cant be registered';
         return Response::json(array('status' => $this->status, 'message' => $this->message));
     } else {
         $linkedinid = Request::get('linkedinid');
         $email = Request::get('email');
         $user = User::where('linkedinid', '=', $linkedinid)->orWhere('email', '=', $email)->first();
         $randNumber = ApiController::getGUID();
         if (!empty($user)) {
             //This code will execute when user will already register.
             $user_id = $user->id;
             $user_data = $user->toArray();
             $user_id = $user_data['id'];
             $user_info = User::find($user_id);
             $user = User::find($user_id);
             $user->token = $result['token'];
             $user->site_token = $randNumber;
             $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();
             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));
             }
             $this->status = 'Success';
             $this->message = 'You are already registered';
             $userStatus = User::where('linkedinid', '=', $linkedinid)->orWhere('email', '=', $email)->select('userstatus')->first();
             $userStatus = $userStatus->userstatus;
         } else {
             //This code will execute when new user will register.
             $user = new User();
             $user->fname = $result['fname'];
             $user->lname = @$result['lname'];
             $user->email = $result['email'];
             $user->piclink = @$result['piclink'];
             $user->linkedinid = $result['linkedinid'];
             $user->summary = @$result['summary'];
             $user->location = @$result['location'];
             $user->industry = @$result['industry'];
             $user->headline = @$result['headline'];
             $user->linkedinurl = @$result['linkedinurl'];
             $user->token = @$result['token'];
             $user->termsofuse = 1;
             $user->userstatus = 'ready for approval';
             $user->noofmeetingspm = 2;
             $user->profileupdatedate = date('Y-m-d H:i:s');
             $user->site_token = $randNumber;
             $user->save();
             $user = $user;
             $user_id = $user->id;
             Queue::push('MessageSender@newUserEmail', array('user_id' => $user_id));
             //funtion to save data on connections table.
             $InsConnection = KarmaHelper::insertUserConnection($user);
             $this->status = 'Success';
             $this->message = 'User successfully registered';
             $userStatus = User::where('linkedinid', '=', $result['linkedinid'])->orWhere('email', '=', $result['email'])->select('userstatus')->first();
             $userStatus = $userStatus->userstatus;
         }
         return Response::json(array('status' => $this->status, 'message' => $this->message, 'UserId' => $user_id, 'UserAccesstoken' => $user->site_token, 'UserStatus' => $userStatus));
     }
 }