function form_send()
 {
     $to = $this->opt('email') ? $this->opt('email') : '';
     $subject = $this->opt('email_subject') ? $this->opt('email_subject') : __('New form submission', 'zn_framework');
     $message = '';
     //$headers = 'Content-type: text/html; charset=utf-8' . "\r\n";
     $attachments = '';
     $i = 0;
     // DEFAULT FROM
     $from = '*****@*****.**';
     $default_from = parse_url(home_url());
     if (!empty($default_from['host'])) {
         $from = "no-reply@" . $default_from['host'];
     }
     foreach ($this->form_fields as $field) {
         // SET THE FIELD ID FROM NAME AND FALLBACK TO THE INCREMENTED ID
         $id = zn_sanitize_string($field['name'], false, true);
         if ($field['type'] != 'hidden') {
             $id = 'zn_form_field_' . $id . $i;
         }
         $i++;
         if (isset($_POST[$id])) {
             if ($field['type'] != 'hidden' && $field['type'] != 'captcha') {
                 if ($field['is_email_field']) {
                     $from = $_POST[$id];
                 }
                 $message .= $field['name'] . ' : ' . $_POST[$id] . '<br/>';
             }
         }
     }
     // GENERATE THE FINAL HEADER AND SEND THE FORM
     //$headers = 'From: '. $from . " <".$from."> \r\n";
     $headers = array('From: ' . $from . ' <' . $from . '>', 'Content-Type: text/html; charset=UTF-8');
     return wp_mail($to, $subject, $message, $headers);
 }
Example #2
0
 function form_send()
 {
     $to = $this->opt('email') ? trim($this->opt('email')) : '';
     if (false !== ($pos = strpos($to, ','))) {
         // trim out multiple spaces
         $to = preg_replace('/\\s+/', ' ', $to);
         $to = explode(',', $to);
     }
     $subject = $this->opt('email_subject') ? $this->opt('email_subject') : __('New form submission', 'zn_framework');
     $message = '';
     $attachments = '';
     $i = 0;
     $dynamic_email = '';
     // DEFAULT FROM
     $from = '*****@*****.**';
     $default_from = parse_url(home_url());
     if (!empty($default_from['host'])) {
         $from = "no-reply@" . str_replace('www.', '', $default_from['host']);
     }
     foreach ($this->form_fields as $field) {
         // SET THE FIELD ID FROM NAME AND FALLBACK TO THE INCREMENTED ID
         $id = zn_sanitize_string($field['name'], false, true);
         if ($field['type'] != 'hidden') {
             $id = 'zn_form_field_' . $id . $i;
         }
         $i++;
         if (isset($_POST[$id])) {
             if ($field['type'] != 'hidden' && $field['type'] != 'captcha') {
                 $message .= $field['name'] . ' : ' . nl2br($_POST[$id]) . '<br/>';
             }
             // Check if form has email field
             if (isset($field['is_email_field']) && $field['is_email_field'] == 1) {
                 $dynamic_email = nl2br($_POST[$id]);
             }
         }
     }
     // DYNAMIC FROM
     $dfrom = $this->opt('cf_from', 'noreply');
     if ($dfrom == 'dynamic') {
         if (is_email($dynamic_email)) {
             $from = $dynamic_email;
         }
     }
     // GENERATE THE FINAL HEADER AND SEND THE FORM
     $headers = array('From: ' . $from . ' <' . $from . '>', 'Content-Type: text/html; charset=UTF-8');
     $result = wp_mail($to, $subject, $message, $headers);
     /**
      * DEBUG: to uncomment if needed
      */
     if ($this->opt('cf_debug', '') == 1) {
         if (!$result) {
             global $ts_mail_errors;
             global $phpmailer;
             if (!isset($ts_mail_errors)) {
                 $ts_mail_errors = array();
             }
             if (isset($phpmailer)) {
                 $ts_mail_errors[] = $phpmailer->ErrorInfo;
             }
             $result = 'Errors:<br>';
             $result .= implode('<br>', $ts_mail_errors);
         }
     }
     return $result;
 }