HEX
Server: Microsoft-IIS/8.5
System: Windows NT YDAWBH120 6.3 build 9600 (Windows Server 2012 R2 Standard Edition) AMD64
User: tentjecom_web (0)
PHP: 7.4.14
Disabled: NONE
Upload Files
File: D:/HostingSpaces/SBogers10/vebon.komma.pro/app/KommaApp/Sites/Kms/SitesRepository.php
<?php
/**
 *
 *
 * @author      Komma <info@komma.pro>
 * @copyright   (c) 2012-2016, Komma Mediadesign
 */

namespace KommaApp\Sites\Kms;

use Illuminate\Http\Request;
use Illuminate\Routing\Router;
use KommaApp\Kms\Core\Entities\EntityRepository;
use KommaApp\Sites\Models\Site;

class SitesRepository extends EntityRepository
{
    /**
     * The Eloquent User Object.
     *
     * @var Site
     */
    public $model;

    public $request;

    /**
     * Constructor.
     *
     * @param Site $model
     */
    function __construct(Site $model, Request $request)
    {
        $this->model = $model;
        $this->request = $request;
    }

    public function find($id)
    {
        return $this->model->find($id);
    }

    public function findBySlug($slug)
    {
        return $this->model->whereSlug($slug)->first();
    }

    public function findAll()
    {
        return $this->model->with('languages')->get();
    }

    public function getSitesForSelect()
    {
        $models = Site::all();
        $entities = [];
        foreach($models as $model)
        {
            $entity = [];
            $entity['value'] = $model->id;
            $entity['fullValue'] = json_encode($model);
            $entity['content'] = $model->name;
            $entities[] = $entity;
        }
        return $entities;
    }
    
    public function setSiteByRoute(){

        if(!\Route::current()) return $this->findAll()->first();

        if(!$slug = \Route::current()->getParameter('site')) return false;

        return $this->findBySlug($slug);
    }
}