. */ namespace App\Http\Controllers\Account; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use Illuminate\Support\Facades\Mail; use Illuminate\Support\Facades\Log; use App\Mail\ConfirmedRegistration; class PasswordController extends Controller { public function show(Request $request) { return view('account.password', [ 'account' => $request->user() ]); } public function update(Request $request) { $request->validate([ 'password' => 'required|confirmed|filled', ]); $account = $request->user(); $account->activated = true; $account->save(); $algorithm = $request->has('password_sha256') ? 'SHA-256' : 'MD5'; $account->updatePassword($request->get('password'), $algorithm); if ($account->passwords()->count() > 0) { Log::channel('events')->info('Web: Password changed', ['id' => $account->identifier]); $request->session()->flash('success', 'Password successfully changed'); return redirect()->route('account.dashboard'); } Log::channel('events')->info('Web: Password set for the first time', ['id' => $account->identifier]); $request->session()->flash('success', 'Password successfully set. Your SIP account creation process is now finished.'); if (!empty($account->email)) { Mail::to($account)->send(new ConfirmedRegistration($account)); } return redirect()->route('account.dashboard'); } }