findOrFail($user_id) : $user_id; $user->verified = $user->verified | $verify_number; $user->save(); return $user; } /** *-------------------------------------------------------------------------- * farid saravi * This function checks confirmation email and set user in the database as verified. lsb *-------------------------------------------------------------------------- */ public function confirm($token) { $user_id = Cache::pull($token); if ($user_id) { $user = $this->setVerified($user_id, 'email'); if (! \Auth::check()) { $this->guard()->login($user); } } return redirect('/'); } /** *-------------------------------------------------------------------------- * farid saravi * This function checks confirmation sms and set user in the database as verified sms. msb *-------------------------------------------------------------------------- */ public function confirm_phone(Request $request) { $user_id = Cache::pull('phone_number_' . $request->number); if ($user_id) { $user = $this->setVerified($user_id, 'phone_number'); if (! \Auth::check()) { $this->guard()->login($user); } return response()->json(['status' => 'success']); } return response()->json(['status' => 'fail'], 422); } /** *-------------------------------------------------------------------------- * farid saravi * This function sends confirmation email to a user. * @param \App\User * @return void *-------------------------------------------------------------------------- */ public function mail_confirmation($user, $Type=null) { $Type = ($Type == null) ? 'VerifyUser' : $Type; $email_token = str_random(30); Cache::put($email_token, $user->id, Carbon::now()->addDays(2)); Mail::to($user->email)->send(new RegistrationMailer($user, $email_token, $Type)); } /** *-------------------------------------------------------------------------- * farid saravi * This function sends confirmation sms to a user. * @param \App\User * @return void *-------------------------------------------------------------------------- */ public function phone_confirmation($user) { $rand_number = rand(100000, 999999); Cache::put('phone_number_' . $rand_number, $user->id, 60); if( $user->cell_number != '' && $user->cell_number != null ) { $MessageText = ' کد فعالسازی شما :'. $rand_number; $this->sendSMS($user->cell_number, $MessageText); } } protected function sendSMS($phone_number, $message) { $options = array( 'login' => 'hs-harmony-istore', 'password' => 'WillaSMS47CD47' ); $client = new \SoapClient('http://sms.sms-bartar.com/webservice/?WSDL', $options); try { $messageId = $client->send($phone_number, $message); } catch (SoapFault $sf) { print $sf->faultcode . "\n"; print $sf->faultstring . "\n"; return ['code' => $sf->faultcode, 'message' => $sf->faultstring]; } } }