function run($data, $page) { # Create the email $view = new ConfirmationEmail($this, $data['_timestamp']); $stringifier = new Stringifier(); $html = '<!DOCTYPE html>' . $stringifier->stringify($view); # ... and send it! $mail = new Message(); $mail->setFrom($this->from)->addTo($data[$this->emailField])->setSubject($this->subject)->setHTMLBody($html); $mailer = new SmtpMailer(Config::get()['smtp']); $mailer->send($mail); return $data; }
<?php require 'include/all.php'; use Gregwar\Cache\Cache; use voku\helper\UTF8; # Klein is used as the router. $klein = new \Klein\Klein(); # Create a config file parser $parser = new Parser(); $stringifier = new Stringifier(); // header('X-Frame-Options: DENY'); # Display simple error messages. # Based on code from the Klein documentation. $klein->onHttpError(function ($code, $router) use($stringifier) { $res = $router->response(); $message = h()->h1->style('text-align:center;font-size:72px;')->c($res->status()->getCode())->end->h2->style('text-align:center')->c($res->status()->getMessage())->end; $stringifier->writeResponse(new PageWrapper($message), $res); }); # The main list of forms $klein->respond('GET', '/', function ($req, $res) use($parser, $stringifier) { $formlist = new FormList($parser->getFormInfo()); $stringifier->writeResponse(new PageWrapper($formlist->makeFormList()), $res); }); # A view $klein->respond('GET', '/view', function ($req, $res) use($parser, $stringifier) { $page = $parser->parseJade($_GET['form']); $view = $page->getView($_GET['view']); $render = $view->makeView($view->query($req->paramsGet()->get('page', 1))); $stringifier->writeResponse(new PageWrapper($render), $res); }); # A form itself