Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- class CompanyEmailSubmission extends DataObject {
- static $db = array(
- // Personal Details
- 'FirstName' => 'Text',
- 'LastName' => 'Text',
- 'Email' => 'Text',
- 'IPAddress' => 'Text',
- // Subscriptions
- 'ReceiveUpdates' => 'Boolean',
- 'SendMeACopy' => 'Boolean',
- // Email
- 'EmailSubject' => 'Text',
- 'EmailMessage' => 'Text',
- 'EmailReceiver' => 'Text',
- 'Company' => 'Text',
- // Status
- 'ApprovedForSend' => 'Boolean',
- 'Sent' => 'Boolean',
- 'SentDate' => 'SS_Datetime'
- );
- static $has_one = array(
- 'Member' => 'Member'
- );
- static $defaults = array(
- 'ApprovedForSend' => false
- );
- static $summary_fields = array(
- 'FirstName',
- 'LastName',
- 'Email',
- 'CreatedDate',
- 'Sent'
- );
- public function getCreatedDate() {
- return $this->dbObject('Created')->Nice();
- }
- public function sendEmailToReceiver() {
- if ($this->Sent || !$this->ApprovedForSend) {
- return false;
- }
- $email_template_data['SiteConfig'] = SiteConfig::current_site_config();
- $email_template_data['EmailContent'] = nl2br($this->EmailMessage);
- $email_template_data['EmailData'] = $this;
- $email_subject = $this->EmailSubject;
- $sender_email = $this->Email;
- $receiver_email = $this->EmailReceiver;
- $email = new NameOfEmailTemplateHere($sender_email, $receiver_email, $email_subject);
- $email->populateTemplate($email_template_data);
- $email->send();
- $this->Sent = true;
- $this->SentDate = date("Y-m-d H:i:s.000");
- $this->write();
- }
- public function onAfterWrite() {
- parent::onAfterWrite();
- if ($this->ApprovedForSend && !$this->Sent)
- {
- $this->SendEmailToReceiver();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement