<?php
class ContactPage extends Page {
}
class ContactForm extends Form {
function __construct($controller, $name) {
$fields = new FieldSet(
new TextField('Name', '', 'Name'),
new EmailField('Email', '', 'E-mail'),
new NumericField('Phone', '', 'Telephone'),
new TextareaField('Message', '', '5', '35', 'Description')
);
$actions = new FieldSet(
new FormAction('doForm', 'Contact')
);
$validator = new RequiredFields(array(
'Name',
'Email',
'Message'
));
parent::__construct($controller, $name, $fields, $actions, $validator);
}
function forTemplate() {
return $this->renderWith(array(
$this->class,
'Form'
));
}
function doForm($data, $form) {
$email = new ContactPage_Email(
$data['Email'],
'removed',
'some subject'
);
$email->populateTemplate(array(
'FormData' => new ArrayData($data)
));
$email->send();
Director::redirect('/submission-received/');
}
}
class ContactPage_Controller extends Page_Controller {
function Form() {
return new ContactForm($this, 'Form');
}
}
class ContactPage_Email extends Email_Template {
protected $ss_template = 'ContactPage_Email';
}
?>