/** * 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)); } }