Sindbad~EG File Manager

Current Path : /var/www/html/desafiatebasa.sumar.com.py/app/Http/Livewire/
Upload File :
Current File : /var/www/html/desafiatebasa.sumar.com.py/app/Http/Livewire/Popup.php

<?php

namespace App\Http\Livewire;

use Livewire\Component;
use App\Models\Modal;
use Livewire\WithFileUploads;
use App\File;

class Popup extends Component{

    use WithFileUploads;

    public $popup_id,$nombre,$enlace,$enlace2,$tipo,$estado;

    public function mount(){

        $popup=Modal::first();

        $this->nombre=$popup->nombre;
        $this->enlace2=$popup->enlace;
        $this->tipo=$popup->tipo;
        $this->estado=$popup->estado;
        $this->popup_id=$popup->id;
        
    }

    public function render(){
        return view('livewire.popup');
    }

    public function update($id) {

        $validatedDate = $this->validate(
            [
                'nombre' => 'required',
                'tipo' => 'required',
                'estado' => 'required',
            ],
            [
                'nombre.required' => 'El campo Titulo categoria es requerido',
                'tipo.required' => 'El campo Tipo de archivo es requerido',
                'estado.required' => 'El campo estado es requerido',
            ]
        );
        
        $modal=Modal::find($id);
        $modal->nombre=$this->nombre;
        $modal->tipo=$this->tipo;
        $modal->estado=$this->estado;

        $archivo="";
        
        if($file = $this->enlace) {
            $archivo=$modal->enlace;
            $control=0;
            $nombre = rand().".".$file->getClientOriginalExtension();
            while ($control == 0) {
                if (is_file( public_path() . '/modal/' . $nombre )) {
                    $nombre = rand() . $nombre;
                }else{
                    $this->enlace->storeAs('/modal',$nombre,'subidaarchivos');
                    $modal->enlace=$nombre;
                    $control=1;
                }
            }
        }
        
        if ($modal->update()){
            if($archivo){
                unlink(public_path().'/modal/'.$archivo);
            }
            $this->mount();
            $this->emit('alert', ['type' => 'success', 'message' => 'Pop-up editado correctamente.']);
        }    
    }
}

Sindbad File Manager Version 1.0, Coded By Sindbad EG ~ The Terrorists