Source of file EnquiryForm.php
Size: 2,081 Bytes - Last Modified: 2021-12-24T06:35:17+00:00
/var/www/docs.ssmods.com/process/src/code/EnquiryForm.php
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 | <?php class EnquiryForm extends Form { public function __construct($controller, $name = "EnquiryForm") { $content = SiteConfig::current_site_config()->EnquiryFormMesssage; $fields = new FieldList( new TextField("FirstName", "First Name"), new TextField("Surname", "Surname"), new EmailField("Email", "Email"), new TextareaField("Message", "Your Message"), new LiteralField("Content", "<div>$content</div>") ); $actions = new FieldList( new FormAction('submitenquiry', "Send Enquiry") ); $validator = new RequiredFields( 'FirstName', 'Email', 'Message' ); parent::__construct($controller, $name, $fields, $actions, $validator); $this->extend('updateForm'); } public function validate() { $data = $this->getData(); $valid = parent::validate(); if (isset($data['AgreeToTerms']) && !(bool)$data['AgreeToTerms']) { $this->sessionMessage(_t("EnquiryForm.MUSTAGREEETERMS", "You must agree to the terms and conditions"), "bad"); return false; } return $valid; } public function submitenquiry($data, $form) { $enquiry = Enquiry::find_or_make(); $form->saveInto($enquiry); $enquiry->Sent = date('Y-m-d H:i:s'); $enquiry->write(); $email = $enquiry->createEmail(); $email->send(); Enquiry::clear(); $form->sessionMessage("Thankyou for your enquiry.", "good"); $this->Controller()->redirect( Controller::join_links( $this->Controller()->Link(), 'enquire' ) ); } public function forAjaxTemplate() { $rendered = parent::forAjaxTemplate(); if ($scripts = Requirements::get_custom_scripts()) { $rendered .= "<script type=\"text/javascript\">\n//<![CDATA[ \n".$scripts."</script>"; } return $rendered; } } |