| Server IP : 138.197.107.151 / Your IP : 216.73.217.7 Web Server : Apache/2.4.58 (Ubuntu) System : Linux BloxBy-Builder 6.8.0-71-generic #71-Ubuntu SMP PREEMPT_DYNAMIC Tue Jul 22 16:52:38 UTC 2025 x86_64 User : wpbetasites_mrakzqskir ( 1022) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/shark/app/Http/Controllers/ |
Upload File : |
<?php
namespace App\Http\Controllers;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Password;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Str;
use DB;
use Carbon\Carbon;
class ResetPasswordController extends Controller
{
public function showResetForm(Request $request, $token)
{
$title = "Reset password";
$resetRecord = DB::table('password_reset_tokens')->where('email', $request->email)->first();
//return dd($resetRecord);
// Check if token matches and is not expired
if (!$resetRecord || !Hash::check($token, $resetRecord->token)) {
return redirect()->route('password.request')->withErrors(['email' => 'This password reset link is invalid or has expired.']);
}
// Check if token is expired (default expiry is 60 minutes)
$expires = config('auth.passwords.users.expire'); // in minutes
if (Carbon::parse($resetRecord->created_at)->addMinutes($expires)->isPast()) {
return redirect()->route('password.request')->withErrors(['email' => 'This password reset link has expired.']);
}
return view('auth.reset-password', [
'token' => $token,
'email' => $request->query('email'),
'title' => $title
]);
}
public function reset(Request $request)
{
$request->validate([
'token' => 'required',
'email' => 'required|email',
'password' => 'required|min:8|confirmed',
],[
'password.confirmed' => 'Password and confirm password do not match.',
]);
$status = Password::reset(
$request->only('email', 'password', 'password_confirmation', 'token'),
function ($user, $password) {
$user->forceFill([
'password' => Hash::make($password),
'remember_token' => Str::random(60),
])->save();
}
);
return $status === Password::PASSWORD_RESET
? redirect()->route('login')->with('status', __($status))
: back()->withErrors(['email' => [__($status)]]);
}
}