PATH:
home
/
lab2454c
/
.trash
/
core
/
app
/
Http
/
Controllers
/
Admin
/
Auth
<?php namespace App\Http\Controllers\Admin\Auth; use App\Models\Admin; use App\Models\AdminPasswordReset; use App\Http\Controllers\Controller; use Illuminate\Foundation\Auth\ResetsPasswords; use Illuminate\Support\Facades\Auth; use Illuminate\Support\Facades\Password; 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 login / registration. * * @var string */ public $redirectTo = '/admin/dashboard'; /** * Create a new controller instance. * * @return void */ public function __construct() { $this->middleware('admin.guest'); } /** * Display the password reset view for the given token. * * If no token is present, display the link request form. * * @param \Illuminate\Http\Request $request * @param string|null $token * @return \Illuminate\Http\Response */ public function showResetForm(Request $request, $token) { $pageTitle = "Account Recovery"; $resetToken = AdminPasswordReset::where('token', $token)->where('status', 0)->first(); if (!$resetToken) { $notify[] = ['error', 'Token not found!']; return redirect()->route('admin.password.reset')->withNotify($notify); } $email = $resetToken->email; return view('admin.auth.passwords.reset', compact('pageTitle', 'email', 'token')); } public function reset(Request $request) { $this->validate($request, [ 'email' => 'required|email', 'token' => 'required', 'password' => 'required|confirmed|min:4', ]); $reset = AdminPasswordReset::where('token', $request->token)->orderBy('created_at', 'desc')->first(); $user = Admin::where('email', $reset->email)->first(); if ($reset->status == 1) { $notify[] = ['error', 'Invalid code']; return redirect()->route('admin.login')->withNotify($notify); } $user->password = bcrypt($request->password); $user->save(); $reset->status = 1; $reset->save(); $userIpInfo = getIpInfo(); $userBrowser = osBrowser(); sendEmail($user, 'PASS_RESET_DONE', [ 'operating_system' => $userBrowser['os_platform'], 'browser' => $userBrowser['browser'], 'ip' => $userIpInfo['ip'], 'time' => $userIpInfo['time'] ]); $notify[] = ['success', 'Password changed']; return redirect()->route('admin.login')->withNotify($notify); } /** * Get the broker to be used during password reset. * * @return \Illuminate\Contracts\Auth\PasswordBroker */ public function broker() { return Password::broker('admins'); } /** * Get the guard to be used during password reset. * * @return \Illuminate\Contracts\Auth\StatefulGuard */ protected function guard() { return Auth::guard('admin'); } }
[+]
..
[-] ResetPasswordController.php
[edit]
[-] ForgotPasswordController.php
[edit]
[-] LoginController.php
[edit]