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();
 }
예제 #2
0
 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);
 }
예제 #3
0
 /**
  * @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());
 }
예제 #4
0
 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();
 }
예제 #5
0
 /**
  * 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();
     }
 }
예제 #6
0
 /**
  * Returns the code for the panel tab.
  * @return string
  */
 public function getTab()
 {
     $template = new Nette\Templating\FileTemplate(__DIR__ . '/tab.phtml');
     return $template->__toString();
 }