/** * Execute the console command. * * @return mixed */ public function fire() { Log::alert('Executed Cron Job'); $KarmaNotePending = Meetingrequest::where('status', '=', 'confirmed')->where('cronjobflag', '=', '0')->get(); if (!empty($KarmaNotePending)) { foreach ($KarmaNotePending as $key => $value) { $meetingtimezone = $value->meetingtimezone; $meetingdatetime = $value->meetingdatetime; $user_id_giver = $value->user_id_giver; $user_id_receiver = $value->user_id_receiver; $meetingId = $value->id; $CurrentTimeWithZone = KarmaHelper::calculateTime($meetingtimezone); //echo "<pre>";print_r($meetingdatetime);echo "</pre>"; //echo "<pre>";print_r($meetingdatetime);echo "</pre>";die(); if ($CurrentTimeWithZone > $meetingdatetime) { $diffDate = KarmaHelper::dateDiff($CurrentTimeWithZone, $meetingdatetime); $diffDate = $diffDate->days * 24 + $diffDate->h; $EmailTriggerTime = Adminoption::where('option_name', '=', 'KarmaNote Email Trigger Time')->first(); if (!empty($EmailTriggerTime)) { $EmailTriggerTime = $EmailTriggerTime->toArray(); $EmailTriggerTime = $EmailTriggerTime['option_value']; } else { $EmailTriggerTime = '24'; } if ($diffDate >= $EmailTriggerTime) { //$date = Carbon::now()->addMinutes(5); Queue::push('MessageSender', array('type' => '4', 'user_id_giver' => $user_id_giver, 'user_id_receiver' => $user_id_receiver, 'meetingId' => $meetingId)); $Meetingrequest = Meetingrequest::find($meetingId); $Meetingrequest->cronjobflag = '1'; $Meetingrequest->status = 'over'; $Meetingrequest->save(); DB::table('users_mykarma')->where('entry_id', '=', $meetingId)->update(array('status' => 'over', 'unread_flag' => 'true', 'entry_updated_on' => Carbon::now())); $messageData = new Message(); $messageData->request_id = $meetingId; $messageData->sender_id = $user_id_giver; $messageData->giver_id = $user_id_giver; $messageData->receiver_id = $user_id_receiver; $messageData->message_type = 'system'; $messageText = 'Meeting should be over now.'; $messageData->messageText = $messageText; $messageData->save(); //Queue::push('UpdateUser', array('id' => $user_id,'result' => $result)); } } } } }
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)); } }