/** * Returns the code for the panel itself. * * @return string */ public function getPanel() { $template = new FileTemplate(); $template->setFile(__DIR__ . "/panel.latte"); $template->onPrepareFilters[] = function ($template) { $template->registerFilter(new Engine()); }; $template->registerHelperLoader("\\Nette\\Templating\\Helpers::loader"); $template->setCacheStorage(new PhpFileStorage($this->container->parameters["tempDir"] . "/cache")); if ($this->container->application->presenter) { $file = $this->container->application->presenter->template->getFile(); if (!empty($file)) { $template->templatePath = $file; $template->templateCode = $this->printCode($file); $template->presenterLink = $this->container->application->getPresenter()->link("this"); $template->xhr_header = self::XHR_HEADER; } } ob_start(); echo $template->render(); return ob_get_clean(); }
/** * @return Nette\Templating\ITemplate */ protected function createTemplate() { $template = new Nette\Templating\FileTemplate(); $presenter = $this->getPresenter(FALSE); $template->onPrepareFilters[] = callback($this, 'templatePrepareFilters'); // default parameters $template->control = $this; $template->presenter = $presenter; if ($presenter instanceof Presenter) { $template->setCacheStorage($presenter->getContext()->templateCacheStorage); $template->user = $presenter->getUser(); $template->netteHttpResponse = $presenter->getHttpResponse(); $template->netteCacheStorage = $presenter->getContext()->cacheStorage; $template->baseUri = $template->baseUrl = rtrim($presenter->getHttpRequest()->getUrl()->getBaseUrl(), '/'); $template->basePath = preg_replace('#https?://[^/]+#A', '', $template->baseUrl); // flash message if ($presenter->hasFlashSession()) { $id = $this->getParamId('flash'); $template->flashes = $presenter->getFlashSession()->{$id}; } } if (!isset($template->flashes) || !is_array($template->flashes)) { $template->flashes = array(); } // default helpers $template->registerHelper('escape', 'Nette\\Templating\\DefaultHelpers::escapeHtml'); $template->registerHelper('escapeUrl', 'rawurlencode'); $template->registerHelper('stripTags', 'strip_tags'); $template->registerHelper('nl2br', 'nl2br'); $template->registerHelper('substr', 'iconv_substr'); $template->registerHelper('repeat', 'str_repeat'); $template->registerHelper('replaceRE', 'Nette\\Utils\\Strings::replace'); $template->registerHelper('implode', 'implode'); $template->registerHelper('number', 'number_format'); $template->registerHelperLoader('Nette\\Templating\\DefaultHelpers::loader'); return $template; }