public function getPanel() { $template = new FileTemplate(dirname(__FILE__) . '/template.latte'); $template->registerFilter(new LatteFilter()); $template->registerHelper("editorLink", callback(__CLASS__, "getEditorLink")); $template->registerHelper("substr", "substr"); $template->presenterClass = $this->getPresenter()->getReflection(); $template->actionName = $this->getPresenter()->getAction(true); $template->templateFileName = $this->getTemplateFileName(); $template->layoutFileName = $this->getLayoutFileName(); $template->appDirPathLength = strlen(realpath($this->getAppDir())); $template->interestedMethods = $this->getInterestedMethodReflections(); $template->parentClasses = $this->getParentClasses(); $template->usedComponentMethods = $this->getUsedComponentMethods(); $template->unusedComponentMethods = $this->getUnusedComponentMethods(); return $template->__toString(); }
private function saveSitemapIndex() { $sitemapIndexTemplate = new FileTemplate(__DIR__ . '/sitemapIndex.latte'); $sitemapIndexTemplate->registerFilter(new Engine()); $sitemapIndexTemplate->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $sitemapIndexTemplate->sitemapForSitemapIndex = $this->sitemapForSitemapIndex; $xmlToSave = $sitemapIndexTemplate->__toString(); if ($this->subdomain !== NULL) { $filename = 'sitemapIndex-' . $this->subdomain . '.xml'; } else { $filename = 'sitemapIndex.xml'; } if (file_exists($filename)) { unlink($filename); } file_put_contents($this->sitemapDir . $filename, $xmlToSave); }
/** * @param array $report See ScreenshotMaker::$report */ public function generate(array $report) { foreach (Finder::findFiles('*.png')->in($this->outDir) as $image) { /** @var \SplFileInfo $image */ $blank = Image::fromBlank(120, 120, array('green' => 255, 'blue' => 255, 'red' => 255)); $blank->place(Image::fromFile($image->getPathname())->resize(120, 120)); $blank->save(dirname($image->getPathname()) . '/' . $image->getBasename('.png') . '.thumb.png'); } $tpl = new Nette\Templating\FileTemplate(__DIR__ . '/../templates/report.latte'); $tpl->registerFilter(new Nette\Latte\Engine()); $tpl->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $tpl->registerHelper('resultName', function ($result) { static $names = array(StepEvent::PASSED => 'passed', StepEvent::SKIPPED => 'skipped', StepEvent::PENDING => 'pending', StepEvent::UNDEFINED => 'undefined', StepEvent::FAILED => 'failed'); return isset($names[$result]) ? $names[$result] : '[unknown]'; }); $tpl->registerHelper('resultClass', function ($result) { static $names = array(StepEvent::PASSED => 'passed', StepEvent::SKIPPED => 'skipped', StepEvent::PENDING => 'pending', StepEvent::UNDEFINED => 'undefined', StepEvent::FAILED => 'failed'); return isset($names[$result]) ? $names[$result] : '[unknown]'; }); // render $tpl->report = $report; file_put_contents($this->outDir . '/index.html', $tpl->__toString()); }
private function buildPDFApplication($id, $file = null) { $record = $this->model->get($id); if (!$record) { return; } $set = $this->setModel->get($record->wrk_set_id); $template = new \Nette\Templating\FileTemplate(__DIR__ . '/../../templates/pdf/workApplication-' . $set->template . '.latte'); $template->registerFilter(new \Nette\Latte\Engine()); $template->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $templateHeader = new \Nette\Templating\FileTemplate(__DIR__ . '/../../templates/pdf/generalHeader.latte'); $templateHeader->registerFilter(new \Nette\Latte\Engine()); $templateHeader->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $templateOddFooter = new \Nette\Templating\FileTemplate(__DIR__ . '/../../templates/pdf/generalOddFooter.latte'); $templateOddFooter->registerFilter(new \Nette\Latte\Engine()); $templateOddFooter->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $templateEvenFooter = new \Nette\Templating\FileTemplate(__DIR__ . '/../../templates/pdf/generalEvenFooter.latte'); $templateEvenFooter->registerFilter(new \Nette\Latte\Engine()); $templateEvenFooter->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); $template->date = new \Nette\DateTime(); $template->work = $record; $template->idea = $this->ideaModel->get($record->wrk_assignment_id); $template->goals = $this->ideaModel->getGoals($record->wrk_assignment_id); $template->outline = $this->ideaModel->getOutline($record->wrk_assignment_id); $template->roles = $this->model->getAssignedRolesForPrintApplication($id); require "../vendor/mpdf/mpdf/mpdf.php"; $mpdf = new \mPDF('', 'A4', 10, 'arial'); $mpdf->mirrorMargins = true; $mpdf->ignore_invalid_utf8 = true; $mpdf->WriteHTML(file_get_contents('css/pdf.css'), 1); $mpdf->SetHTMLHeader($templateHeader->__toString()); $mpdf->SetHTMLFooter($templateEvenFooter->__toString(), "E"); $mpdf->SetHTMLFooter($templateOddFooter->__toString(), "O"); $mpdf->WriteHTML($template->__toString()); if ($file) { $mpdf->Output($file, "F"); return; } $mpdf->Output(); }
/** * Renders HTML code for custom panel. * @return string * @see IDebugPanel::getPanel() */ public function getPanel() { $session = Environment::getSession('debug/RequestsPanel'); $logs = $session->logs; if ($this->response instanceof TextResponse) { unset($session->logs); $template = new FileTemplate(dirname(__FILE__) . '/bar.requests.panel.latte'); $template->registerFilter(new LatteFilter()); $template->registerHelper('plural', 'Helpers::plural'); $template->logs = $logs; $template->numberOfLogs = count($logs); return $template->__toString(); } }
/** * Returns the code for the panel tab. * @return string */ public function getTab() { $template = new Nette\Templating\FileTemplate(__DIR__ . '/tab.phtml'); return $template->__toString(); }