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 = hf_replace_data_variables( $settings['to'], $submission->data, 'strip_tags' );
$subject = ! empty( $settings['subject'] ) ? hf_replace_data_variables( $settings['subject'], $submission->data, 'strip_tags' ) : '';
$message = hf_replace_data_variables( $settings['message'], $submission->data, $html_email ? null : 'strip_tags' );
// 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' ) );
}
if( $html_email ) {
$headers[] = 'Content-Type: text/html';
}
if( ! empty( $settings['from'] ) ) {
$from = hf_replace_data_variables($settings['from'], $submission->data, 'strip_tags');
$headers[] = sprintf( 'From: %s', $from );
}
return wp_mail( $to, $subject, $message, $headers );
}
}