HEX
Server: Apache/2.4.6 (CentOS) OpenSSL/1.0.2k-fips PHP/8.0.30
System: Linux multiplicar 3.10.0-1160.102.1.el7.x86_64 #1 SMP Tue Oct 17 15:42:21 UTC 2023 x86_64
User: root (0)
PHP: 8.0.30
Disabled: NONE
Upload Files
File: /var/www/html/xfacil.desafio.com.py/app/Http/Livewire/Frontcolaborativo.php
<?php

namespace App\Http\Livewire;

use Livewire\Component;
use Livewire\WithPagination;
use App\Models\Boletin;
use App\Models\Biblioteca;
use App\Models\User;
use App\Notifications\NuevaNotificacion;
use Auth;

class Frontcolaborativo extends Component
{
    use WithPagination;

    protected $paginationTheme = 'bootstrap';

    protected $queryString = ['search' => ['except' => '']];

    public $search='', $boletinid=null;

    public $boletin_id,$titulo,$boletin,$categoria,$categoria_id;

    public $updateMode = 0;

    public function render()
    {
        if($this->boletinid){
            $biblioteca = Biblioteca::where('categoria_id',$this->boletinid)->orderBy('orden', 'asc')->paginate(20);
        }
        else{
            $biblioteca = Biblioteca::where('titulo', 'LIKE', '%'.$this->search.'%')
            ->whereNull('categoria_id')
            ->orderBy('orden', 'asc')
            ->paginate(20);
        }

        return view('livewire.frontcolaborativo',["boletines"=>$biblioteca]);
    }

    public function view($id){
        $this->boletinid=$id;
    }

    public function name($id)
    {
        $breadcrumb = [];
        $current = Biblioteca::find($id);
        
        while ($current) {
            array_unshift($breadcrumb, [
                'id' => $current->id,
                'titulo' => $current->titulo ?: 'Sin título'
            ]);
            
            if ($current->categoria_id) {
                $current = Biblioteca::find($current->categoria_id);
            } else {
                break;
            }
        }
        
        return collect($breadcrumb)->map(function($item) {
            return '<span wire:click="view('.$item['id'].')" style="cursor: pointer; color:hsl(0, 0.00%, 100.00%);" onmouseover="this.style.textDecoration=\'underline\'" onmouseout="this.style.textDecoration=\'none\'">'. $item['titulo'] .'</span>';
        })->implode(' / ');
    }
    public function notview(){
        $this->boletinid=null;
        $this->categoria_id='';
    }
}