*/ private array $stack = []; public function __construct(private Nette\Caching\Storage $storage) { } public function initialize(Latte\Runtime\Template $template): void { if ($this->stack) { $file = (new \ReflectionClass($template))->getFileName(); if (@is_file($file)) { // @ - may trigger error end($this->stack)->dependencies[Cache::Files][] = $file; } } } /** * Starts the output cache. Returns true if buffering was started. */ public function createCache(string $key, ?array $args = null): bool { if ($args) { if (array_key_exists('if', $args) && !$args['if']) { $this->stack[] = new \stdClass; return true; } $key = array_merge([$key], array_intersect_key($args, range(0, count($args)))); } if ($this->stack) { end($this->stack)->dependencies[Cache::Items][] = $key; } $cache = new Cache($this->storage, 'Nette.Templating.Cache'); if ($helper = $cache->capture($key)) { $this->stack[] = $helper; if (isset($args['dependencies'])) { $args += $args['dependencies'](); } $helper->dependencies[Cache::Tags] = $args['tags'] ?? null; $helper->dependencies[Cache::Expire] = $args['expiration'] ?? $args['expire'] ?? '+ 7 days'; } return (bool) $helper; } /** * Ends the output cache. */ public function end(): void { $helper = array_pop($this->stack); if ($helper instanceof OutputHelper) { $helper->end(); } } public function rollback(): void { $helper = array_pop($this->stack); if ($helper instanceof OutputHelper) { $helper->rollback(); } } } __halt_compiler();----SIGNATURE:----fijHdWwpvWBXN4vuKf9KURXK12ulsKNg/Kmm8W2XTOG9vUkj0FmdDWTkJrs4zs/LNVmrnjwEpvYpJbkUYMCkARpu+UVpnmEY0HHuvgaqMmz41pb/gamuLWhiSnkK5D4xEVJoY8VEMjomjsLfzRmSLlI2o6OlyJMhlTh05HPYKtzygXeQLtckS7uAqRTsW8hDqUmI8pOcKYvAJpxUwBZB6L3k+tVozTXzeo5Etfl3CrWvFhxCWsQ+rlW6wFXX2J59vjw5HkmhWNmAdHYUTmMOO3iCPfLqbBSZQxIxrJag2W+IqvtFZt2gdGTxMfO9+zJb7w4Zs5HWV/EcjjmC+pDq/0ANC/cNTfxgWwVVN4spzU5IGnDJWSsjqvu94x3AYgT5auh4xGh/KARebiffvK8N6kT/Xr1enj0mtpl42Wd7sH5r3Jmj2IUAQGcxiN2HGRcyW1uP4KyxojKfjAfNGaCu6Iw0TAORJJ3sQtE7TvIMotgXAKwPu1n9XWM+KsByHHLJZIPb7j3B3MpTwk1LbfFGMFNhneRjJrhygPDLfJmC7fSMJYaXA3EgaF7qudMpQUWgnWEu7FNDd99zEERhKqhbtQr3HxZScePyiN4amXvj6gqwxwozOUyfDJYNWZkmouPexU8gXOTmEuZeowpr6wZwgJhWV4B4BS8sXYmezT8IIdI=----ATTACHMENT:----MzU4Nzg1NjUzMTc5ODA0NSA5NDEzMzg4Mzk4MTQ5NzgwIDk3Mjg5Nzg1MDI2OTg2MDQ=