Skip to content

Commit

Permalink
Fixed contact page.
Browse files Browse the repository at this point in the history
  • Loading branch information
umpirsky committed Jul 20, 2011
1 parent dd8a8ec commit 50f762d
Show file tree
Hide file tree
Showing 2 changed files with 31 additions and 34 deletions.
61 changes: 29 additions & 32 deletions src/bootstrap.php
Expand Up @@ -67,40 +67,37 @@ function (\Exception $e) use ($app) {
})->bind($view);
}

$app['contact.form'] = $app['form.factory']
->createBuilder('form')
->add('name', 'text', array('label' => 'Name:'))
->add('email', 'email', array('label' => 'Email:'))
->add('message', 'textarea', array('label' => 'Message:'))
->getForm();

$app->get('/contact', function () use ($app, $view) {
return $app['twig']->render('contact.twig', array('form' => $app['contact.form']->createView()));
})->bind('contact');

$app->post('/contact', function () use ($app, $view) {
$form = $app['contact.form'];
$form->bindRequest($app['request']);
if($form->isValid()) {
$data = $form->getData();

require_once __DIR__ . '/../vendor/swiftmailer/lib/swift_required.php';
$message = \Swift_Message::newInstance()
->setSubject(sprintf('Contact from %s', $_SERVER['SERVER_NAME']))
->setFrom(array($data['email']))
->setTo(array('umpirsky@gmail.com'))
->setBody($data['message']);

$transport = \Swift_MailTransport::newInstance();
$mailer = \Swift_Mailer::newInstance($transport);
$mailer->send($message);

return $app->redirect($app['url_generator']->generate('contact'));
$app->match('/contact', function () use ($app, $view) {

$form = $app['form.factory']
->createBuilder('form')
->add('name', 'text', array('label' => 'Name:'))
->add('email', 'email', array('label' => 'Email:'))
->add('message', 'textarea', array('label' => 'Message:'))
->getForm();

if ('POST' == $app['request']->getMethod()) {
$form->bindRequest($app['request']);
if ($form->isValid()) {
$data = $form->getData();

require_once __DIR__ . '/../vendor/swiftmailer/lib/swift_required.php';
$message = \Swift_Message::newInstance()
->setSubject(sprintf('Contact from %s', $_SERVER['SERVER_NAME']))
->setFrom(array($data['email']))
->setTo(array('umpirsky@gmail.com'))
->setBody($data['message']);

$transport = \Swift_MailTransport::newInstance();
$mailer = \Swift_Mailer::newInstance($transport);
$mailer->send($message);

return $app->redirect($app['url_generator']->generate('contact'));
}
}

return $app['twig']->render('contact.twig', array('form' => $app['contact.form']->createView()));
})->bind('contact_send');

return $app['twig']->render('contact.twig', array('form' => $form->createView()));
})->bind('contact');

// Run
$app->run();
4 changes: 2 additions & 2 deletions views/contact.twig
Expand Up @@ -7,11 +7,11 @@
{% block content %}
<h2 id="title" class="contact georgia">Contact</h2>
<p>I use to check my inbox every day, so don't hesitate to get in touch with me if you have any questions, comments, ideas...anything. I'll try to answer as soon as possible.</p>
<form method="post" action="{{ app.url_generator.generate('contact_send') }}" enctype="application/x-www-form-urlencoded">
<form method="post" action="{{ app.url_generator.generate('contact') }}" enctype="application/x-www-form-urlencoded">
{{ form_row(form.name) }}
{{ form_row(form.email) }}
{{ form_row(form.message) }}
<input type="submit" value="Send message" id="send" name="send">
{{ form_rest(form) }}
</form>
{% endblock %}
{% endblock %}

0 comments on commit 50f762d

Please sign in to comment.