Viewing file: AdminLoginController.php (2.96 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\Models\VerifyAdmin; use App\Models\User; use App\Events\SendMail;
class AdminLoginController extends Controller { public function index(){ $data['otp_setting'] = get_settings('otp_setting'); return view('auth.admin_login',$data); }
// public function authenticate(Request $request){ // $credentials['email']=trim($request->email); // $credentials['password']=trim($request->password); // $remember_me = $request->has('remember_me') ? true : false; // if(Auth::attempt($credentials,$remember_me)){ // return redirect()->route('admin.dashboard'); // } // return back()->withInput()->withErrors(['message'=>'Invalid email or password. Please try again.']); // }
public function authenticate(Request $request){ $credentials['email']=trim($request->email); $credentials['password']=trim($request->password); $remember_me = $request->has('remember_me') ? true : false;
$otp_setting = get_settings('otp_setting');
if($otp_setting == 'enable'){ $verify = VerifyAdmin::where('otp', $request->otp)->where('status', 'pending')->where('email', $request->email)->first(); if (!$verify) { return redirect()->back()->withErrors(['failed' => 'Please verify your email and try again']); } if(Auth::attempt($credentials,$remember_me)){ if(isset($verify) && $verify) { $verify->delete(); }
return redirect()->route('admin.dashboard'); } }else{ if(Auth::attempt($credentials,$remember_me)){ return redirect()->route('admin.dashboard'); } } return back()->withInput()->withErrors(['message'=>'Invalid email or password. Please try again.']); } public function logout(){ Auth::logout(); return redirect()->route('admin.login');
} public function sendOtp(Request $request) {
if(!$request->email){ return response()->json(['status'=>'failed', 'message'=>'Enter a valid email address']); } $admin=User::first(); if($admin->email != $request->email){ return response()->json(['status'=>'failed', 'message'=>'Enter a valid email address']); }
VerifyAdmin::truncate();
$token = random_int(100000, 999999);
$verifyAdmin= new VerifyAdmin(); $verifyAdmin->admin_id='1'; $verifyAdmin->email=$request->email; $verifyAdmin->otp=$token; $verifyAdmin->save();
SendMail::dispatch($request->email, 'Verification Code', 'Your Verification Code Is: '.$token);
return response()->json(['status'=>'success', 'message'=>'A verification email has been sent to your email']); } }
|