function commit_save() { if (!$this->_form->validate()) { $this->_display->add($this->form); return false; } $message_data = $this->_form->getValues(); if ($sender_name = $message_data['sender_name']) { unset($message_data['sender_name']); } $target = $this->make_address($message_data, 'recipient'); $sender = $this->make_address($message_data, 'sender'); if (!($target && $sender)) { return false; } require_once 'AMP/System/Email.inc.php'; $emailer = new AMPSystem_Email(); $emailer->setTarget($target); $emailer->setSender($sender); if ($sender_name) { $emailer->setSenderName($sender_name); } $emailer->setSubject($message_data['subject']); $emailer->setMessage($message_data['message']); $result = $emailer->execute(); if ($result) { $this->save_message_record($message_data); $message = new AMP_Content_Buffer(); $message->add("<center>Message successfully sent!<br>Thank you!<br><br>[ <a href=\"javascript:window.close();\" onclick='window.close( );'>Close this window</a> ]</center>"); $this->_display->add($message); } return $result; }
function execute($options = null) { // Allow for pre-processing of message & options. Return anything but // true to abort message send. if (method_exists($this, 'preProcess')) { $rt = $this->preProcess(); if ($rt !== true) { return $rt; } } //get options $options = array_merge($this->getOptions(), $options); //invoke system email require_once 'AMP/System/Email.inc.php'; $emailer = new AMPSystem_Email(); $this->emailer = $emailer; // Header text. //This sucks. why can't i just call udm->getData??? $merge = false; if (isset($options['merge_fields']) && $options['merge_fields']) { $constructor = $this->udm->getPlugin('QuickForm', 'Build'); #$constructor->execute(); $merge = $constructor->_formEngine->getValues(); $real_merge = array(); foreach ($merge as $field_name => $value) { if (!is_array($value)) { $real_merge[$field_name] = $value; } } $merge = $real_merge; } $this->message .= $this->_getBodyHeader($options, $merge); $this->message .= $this->prepareMessage($options); // Footer Text. $this->message .= $this->_getBodyFooter($options, $merge); if ($this->containsHTML()) { $this->message = nl2br($this->message); } // Construct the header. $this->header = $this->prepareHeader($options); // Allow for post-processing. Returrn anything but true to abort // message send. if (method_exists($this, 'postProcess')) { $rt = $this->postProcess(); if ($rt !== true) { return $rt; } } $email_target = $this->getEmailTarget($options); if (!$email_target) { return false; } // Send the mail. $emailer->setTarget($email_target); $emailer->setSubject($options['subject']); $emailer->setMessage($this->message); return $emailer->execute(); #return mail( $options['mailto'], $options['subject'], $this->message, $this->header ); }
function execute($options) { $emailer = new AMPSystem_Email(); $emailer->setTarget($this->target); $emailer->setSubject($this->subject); $emailer->setMessage(sprintf($this->message, $options['article_url'], $options['comment_status'], $options['comment_edit_url'])); $emailer->execute(); }