validate([
'email' => ['required', 'email'],
'password' => ['required'],
]);
$check = $request->all();
$data = [
'email' => $check['email'],
'password' => $check['password']
];
if(Auth::guard('admin')->attempt($data)) {
return redirect()->route('admin_dashboard')->with('success','Login is successful!');
} else {
return redirect()->route('admin_login')->with('error','The information you entered is incorrect! Please try again!');
}
}
public function logout()
{
Auth::guard('admin')->logout();
return redirect()->route('admin_login')->with('success','Logout is successful!');
}
public function profile()
{
return view('admin.profile');
}
public function profile_submit(Request $request)
{
$request->validate([
'name' => ['required'],
'email' => ['required', 'email'],
]);
$admin = Admin::where('id',Auth::guard('admin')->user()->id)->first();
if($request->photo) {
$request->validate([
'photo' => ['mimes:jpg,jpeg,png,gif','max:2024'],
]);
$final_name = 'admin_'.time().'.'.$request->photo->extension();
$request->photo->move(public_path('uploads'), $final_name);
unlink(public_path('uploads/'.$admin->photo));
$admin->photo = $final_name;
}
if($request->password) {
$request->validate([
'password' => ['required'],
'confirm_password' => ['required','same:password'],
]);
$admin->password = Hash::make($request->password);
}
$admin->name = $request->name;
$admin->email = $request->email;
$admin->update();
return redirect()->back()->with('success','Profile is updated!');
}
public function forget_password()
{
return view('admin.forget-password');
}
public function forget_password_submit(Request $request)
{
$request->validate([
'email' => ['required', 'email'],
]);
$admin = Admin::where('email',$request->email)->first();
if(!$admin) {
return redirect()->back()->with('error','Email is not found!');
}
$token = hash('sha256',time());
$admin->token = $token;
$admin->update();
$reset_link = url('admin/reset-password/'.$token.'/'.$request->email);
$subject = "Password Reset";
$message = "To reset password, please click on the link below:
";
$message .= "Click Here";
\Mail::to($request->email)->send(new Websitemail($subject,$message));
return redirect()->back()->with('success','We have sent a password reset link to your email. Please check your email. If you do not find the email in your inbox, please check your spam folder.');
}
public function reset_password($token,$email)
{
$admin = Admin::where('email',$email)->where('token',$token)->first();
if(!$admin) {
return redirect()->route('admin_login')->with('error','Token or email is not correct!');
}
return view('admin.reset-password', compact('token','email'));
}
public function reset_password_submit(Request $request, $token, $email)
{
$request->validate([
'password' => ['required'],
'confirm_password' => ['required','same:password'],
]);
$admin = Admin::where('email',$request->email)->where('token',$request->token)->first();
$admin->password = Hash::make($request->password);
$admin->token = "";
$admin->update();
return redirect()->route('admin_login')->with('success','Password reset is successful. You can login now.');
}
}