KUJUNTI.ID MINISH3LL
Path : /var/www/html/phkaynews-v2/app/Http/Livewire/Admin/
(S)h3ll Cr3at0r :
F!le Upl0ad :

B-Con CMD Config cPanel C-Rdp D-Log Info Jump Mass Ransom Symlink vHost Zone-H

Current File : /var/www/html/phkaynews-v2/app/Http/Livewire/Admin/UserManage.php


<?php

namespace App\Http\Livewire\Admin;

use App\Models\User;
use Jantinnerezo\LivewireAlert\LivewireAlert;
use Livewire\Component;
use Livewire\WithPagination;

class UserManage extends Component
{
    use LivewireAlert;
    use WithPagination;

    protected $paginationTheme = 'bootstrap';
    public $item,$total_item;
    public $s, $per_page, $readyLoadingItem = false;
    public $sortBy = 'created_at';
    public $sortDirection = 'desc';
    public $limited = 10, $show_limit = [10, 25, 50, 100];

    protected $listeners =[
        'confirmed',
        'addItem',
        'updatedItem',
    ];

    public function getUsersProperty()
    {
        return User::when($this->s, function ($query) {
            return $query->where('name', 'like', '%' . $this->s . '%');
        })->orderBy($this->sortBy,$this->sortDirection)->paginate($this->limited);
    }

    public function render()
    {
        $this->total_item = User::count();
        return view('livewire.admin.user-manage',[
            'users' => $this->readyLoadingItem ? $this->users : []
        ])->layout('layouts.admin');
    }

    public function loadingItem()
    {
        $this->readyLoadingItem = true;
    }

    public function sortBy($field)
    {
        $this->sortDirection = $this->sortBy === $field ? $this->reverseSort() : 'asc';
        $this->sortBy = $field;
    }
 
    public function reverseSort()
    {
        return $this->sortDirection === 'asc' ? 'desc' : 'asc';
    }

    public function addItem($data)
    {
        $this->advertise = $data;
        $this->alert('success', 'Your item has been create successfully.', [
            'position' =>  'top',
            'toast' =>  true,
            'showCancelButton' =>  false,
            'showConfirmButton' =>  false,
            'timerProgressBar' => true,
        ]);
    }

    public function updatedItem()
    {
        $this->alert('success', 'Your item has been update successfully.', [
            'position' =>  'top',
            'toast' =>  true,
            'showCancelButton' =>  false,
            'showConfirmButton' =>  false,
            'timerProgressBar' => true,
        ]);
    }

    public function confirmed()
    {
        $this->item->delete();
        $old_img = public_path($this->item->feature_image); //is get path old image 
        if (file_exists($old_img)) {
            unlink($old_img);
        }
        $action = 'delete';
        
        $this->alert('success', 'Your item has been ' . $action . ' successfully.', [
            'position' =>  'top',
            'toast' =>  true,
            'showCancelButton' =>  false,
            'showConfirmButton' =>  false,
            'timerProgressBar' => true,
        ]);
    }

    public function destroy(User $user)
    {
        $this->item = $user;
        $this->confirm("You won't be able to revert this!", [
            'toast' => false,
            'position' => 'center',
            'showConfirmButton' => true,
            'onConfirmed' => 'confirmed',
            'onCancelled' => 'cancelled',
            'confirmButtonText' => 'Yes, move trash!',
            'showCancelButton' => !0,
            'cancelButtonText' => "No, cancel!",
            'customClass' => [
                'confirmButton' => 'btn btn-success mt-2',
                'cancelButton' => 'btn btn-danger ml-2 mt-2'
            ],
            'buttonsStyling' => false,
        ]);
    }
}

© KUJUNTI.ID