Пример #1
0
 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;
 }
Пример #2
0
 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 );
 }
Пример #3
0
 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();
 }