function sendEmail($notification = 'InvoiceEmail'){ $notif = new Notification(); $params = $this->getNotificationParams(); // if(!isset($params['invoice_emails']) || empty($params['invoice_emails'])) // return TRUE; if($notif->getByName($notification) === FALSE){ $this->error = "SI_Invoice::sendEmail() : ".$notif->getLastError()."\n"; return FALSE; } if($notif->prepare($params) === FALSE){ $this->error = "SI_Invoice::sendEmail() : ".$notif->getLastError()."\n"; return FALSE; } // Setup attachment $pdf_file = $this->getPDF(); if($pdf_file === FALSE) return FALSE; $my_company = SureInvoice::getMyCompany(); $filename = 'invoice_'.$this->id.'.pdf'; if(!empty($my_company->name)){ $normalized_name = str_replace(array(',','.',' ',"\t","'",'"'), '_', $my_company->name); $filename = $normalized_name.'_'.$this->id.'.pdf'; } $attachments[0]['data'] = $pdf_file; $attachments[0]['name'] = $filename; $attachments[0]['type'] = 'application/pdf'; $attachments[0]['encoding'] = 'base64'; if($notif->send($attachments) === FALSE){ $this->error = "SI_Invoice::sendEmail() : ".$notif->getLastError()."\n"; return FALSE; } // Update sent_ts $this->sent_ts = time(); if($this->update() === FALSE){ $this->error = "SI_Invoice::sendEmail(): Email sent, error updating sent timestamp: ".$this->getLastError(); return FALSE; } return TRUE; }