MIF_E31230333/app/Http/Controllers/User/ProfilController.php

62 lines
1.7 KiB
PHP

<?php
namespace App\Http\Controllers\User;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use Illuminate\Support\Facades\Hash;
use Illuminate\Support\Facades\Storage;
use App\Models\Konsultasi;
class ProfilController extends Controller
{
public function index()
{
$user = auth()->user();
$totalDiagnosa = Konsultasi::where('user_id', $user->id)->count();
$bulanIni = Konsultasi::where('user_id', $user->id)
->whereMonth('tanggal', now()->month)
->whereYear('tanggal', now()->year)
->count();
return view('user.profil', compact('totalDiagnosa', 'bulanIni'));
}
public function update(Request $request)
{
$user = auth()->user();
$request->validate([
'name' => ['required', 'string', 'max:255'],
'no_telp' => ['nullable', 'string', 'max:15'],
'foto' => ['nullable', 'image', 'mimes:jpeg,png,jpg', 'max:2048'],
'password' => ['nullable', 'string', 'min:8', 'confirmed'],
]);
// Update foto jika ada
if ($request->hasFile('foto')) {
// Hapus foto lama jika ada
if ($user->foto) {
Storage::disk('public')->delete($user->foto);
}
$path = $request->file('foto')->store('foto-profil', 'public');
$user->foto = $path;
}
$user->name = $request->name;
$user->no_telp = $request->no_telp;
// Update password jika diisi
if ($request->filled('password')) {
$user->password = Hash::make($request->password);
}
$user->save();
return redirect()->route('user.profil')
->with('success', 'Profil berhasil diperbarui!');
}
}