public function sendMail($formValues) { // dump($formValues); // die(); // $template = new Nette\Templating\FileTemplate(__DIR__ . '/emailTemplates/' . $this->templateFilename); $template->registerFilter(new Nette\Latte\Engine()); $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $attachments = array(); if (isset($formValues['cv']) && $formValues['cv'] instanceof Nette\Http\FileUpload) { if ($formValues['cv']->isOk()) { $attachments[$formValues['cv']->getName()] = $formValues['cv']->getContents(); } } unset($formValues['cv']); $template->values = $formValues; // echo $template; // die(); $mail = new \Nette\Mail\Message(); $mail->setFrom($this->from)->setSubject($this->subject)->addTo($this->to)->setHtmlBody($template); if ($attachments) { foreach ($attachments as $name => $content) { $mail->addAttachment($name, $content); } } // foreach ($tos as $to) { // $mail->addTo($to); // } $mail->send(); }
/** * Redirects using JavaScript. * @param string $url * @return void */ public static function redirectUrl($url) { if (FALSE === Validators::isUrl($url)) { throw new \Nette\InvalidArgumentException($url . " is not valid URL."); } $template = new FileTemplate(dirname(__FILE__) . '/' . self::$TEMPLATE_DIR . '/iframeRedirect.latte'); $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $template->registerFilter(new \Nette\Latte\Engine()); $template->url = $url; $template->render(); exit; }
public function sendEmail($form) { $form = $form->getForm(); $values = $form->getValues(); $template = new Nette\Templating\FileTemplate(__DIR__ . '/message.latte'); $template->registerFilter(new Nette\Latte\Engine()); $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); $template->mailfrom = $values->mailfrom; $mail = new Message(); $mail->setFrom($values->mailfrom)->addTo($values->mailto)->setSubject('Upozornění na stránky www.automarkyzy.cz')->setHtmlBody($template); $mailer = new SendmailMailer(); $mailer->send($mail); $this->redrawControl('tellafriend'); $this->send = TRUE; }
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); }
/** * 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() { $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(); }
/** * @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()); }
/** * @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; }
/** * Constructor * * @param $templateName */ public function __construct($templateName) { $this->template = new \Nette\Templating\FileTemplate(SUBSCRIBE_TEMPLATES . $templateName); $this->template->registerFilter(new \Nette\Latte\Engine()); $this->template->registerHelperLoader('\\Nette\\Templating\\Helpers::loader'); }
/** * Creates template instance * * @return Nette\Templating\FileTemplate * * @throws Nette\InvalidStateException if template file was not set * @throws Nette\InvalidArgumentException if template file does not exists */ protected function createTemplate() { if (empty($this->templateFile)) { throw new Nette\InvalidStateException("Template file was not set. Forget to call " . get_called_class() . "::setTempplate()?"); } if (!file_exists($this->templateFile)) { throw new Nette\InvalidArgumentException("Invoice template file '{$this->templateFile}' does not exist."); } $template = new Nette\Templating\FileTemplate($this->templateFile); $template->registerFilter(new Nette\Latte\Engine()); $template->registerHelperLoader('Nette\\Templating\\DefaultHelpers::loader'); $template->registerHelper('currency', 'vStore\\Latte\\Helpers\\Shop::currency'); $template->baseUrl = rtrim($this->context->httpRequest->getUrl()->getBaseUrl(), '/'); $template->renderer = $this; return $template; }
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() { if ($this->response instanceof \Nette\Application\Responses\ForwardResponse || $this->response instanceof \Nette\Application\Responses\RedirectResponse) { return ''; } /** @var Template */ $template = new FileTemplate(); $template->setFile(dirname(__FILE__) . "/bar.latte"); $template->registerFilter(new Engine()); $template->presenter = $template->control = $template->rootComponent = Environment::getApplication()->getPresenter(); if ($template->presenter === NULL) { return NULL; } $template->wrap = static::$wrap; $template->cache = static::$cache ? Environment::getCache('Debugger.Panels.ComponentTree') : NULL; $template->dumps = static::$dumps; $template->parametersOpen = static::$parametersOpen; $template->presenterOpen = static::$presenterOpen; $template->showSources = static::$showSources; $template->omittedVariables = static::$omittedTemplateVariables; $template->registerHelper('parametersInfo', callback($this, 'getParametersInfo')); $template->registerHelper('editlink', callback($this, 'buildEditorLink')); $template->registerHelper('highlight', callback($this, 'highlight')); $template->registerHelper('filterMethods', callback($this, 'filterMethods')); $template->registerHelper('renderedTemplates', callback($this, 'getRenderedTemplates')); $template->registerHelper('isPersistent', callback($this, 'isPersistent')); $template->registerHelperLoader('Nette\\Templating\\Helpers::loader'); ob_start(); $template->render(); return ob_get_clean(); }