Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class HomePage extends Page{
- static $db = array(
- 'Subject'=>'Varchar(100)',
- 'Message'=>'Text',
- 'SuccessTitle'=>'Text',
- 'SuccessMessage'=>'Text'
- //Fields created for sending out registration confirmations
- );
- static $has_one =array(
- 'RightImage' => 'Image'
- );
- function getCMSFields(){
- $fields = parent::getCMSFields();
- $fields->addFieldToTab("Root.Settings", new TextField('Subject', "Email Subject Line"));
- $fields->addFieldToTab("Root.Settings", new TextareaField('Message', "Email Message"));
- $fields->addFieldToTab("Root.Images", new ImageField('RightImage', "Image on right of home page"));
- $fields->addFieldToTab("Root.OnSubmission", new TextField('MailFrom', "Email sent from"));
- $fields->addFieldToTab("Root.OnSubmission", new TextField('RegSubject', "Email Subject"));
- $fields->addFieldToTab("Root.OnSubmission", new TextareaField('RegMessage', "Email Message"));
- $fields->addFieldToTab("Root.SubmitPage", new TextField('SuccessTitle', "Heading"));
- $fields->addFieldToTab("Root.SubmitPage", new TextareaField('SuccessMessage', "Message"));
- return $fields;
- }
- }
- class HomePage_Controller extends Page_Controller {
- function TeacherForm(){
- //feilds for TeacherForm
- $fields = new FieldSet(
- new TextField('Name'),
- new TextField('Surname'),
- new EmailField('Email'),
- new TextField('Position'),
- new TextField('City'),
- new TextField('School'));
- //action submission
- $action= new FieldSet(
- new ImageFormAction('doTeacherForm', 'Submit', '/themes/richmond/images/button.png', '/themes/richmond/images/button_over.png')
- );
- //Validate
- $Validator = new RequiredFields ('Name','Surname','Email','City','Position','School');
- return new Form($this,'TeacherForm', $fields,$action, $Validator);
- }
- function doTeacherForm($data, $form){
- $submission = new TeacherFormSubmission();
- $form->saveInto($submission);
- $submission->write();
- $From=$this->MailFrom;
- //$To='josh@subvert.co.nz';
- //$To=$data['Email'];
- $To='monica@localhost';
- $Subject=$this->RegSubject;
- $email= new Email($From, $To, $Subject);
- $email->setTemplate('TeacherSubmissionEmail');
- //populate the email template and add message to the
- $EmailData = &$data; //copies data array into a new array
- $HtmlEmail=str_replace("@", "%40", $To); //replace @ sign for use in the url
- $EmailData["Message"]=$this->RegMessage; //add the email message to the array
- $EmailData["HtmlEmail"]=$HtmlEmail;
- $email->populateTemplate($EmailData); //pass this array into the emailTemplate
- $email->send();
- //Redirects the success url
- Director::redirect(Director::baseURL(). $this->URLSegment . "/?Success=1");
- }
- public function Success()
- {
- //returns the user to the success url once the form has been submitted
- return isset($_REQUEST['Success']) && $_REQUEST['Success']== "1";
- }
- }
Add Comment
Please, Sign In to add comment