39 lines
870 B
PHP
39 lines
870 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Http\Composers;
|
||
|
|
||
|
use App\Contracts\Composer;
|
||
|
use App\Repositories\PageRepository;
|
||
|
use Illuminate\Support\Facades\Auth;
|
||
|
use Illuminate\View\View;
|
||
|
|
||
|
class PageLinksComposer extends Composer
|
||
|
{
|
||
|
protected $pageRepo;
|
||
|
|
||
|
/**
|
||
|
* PageLinksComposer constructor.
|
||
|
*
|
||
|
* @param \App\Repositories\PageRepository $pageRepo
|
||
|
*/
|
||
|
public function __construct(PageRepository $pageRepo)
|
||
|
{
|
||
|
$this->pageRepo = $pageRepo;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* @param \Illuminate\View\View $view
|
||
|
*/
|
||
|
public function compose(View $view)
|
||
|
{
|
||
|
// If not logged in, then only get the public pages
|
||
|
$w = ['enabled' => true];
|
||
|
if (!Auth::check()) {
|
||
|
$w = ['public' => true];
|
||
|
}
|
||
|
|
||
|
$pages = $this->pageRepo->findWhere($w, ['id', 'name', 'slug', 'icon']);
|
||
|
$view->with('page_links', $pages);
|
||
|
}
|
||
|
}
|