Advertisement
Guest User

Untitled

a guest
Aug 22nd, 2014
21
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.82 KB | None | 0 0
  1. <?php
  2.  
  3. class CompanyEmailSubmission extends DataObject {
  4.  
  5.     static $db = array(
  6.         // Personal Details
  7.         'FirstName' => 'Text',
  8.         'LastName' => 'Text',
  9.         'Email' => 'Text',
  10.         'IPAddress' => 'Text',
  11.  
  12.         // Subscriptions
  13.         'ReceiveUpdates' => 'Boolean',
  14.         'SendMeACopy' => 'Boolean',
  15.  
  16.         // Email
  17.         'EmailSubject' => 'Text',
  18.         'EmailMessage' => 'Text',
  19.         'EmailReceiver' => 'Text',
  20.         'Company' => 'Text',
  21.  
  22.         // Status
  23.         'ApprovedForSend' => 'Boolean',
  24.         'Sent' => 'Boolean',
  25.         'SentDate' => 'SS_Datetime'
  26.     );
  27.    
  28.     static $has_one = array(
  29.         'Member' => 'Member'
  30.     );
  31.    
  32.     static $defaults = array(
  33.         'ApprovedForSend' => false
  34.     );
  35.    
  36.     static $summary_fields = array(
  37.         'FirstName',
  38.         'LastName',
  39.         'Email',
  40.         'CreatedDate',
  41.         'Sent'
  42.     );
  43.    
  44.     public function getCreatedDate() {
  45.         return $this->dbObject('Created')->Nice();
  46.     }
  47.  
  48.     public function sendEmailToReceiver() {
  49.         if ($this->Sent || !$this->ApprovedForSend) {
  50.             return false;
  51.         }
  52.  
  53.         $email_template_data['SiteConfig'] = SiteConfig::current_site_config();
  54.         $email_template_data['EmailContent'] = nl2br($this->EmailMessage);
  55.         $email_template_data['EmailData'] = $this;
  56.  
  57.         $email_subject = $this->EmailSubject;
  58.         $sender_email = $this->Email;
  59.         $receiver_email = $this->EmailReceiver;
  60.  
  61.         $email = new  NameOfEmailTemplateHere($sender_email, $receiver_email, $email_subject);
  62.         $email->populateTemplate($email_template_data);
  63.         $email->send();
  64.  
  65.         $this->Sent = true;
  66.         $this->SentDate = date("Y-m-d H:i:s.000");
  67.         $this->write();
  68.     }
  69.  
  70.     public function onAfterWrite() {
  71.         parent::onAfterWrite();
  72.        
  73.         if ($this->ApprovedForSend && !$this->Sent)
  74.         {
  75.             $this->SendEmailToReceiver();
  76.         }      
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement