Init
This commit is contained in:
51
app/model/Latte/TemplateFactory.php
Normal file
51
app/model/Latte/TemplateFactory.php
Normal file
@@ -0,0 +1,51 @@
|
||||
<?php declare(strict_types = 1);
|
||||
|
||||
namespace App\Model\Latte;
|
||||
|
||||
use App\Model\Security\SecurityUser;
|
||||
use Nette\Application\UI\Control;
|
||||
use Nette\Bridges\ApplicationLatte\LatteFactory;
|
||||
use Nette\Bridges\ApplicationLatte\Template;
|
||||
use Nette\Bridges\ApplicationLatte\TemplateFactory as NetteTemplateFactory;
|
||||
use Nette\Caching\IStorage;
|
||||
use Nette\Http\IRequest;
|
||||
|
||||
final class TemplateFactory extends NetteTemplateFactory
|
||||
{
|
||||
|
||||
/** @var LatteFactory */
|
||||
private $latteFactory;
|
||||
|
||||
/** @var SecurityUser */
|
||||
private $user;
|
||||
|
||||
public function __construct(
|
||||
LatteFactory $latteFactory,
|
||||
IRequest $httpRequest,
|
||||
SecurityUser $user,
|
||||
IStorage $cacheStorage,
|
||||
string $templateClass = null
|
||||
)
|
||||
{
|
||||
parent::__construct($latteFactory, $httpRequest, $user, $cacheStorage, $templateClass);
|
||||
$this->latteFactory = $latteFactory;
|
||||
$this->user = $user;
|
||||
}
|
||||
|
||||
public function createTemplate(Control $control = null, string $class = null): Template
|
||||
{
|
||||
/** @var Template $template */
|
||||
$template = parent::createTemplate($control);
|
||||
|
||||
// Remove default $template->user for prevent misused
|
||||
unset($template->user);
|
||||
|
||||
// Assign new variables
|
||||
$template->_user = $this->user;
|
||||
$template->_template = $template;
|
||||
$template->_filters = new FilterExecutor($this->latteFactory->create());
|
||||
|
||||
return $template;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user