55 lines
1.4 KiB
PHP
55 lines
1.4 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers\Account;
|
|
|
|
use App\Http\Controllers\Controller;
|
|
use App\Http\Requests\EditProfilePostRequest;
|
|
use Illuminate\Support\Facades\Storage;
|
|
|
|
use Illuminate\Support\Facades\Auth;
|
|
use Illuminate\Support\Facades\Hash;
|
|
|
|
class EditProfileController extends Controller
|
|
{
|
|
public function index()
|
|
{
|
|
|
|
$user = Auth::user()->load(['comments.commentable', 'favorites.favoritable']);
|
|
|
|
return view('account.edit-profile.index', compact('user'));
|
|
}
|
|
|
|
public function post(EditProfilePostRequest $request)
|
|
{
|
|
$user = Auth::user();
|
|
|
|
// بهروزرسانی فیلدها
|
|
$user->first_name = $request->first_name;
|
|
$user->last_name = $request->last_name;
|
|
$user->email = $request->email;
|
|
$user->username = $request->username;
|
|
|
|
|
|
if ($request->filled('password')) {
|
|
$user->password = Hash::make($request->password);
|
|
}
|
|
|
|
|
|
if ($request->hasFile('image')) {
|
|
|
|
if ($user->image) {
|
|
Storage::disk('public')->delete($user->image);
|
|
}
|
|
|
|
$path = $request->file('image')->store('avatars', 'public');
|
|
$user->image = $path;
|
|
}
|
|
|
|
$user->save();
|
|
|
|
return redirect()
|
|
->route('account.edit-profile.index')
|
|
->with('success', 'اطلاعات پروفایل با موفقیت ویرایش شد.');
|
|
}
|
|
}
|