Exemple #1
0
 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;
 }
Exemple #4
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);
 }
Exemple #5
0
 /**
  * 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();
 }
Exemple #7
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());
 }
Exemple #8
0
 /**
  * @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;
 }
Exemple #9
0
 /**
  * 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;
 }
Exemple #11
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();
 }
 /**
  * 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();
 }