MIF_E31210529/app/Http/Controllers/UserController.php

87 lines
2.7 KiB
PHP

<?php
namespace App\Http\Controllers;
use App\Models\User;
use Illuminate\Support\Str;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Auth;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Validator;
class UserController extends Controller
{
public function showProfile()
{
return view('user-profile');
}
public function update_profile(Request $request)
{
$validator = Validator::make($request->all(), [
'name' => ['required', 'min:3', 'max:225'],
'username' => ['required', 'min:3', 'max:10'],
'email' => 'required|email',
], [
'required' => ':attribute harus diisi.',
'email' => ':attribute harus berupa email yang valid.',
'min' => 'panjang :attribute minimal :min karakter.',
]);
if ($validator->fails()) {
return response()->json([
'error' => true,
'message' => Str::ucfirst($validator->errors()->first()),
'data' => null
]);
}
$user = User::findOrFail(Auth::user()->id);
$user->update([
'name' => $request->name,
'username' => $request->username,
'email' => $request->email,
]);
return redirect('user-profile')->with('success', 'Profile Berhasil Diperbarui!');
}
public function updatePassword(Request $request)
{
$user = Auth::user();
$request->validate([
'password' => 'required|confirmed|min:5',
]);
$user->password = bcrypt($request->input('new_password'));
$user->save();
return redirect()->back()->with('success', 'Password updated successfully.');
// $status = Password::reset(
// $request->only('email', 'password', 'password_confirmation', 'token'),
// function ($user, $password) {
// $user->forceFill([
// 'password' => bcrypt($password),
// 'remember_token' => Str::random(60),
// ])->save();
// // Hapus token "remember me" setelah reset password
// $user->tokens()->delete();
// }
// );
// return $status == Password::PASSWORD_RESET
// ? redirect('/login')->with(['status' => __($status)])
// : back()->withErrors(['email' => [__($status)]]);
// $user = Auth::user();
// $request->validate([
// 'new_password' => 'required|string|min:8|confirmed',
// ]);
// $user->password = bcrypt($request->input('new_password'));
// $user->save();
// return redirect()->back()->with('success', 'Password updated successfully.');
}
}