label = __( 'Send Email', 'html-forms' ); } /** * @return array */ private function get_default_settings() { $defaults = array( 'from' => get_option( 'admin_email' ), 'to' => get_option( 'admin_email' ), 'subject' => '', 'message' => '', 'headers' => '', 'content_type' => 'text/html', ); return $defaults; } /** * @param array $settings * @param string|int $index */ public function page_settings( $settings, $index ) { $settings = array_merge( $this->get_default_settings(), $settings ); ?>


get_default_settings(), $settings ); $html_email = $settings['content_type'] === 'text/html'; $to = apply_filters( 'hf_action_email_to', hf_replace_data_variables( $settings['to'], $submission->data, 'strip_tags' ), $submission ); $subject = ! empty( $settings['subject'] ) ? hf_replace_data_variables( $settings['subject'], $submission->data, 'strip_tags' ) : ''; $subject = apply_filters( 'hf_action_email_subject', $subject, $submission ); $message = apply_filters( 'hf_action_email_message', hf_replace_data_variables( $settings['message'], $submission->data, $html_email ? null : 'strip_tags' ), $submission ); // parse additional email headers from settings $headers = array(); if( ! empty( $settings['headers'] ) ) { $headers = explode( PHP_EOL, hf_replace_data_variables( $settings['headers'], $submission->data, 'strip_tags' ) ); } $content_type = $html_email ? 'text/html' : 'text/plain'; $charset = get_bloginfo('charset'); $headers[] = sprintf('Content-Type: %s; charset=%s', $content_type, $charset); if( ! empty( $settings['from'] ) ) { $from = apply_filters( 'hf_action_email_from', hf_replace_data_variables( $settings['from'], $submission->data, 'strip_tags' ), $submission ); $headers[] = sprintf( 'From: %s', $from ); } return wp_mail( $to, $subject, $message, $headers ); } }