| Path : /proc/self/root/var/www/html/phkaynews-v2/app/Http/Livewire/Admin/Partcials/ |
|
B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H |
| Current File : //proc/self/root/var/www/html/phkaynews-v2/app/Http/Livewire/Admin/Partcials/UserForm.php |
<?php
namespace App\Http\Livewire\Admin\Partcials;
use App\Models\User;
use Livewire\Component;
use Livewire\WithFileUploads;
class UserForm extends Component
{
use WithFileUploads;
public $modal_id, $user, $feature_image;
public $no_image = 'backend/images/no-thumbnail.jpg', $old_image, $update_image,$old_passwd,$require_p =false;
protected $rules = [
'user.name' => 'required',
'user.email' => 'required|email|unique:users,email',
'user.phone' => 'required',
'user.gender' => '',
'user.password' => 'required',
'user.desc' => '',
'feature_image' => 'image|max:1024'
];
public function mount($modalId, $user = null)
{
$this->modal_id = $modalId;
$this->user = $user;
if (!empty($user)) {
$this->old_image = $user->feature_image;
$this->old_passwd = $user->password;
}else {
$this->user['gender'] = 'M';
}
}
public function render()
{
return view('livewire.admin.partcials.user-form');
}
public function submit()
{
if (isset($this->user->id)) {
$this->validate([
'user.name' => 'required',
'user.email' => 'required|email|unique:users,email,'.$this->user->id,
'user.phone' => 'required',
]);
if (!empty($this->update_image)) {
$this->validate([
'update_image' => 'image|max:1024'
]);
$old_img_path = public_path($this->old_image); //is get path old image
if (file_exists($old_img_path)) {
unlink($old_img_path);
}
$this->old_image = '';
$updated_image = $this->update_image->store('ads');
}
if (!empty($this->feature_image)) {
$updated_image = $this->feature_image->store('avatar');
}
$this->user->update([
'name' => $this->user['name'],
'email' => $this->user['email'],
'phone' => $this->user['phone'],
'gender' => $this->user['gender'],
'desc' => $this->user['desc'],
'password' => empty($this->user['password'])? $this->old_passwd:bcrypt($this->user['password']),
'feature_image' => empty($this->old_image) ? $updated_image : $this->old_image
]);
$this->emit('updatedItem');
} else {
$this->validate();
$avatar = $this->feature_image->store('avatar');
$user = User::create($this->user);
$updated = User::findOrFail($user->id)->update([
'feature_image' => $avatar,
'password' => bcrypt($this->user['password'])
]);
$this->emit('addItem', $this->user);
}
$this->dispatchBrowserEvent('closeModal', ['modalId' => $this->modal_id]);
$this->reset();
$this->resetValidation();
}
}