33 lines
837 B
PHP
Executable File
33 lines
837 B
PHP
Executable File
<?php
|
|
namespace App\Http\Middleware;
|
|
use Closure;
|
|
use Illuminate\Contracts\Auth\Guard;
|
|
use Illuminate\Contracts\View\Factory;
|
|
class Theme
|
|
{
|
|
protected $auth;
|
|
protected $view;
|
|
|
|
public function __construct(Guard $auth, Factory $view)
|
|
{
|
|
$this->auth = $auth;
|
|
$this->view = $view;
|
|
}
|
|
/**
|
|
* Handle an incoming request.
|
|
*
|
|
* @param \Illuminate\Http\Request $request
|
|
* @param \Closure $next
|
|
* @return mixed
|
|
*/
|
|
public function handle($request, Closure $next)
|
|
{
|
|
$paths = $this->view->getFinder()->getPaths();
|
|
foreach ($paths as &$p) {
|
|
$p .= "/layout" . (auth()->check() ? auth()->user()->layout : 1);
|
|
}
|
|
$this->view->setFinder(new \Illuminate\View\FileViewFinder($this->view->getFinder()->getFilesystem(), $paths));
|
|
return $next($request);
|
|
}
|
|
}
|