/** * Returns the code for the panel itself * @return string */ public function getPanel() { $files = array_keys($this->translator->getFiles()); $strings = $this->translator->getStrings(); $untranslatedStack = isset($this->sessionStorage['stack']) ? $this->sessionStorage['stack'] : array(); foreach ($strings as $string => $data) { if (!$data) { $untranslatedStack[$string] = FALSE; } } $this->sessionStorage['stack'] = $untranslatedStack; foreach ($untranslatedStack as $string => $value) { if (!isset($strings[$string])) { $strings[$string] = FALSE; } } $template = new Nette\Templating\FileTemplate(__DIR__ . '/panel.latte'); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $template->translator = $this->translator; $template->ordinalSuffix = function ($count) { switch (substr($count, -1)) { case '1': return 'st'; break; case '2': return 'nd'; break; case '3': return 'rd'; break; default: return 'th'; break; } }; $template->application = $this->application; $template->strings = $strings; $template->height = $this->height; $template->layout = $this->layout; $template->files = $files; $template->xhrHeader = $this->xhrHeader; $template->activeFile = $this->getActiveFile($files); return $template; }
/** * Returns the code for the panel itself * @return string */ public function getPanel() { $files = array_keys($this->translator->getFiles()); $activeFile = $this->getActiveFile($files); $strings = $this->translator->getStrings(); $untranslatedStack = isset($this->sessionStorage['stack']) ? $this->sessionStorage['stack'] : array(); foreach ($strings as $string => $data) { if (!$data) { $untranslatedStack[$string] = FALSE; } } $this->sessionStorage['stack'] = $untranslatedStack; foreach ($untranslatedStack as $string => $value) { if (!isset($strings[$string])) { $strings[$string] = FALSE; } } $translator = $this->translator; ob_start(); require __DIR__ . '/panel.latte'; return ob_get_clean(); }