Actualizacion de Diseño Logins y Parte de Registro Negocios
This commit is contained in:
@@ -0,0 +1,83 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
|
||||
use Illuminate\Support\Facades\Password;
|
||||
use Illuminate\Auth\Events\PasswordReset;
|
||||
use App\Models\User;
|
||||
use App\Mail\SecondEmailVerifyMailManager;
|
||||
use App\Utility\SmsUtility;
|
||||
use Mail;
|
||||
|
||||
class ForgotPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset emails and
|
||||
| includes a trait which assists in sending these notifications from
|
||||
| your application to your users. Feel free to explore this trait.
|
||||
|
|
||||
*/
|
||||
|
||||
use SendsPasswordResetEmails;
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
/**
|
||||
* Send a reset link to the given user.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
public function sendResetLinkEmail(Request $request)
|
||||
{
|
||||
$phone = "+{$request['country_code']}{$request['phone']}";
|
||||
if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
|
||||
$user = User::where('email', $request->email)->first();
|
||||
if ($user != null) {
|
||||
$user->verification_code = rand(100000,999999);
|
||||
$user->save();
|
||||
|
||||
$array['view'] = 'emails.verification';
|
||||
$array['from'] = env('MAIL_FROM_ADDRESS');
|
||||
$array['subject'] = translate('Password Reset');
|
||||
$array['content'] = translate('Verification Code is').': '. $user->verification_code;
|
||||
|
||||
Mail::to($user->email)->queue(new SecondEmailVerifyMailManager($array));
|
||||
|
||||
return view('auth.passwords.reset');
|
||||
}
|
||||
else {
|
||||
flash(translate('No account exists with this email'))->error();
|
||||
return back();
|
||||
}
|
||||
}
|
||||
else{
|
||||
$user = User::where('phone', $phone)->first();
|
||||
if ($user != null) {
|
||||
$user->verification_code = rand(100000,999999);
|
||||
$user->save();
|
||||
SmsUtility::password_reset($user);
|
||||
return view('otp_systems.frontend.auth.passwords.reset_with_phone');
|
||||
}
|
||||
else {
|
||||
flash(translate('No account exists with this phone number'))->error();
|
||||
return back();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
377
desarrollo/app/Http/Controllers/Auth/LoginController.php
Normal file
377
desarrollo/app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,377 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
|
||||
use GeneaLabs\LaravelSocialiter\Facades\Socialiter;
|
||||
use Socialite;
|
||||
use App\Models\User;
|
||||
use App\Models\Customer;
|
||||
use App\Models\Cart;
|
||||
use App\Services\SocialRevoke;
|
||||
use Session;
|
||||
use Illuminate\Http\Request;
|
||||
use CoreComponentRepository;
|
||||
use Illuminate\Support\Facades\Http;
|
||||
use Illuminate\Support\Str;
|
||||
use GuzzleHttp\Client;
|
||||
use Auth;
|
||||
use Storage;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Login Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles authenticating users for the application and
|
||||
| redirecting them to your home screen. The controller uses a trait
|
||||
| to conveniently provide its functionality to your applications.
|
||||
|
|
||||
*/
|
||||
|
||||
use AuthenticatesUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after login.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
/*protected $redirectTo = '/';*/
|
||||
|
||||
|
||||
/**
|
||||
* Redirect the user to the Google authentication page.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function redirectToProvider($provider)
|
||||
{
|
||||
if (request()->get('query') == 'mobile_app') {
|
||||
request()->session()->put('login_from', 'mobile_app');
|
||||
}
|
||||
if ($provider == 'apple') {
|
||||
return Socialite::driver("sign-in-with-apple")
|
||||
->scopes(["name", "email"])
|
||||
->redirect();
|
||||
}
|
||||
return Socialite::driver($provider)->redirect();
|
||||
}
|
||||
|
||||
public function handleAppleCallback(Request $request)
|
||||
{
|
||||
try {
|
||||
$user = Socialite::driver("sign-in-with-apple")->user();
|
||||
} catch (\Exception $e) {
|
||||
flash(translate("Something Went wrong. Please try again."))->error();
|
||||
return redirect()->route('user.login');
|
||||
}
|
||||
//check if provider_id exist
|
||||
$existingUserByProviderId = User::where('provider_id', $user->id)->first();
|
||||
|
||||
if ($existingUserByProviderId) {
|
||||
$existingUserByProviderId->access_token = $user->token;
|
||||
$existingUserByProviderId->refresh_token = $user->refreshToken;
|
||||
if (!isset($user->user['is_private_email'])) {
|
||||
$existingUserByProviderId->email = $user->email;
|
||||
}
|
||||
$existingUserByProviderId->save();
|
||||
//proceed to login
|
||||
auth()->login($existingUserByProviderId, true);
|
||||
} else {
|
||||
//check if email exist
|
||||
$existing_or_new_user = User::firstOrNew([
|
||||
'email' => $user->email
|
||||
]);
|
||||
$existing_or_new_user->provider_id = $user->id;
|
||||
$existing_or_new_user->access_token = $user->token;
|
||||
$existing_or_new_user->refresh_token = $user->refreshToken;
|
||||
$existing_or_new_user->provider = 'apple';
|
||||
if (!$existing_or_new_user->exists) {
|
||||
$existing_or_new_user->name = 'Apple User';
|
||||
if ($user->name) {
|
||||
$existing_or_new_user->name = $user->name;
|
||||
}
|
||||
$existing_or_new_user->email = $user->email;
|
||||
$existing_or_new_user->email_verified_at = date('Y-m-d H:m:s');
|
||||
}
|
||||
$existing_or_new_user->save();
|
||||
|
||||
auth()->login($existing_or_new_user, true);
|
||||
}
|
||||
|
||||
if (session('temp_user_id') != null) {
|
||||
Cart::where('temp_user_id', session('temp_user_id'))
|
||||
->update([
|
||||
'user_id' => auth()->user()->id,
|
||||
'temp_user_id' => null
|
||||
]);
|
||||
|
||||
Session::forget('temp_user_id');
|
||||
}
|
||||
|
||||
if (session('link') != null) {
|
||||
return redirect(session('link'));
|
||||
} else {
|
||||
if (auth()->user()->user_type == 'seller') {
|
||||
return redirect()->route('seller.dashboard');
|
||||
}
|
||||
return redirect()->route('dashboard');
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Obtain the user information from Google.
|
||||
*
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function handleProviderCallback(Request $request, $provider)
|
||||
{
|
||||
if (session('login_from') == 'mobile_app') {
|
||||
return $this->mobileHandleProviderCallback($request, $provider);
|
||||
}
|
||||
try {
|
||||
if ($provider == 'twitter') {
|
||||
$user = Socialite::driver('twitter')->user();
|
||||
} else {
|
||||
$user = Socialite::driver($provider)->stateless()->user();
|
||||
}
|
||||
} catch (\Exception $e) {
|
||||
flash(translate("Something Went wrong. Please try again."))->error();
|
||||
return redirect()->route('user.login');
|
||||
}
|
||||
|
||||
//check if provider_id exist
|
||||
$existingUserByProviderId = User::where('provider_id', $user->id)->first();
|
||||
|
||||
if ($existingUserByProviderId) {
|
||||
$existingUserByProviderId->access_token = $user->token;
|
||||
$existingUserByProviderId->save();
|
||||
//proceed to login
|
||||
auth()->login($existingUserByProviderId, true);
|
||||
} else {
|
||||
//check if email exist
|
||||
$existingUser = User::where('email', '!=', null)->where('email', $user->email)->first();
|
||||
|
||||
if ($existingUser) {
|
||||
//update provider_id
|
||||
$existing_User = $existingUser;
|
||||
$existing_User->provider_id = $user->id;
|
||||
$existing_User->provider = $provider;
|
||||
$existing_User->access_token = $user->token;
|
||||
$existing_User->save();
|
||||
|
||||
//proceed to login
|
||||
auth()->login($existing_User, true);
|
||||
} else {
|
||||
//create a new user
|
||||
$newUser = new User;
|
||||
$newUser->name = $user->name;
|
||||
$newUser->email = $user->email;
|
||||
$newUser->email_verified_at = date('Y-m-d Hms');
|
||||
$newUser->provider_id = $user->id;
|
||||
$newUser->provider = $provider;
|
||||
$newUser->access_token = $user->token;
|
||||
$newUser->save();
|
||||
//proceed to login
|
||||
auth()->login($newUser, true);
|
||||
}
|
||||
}
|
||||
|
||||
if (session('temp_user_id') != null) {
|
||||
Cart::where('temp_user_id', session('temp_user_id'))
|
||||
->update([
|
||||
'user_id' => auth()->user()->id,
|
||||
'temp_user_id' => null
|
||||
]);
|
||||
|
||||
Session::forget('temp_user_id');
|
||||
}
|
||||
|
||||
if (session('link') != null) {
|
||||
return redirect(session('link'));
|
||||
} else {
|
||||
if (auth()->user()->user_type == 'seller') {
|
||||
return redirect()->route('seller.dashboard');
|
||||
}
|
||||
return redirect()->route('dashboard');
|
||||
}
|
||||
}
|
||||
|
||||
public function mobileHandleProviderCallback($request, $provider)
|
||||
{
|
||||
$return_provider = '';
|
||||
$result = false;
|
||||
if ($provider) {
|
||||
$return_provider = $provider;
|
||||
$result = true;
|
||||
}
|
||||
return response()->json([
|
||||
'result' => $result,
|
||||
'provider' => $return_provider
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Validate the user login request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return void
|
||||
*
|
||||
* @throws \Illuminate\Validation\ValidationException
|
||||
*/
|
||||
protected function validateLogin(Request $request)
|
||||
{
|
||||
$request->validate([
|
||||
'email' => 'required_without:phone',
|
||||
'phone' => 'required_without:email',
|
||||
'password' => 'required|string',
|
||||
]);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the needed authorization credentials from the request.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
protected function credentials(Request $request)
|
||||
{
|
||||
if ($request->get('phone') != null) {
|
||||
return ['phone' => "+{$request['country_code']}{$request['phone']}", 'password' => $request->get('password')];
|
||||
} elseif ($request->get('email') != null) {
|
||||
return $request->only($this->username(), 'password');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Check user's role and redirect user based on their role
|
||||
* @return
|
||||
*/
|
||||
public function authenticated()
|
||||
{
|
||||
if (session('temp_user_id') != null) {
|
||||
Cart::where('temp_user_id', session('temp_user_id'))
|
||||
->update(
|
||||
[
|
||||
'user_id' => auth()->user()->id,
|
||||
'temp_user_id' => null
|
||||
]
|
||||
);
|
||||
|
||||
Session::forget('temp_user_id');
|
||||
}
|
||||
|
||||
if (auth()->user()->user_type == 'admin' || auth()->user()->user_type == 'staff') {
|
||||
CoreComponentRepository::instantiateShopRepository();
|
||||
return redirect()->route('admin.dashboard');
|
||||
} elseif (auth()->user()->user_type == 'seller') {
|
||||
return redirect()->route('seller.dashboard');
|
||||
} else {
|
||||
|
||||
if (session('link') != null) {
|
||||
return redirect(session('link'));
|
||||
} else {
|
||||
return redirect()->route('dashboard');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the failed login response instance.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Symfony\Component\HttpFoundation\Response
|
||||
*
|
||||
* @throws \Illuminate\Validation\ValidationException
|
||||
*/
|
||||
protected function sendFailedLoginResponse(Request $request)
|
||||
{
|
||||
flash(translate('Invalid login credentials'))->error();
|
||||
return back();
|
||||
}
|
||||
|
||||
/**
|
||||
* Log the user out of the application.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
*/
|
||||
public function logout(Request $request)
|
||||
{
|
||||
if (auth()->user() != null && (auth()->user()->user_type == 'admin' || auth()->user()->user_type == 'staff')) {
|
||||
$redirect_route = 'login';
|
||||
} else {
|
||||
$redirect_route = 'home';
|
||||
}
|
||||
|
||||
//User's Cart Delete
|
||||
// if (auth()->user()) {
|
||||
// Cart::where('user_id', auth()->user()->id)->delete();
|
||||
// }
|
||||
|
||||
$this->guard()->logout();
|
||||
|
||||
$request->session()->invalidate();
|
||||
|
||||
return $this->loggedOut($request) ?: redirect()->route($redirect_route);
|
||||
}
|
||||
|
||||
public function account_deletion(Request $request)
|
||||
{
|
||||
|
||||
$redirect_route = 'home';
|
||||
|
||||
if (auth()->user()) {
|
||||
Cart::where('user_id', auth()->user()->id)->delete();
|
||||
}
|
||||
|
||||
// if (auth()->user()->provider) {
|
||||
// $social_revoke = new SocialRevoke;
|
||||
// $revoke_output = $social_revoke->apply(auth()->user()->provider);
|
||||
|
||||
// if ($revoke_output) {
|
||||
// }
|
||||
// }
|
||||
|
||||
$auth_user = auth()->user();
|
||||
|
||||
// user images delete from database and file storage
|
||||
$uploads = $auth_user->uploads;
|
||||
if ($uploads) {
|
||||
foreach ($uploads as $upload) {
|
||||
if (env('FILESYSTEM_DRIVER') == 's3') {
|
||||
Storage::disk('s3')->delete($upload->file_name);
|
||||
if (file_exists(public_path() . '/' . $upload->file_name)) {
|
||||
unlink(public_path() . '/' . $upload->file_name);
|
||||
$upload->delete();
|
||||
}
|
||||
} else {
|
||||
unlink(public_path() . '/' . $upload->file_name);
|
||||
$upload->delete();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$auth_user->customer_products()->delete();
|
||||
|
||||
User::destroy(auth()->user()->id);
|
||||
|
||||
auth()->guard()->logout();
|
||||
$request->session()->invalidate();
|
||||
|
||||
flash(translate("Your account deletion successfully done."))->success();
|
||||
return redirect()->route($redirect_route);
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest')->except(['logout', 'account_deletion']);
|
||||
}
|
||||
}
|
||||
177
desarrollo/app/Http/Controllers/Auth/RegisterController.php
Normal file
177
desarrollo/app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,177 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use Nexmo;
|
||||
use Cookie;
|
||||
use Session;
|
||||
use App\Models\Cart;
|
||||
use App\Models\User;
|
||||
use Twilio\Rest\Client;
|
||||
|
||||
use App\Rules\Recaptcha;
|
||||
use Illuminate\Validation\Rule;
|
||||
|
||||
use App\Models\Customer;
|
||||
use App\OtpConfiguration;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Models\BusinessSetting;
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Support\Facades\Hash;
|
||||
use Illuminate\Auth\Events\Registered;
|
||||
use Illuminate\Support\Facades\Validator;
|
||||
use Illuminate\Foundation\Auth\RegistersUsers;
|
||||
use App\Http\Controllers\OTPVerificationController;
|
||||
use App\Notifications\EmailVerificationNotification;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Register Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller handles the registration of new users as well as their
|
||||
| validation and creation. By default this controller uses a trait to
|
||||
| provide this functionality without requiring any additional code.
|
||||
|
|
||||
*/
|
||||
|
||||
use RegistersUsers;
|
||||
|
||||
/**
|
||||
* Where to redirect users after registration.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
// protected $redirectTo = '/';
|
||||
|
||||
// /**
|
||||
// * Create a new controller instance.
|
||||
// *
|
||||
// * @return void
|
||||
// */
|
||||
// public function __construct()
|
||||
// {
|
||||
// $this->middleware('guest');
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * Get a validator for an incoming registration request.
|
||||
// *
|
||||
// * @param array $data
|
||||
// * @return \Illuminate\Contracts\Validation\Validator
|
||||
// */
|
||||
// protected function validator(array $data)
|
||||
// {
|
||||
// return Validator::make($data, [
|
||||
// 'name' => 'required|string|max:255',
|
||||
// 'password' => 'required|string|min:6|confirmed',
|
||||
// 'g-recaptcha-response' => [
|
||||
// Rule::when(get_setting('google_recaptcha') == 1, ['required', new Recaptcha()], ['sometimes'])
|
||||
// ]
|
||||
// ]);
|
||||
// }
|
||||
|
||||
// /**
|
||||
// * Create a new user instance after a valid registration.
|
||||
// *
|
||||
// * @param array $data
|
||||
// * @return \App\Models\User
|
||||
// */
|
||||
// protected function create(array $data)
|
||||
// {
|
||||
// if (filter_var($data['email'], FILTER_VALIDATE_EMAIL)) {
|
||||
// $user = User::create([
|
||||
// 'name' => $data['name'],
|
||||
// 'email' => $data['email'],
|
||||
// 'password' => Hash::make($data['password']),
|
||||
// ]);
|
||||
// }
|
||||
// else {
|
||||
// if (addon_is_activated('otp_system')){
|
||||
// $user = User::create([
|
||||
// 'name' => $data['name'],
|
||||
// 'phone' => '+'.$data['country_code'].$data['phone'],
|
||||
// 'password' => Hash::make($data['password']),
|
||||
// 'verification_code' => rand(100000, 999999)
|
||||
// ]);
|
||||
|
||||
// $otpController = new OTPVerificationController;
|
||||
// $otpController->send_code($user);
|
||||
// }
|
||||
// }
|
||||
|
||||
// if(session('temp_user_id') != null){
|
||||
// Cart::where('temp_user_id', session('temp_user_id'))
|
||||
// ->update([
|
||||
// 'user_id' => $user->id,
|
||||
// 'temp_user_id' => null
|
||||
// ]);
|
||||
|
||||
// Session::forget('temp_user_id');
|
||||
// }
|
||||
|
||||
// if(Cookie::has('referral_code')){
|
||||
// $referral_code = Cookie::get('referral_code');
|
||||
// $referred_by_user = User::where('referral_code', $referral_code)->first();
|
||||
// if($referred_by_user != null){
|
||||
// $user->referred_by = $referred_by_user->id;
|
||||
// $user->save();
|
||||
// }
|
||||
// }
|
||||
|
||||
// return $user;
|
||||
// }
|
||||
|
||||
// public function register(Request $request)
|
||||
// {
|
||||
// if (filter_var($request->email, FILTER_VALIDATE_EMAIL)) {
|
||||
// if(User::where('email', $request->email)->first() != null){
|
||||
// flash(translate('Email or Phone already exists.'));
|
||||
// return back();
|
||||
// }
|
||||
// }
|
||||
// elseif (User::where('phone', '+'.$request->country_code.$request->phone)->first() != null) {
|
||||
// flash(translate('Phone already exists.'));
|
||||
// return back();
|
||||
// }
|
||||
|
||||
// $this->validator($request->all())->validate();
|
||||
|
||||
// $user = $this->create($request->all());
|
||||
|
||||
// $this->guard()->login($user);
|
||||
|
||||
// if($user->email != null){
|
||||
// if(BusinessSetting::where('type', 'email_verification')->first()->value != 1){
|
||||
// $user->email_verified_at = date('Y-m-d H:m:s');
|
||||
// $user->save();
|
||||
// flash(translate('Registration successful.'))->success();
|
||||
// }
|
||||
// else {
|
||||
// try {
|
||||
// $user->sendEmailVerificationNotification();
|
||||
// flash(translate('Registration successful. Please verify your email.'))->success();
|
||||
// } catch (\Throwable $th) {
|
||||
// $user->delete();
|
||||
// flash(translate('Registration failed. Please try again later.'))->error();
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
|
||||
// return $this->registered($request, $user)
|
||||
// ?: redirect($this->redirectPath());
|
||||
// }
|
||||
|
||||
// protected function registered(Request $request, $user)
|
||||
// {
|
||||
// if ($user->email == null) {
|
||||
// return redirect()->route('verification');
|
||||
// }elseif(session('link') != null){
|
||||
// return redirect(session('link'));
|
||||
// }else {
|
||||
// return redirect()->route('home');
|
||||
// }
|
||||
// }
|
||||
}
|
||||
@@ -0,0 +1,59 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\ResetsPasswords;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class ResetPasswordController extends Controller
|
||||
{
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Password Reset Controller
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This controller is responsible for handling password reset requests
|
||||
| and uses a simple trait to include this behavior. You're free to
|
||||
| explore this trait and override any methods you wish to tweak.
|
||||
|
|
||||
*/
|
||||
|
||||
use ResetsPasswords;
|
||||
|
||||
/**
|
||||
* Where to redirect users after resetting their password.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
//protected $redirectTo = '/';
|
||||
|
||||
/**
|
||||
* Create a new controller instance.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct()
|
||||
{
|
||||
$this->middleware('guest');
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the response for a successful password reset.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @param string $response
|
||||
* @return \Illuminate\Http\RedirectResponse|\Illuminate\Http\JsonResponse
|
||||
*/
|
||||
protected function sendResetResponse(Request $request, $response)
|
||||
{
|
||||
if(auth()->user()->user_type == 'admin' || auth()->user()->user_type == 'staff')
|
||||
{
|
||||
return redirect()->route('admin.dashboard')
|
||||
->with('status', trans($response));
|
||||
}
|
||||
|
||||
return redirect()->route('home')
|
||||
->with('status', trans($response));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Foundation\Auth\VerifiesEmails;
|
||||
use App\Models\User;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Http\Controllers\OTPVerificationController;
|
||||
class VerificationController extends Controller
|
||||
{
|
||||
|
||||
public function verify(Request $request, $id, $hash)
|
||||
{
|
||||
// Aquí debes implementar la lógica para verificar el token y marcar el correo electrónico como verificado
|
||||
// Puedes usar el $id y $hash para buscar el usuario en la base de datos y realizar la verificación
|
||||
|
||||
// Ejemplo de implementación:
|
||||
$user = User::find($id);
|
||||
|
||||
if ($user && hash_equals($hash, $user->confirmation_code)) {
|
||||
$user->email_verified_at = now();
|
||||
$user->save();
|
||||
|
||||
// Inicia sesión al usuario si lo deseas
|
||||
auth()->login($user);
|
||||
|
||||
// Redirige al usuario a la página de éxito o a donde desees
|
||||
return redirect()->route('shop.view.signup.complete');
|
||||
}
|
||||
|
||||
// Si la verificación falla, puedes redirigir al usuario a una página de error o mostrar un mensaje de error
|
||||
return redirect()->route('shop.view.email.verification');
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user