ID ); if ( $emails && ! empty( $emails ) ) { $form['emails'] = $emails; } return $form; } function form_to_post( $form, $post ) { if ( $form['emails'] ) { update_field( 'field_form_emails', $form['emails'], $post->ID ); } } /** * Send form emails after submission * * @since 1.0.0 * */ function send_form_emails( $form, $fields, $args ) { $emails = $form['emails']; if ( $emails && ! empty( $emails ) ) { foreach ( $emails as $email ) { do_action( 'af/emails/send_form_email', $email, $form, $fields, $args ); } } } /** * Send single form email * * @since 1.0.0 * */ function send_single_form_email( $email, $form, $fields, $args ) { // Bail if this email is deactivated if ( ! $email['active'] ) { return; } // Recipient $recipient = ''; if ( 'field' == $email['recipient_type'] ) { foreach( $fields as $field ) { if ( $field['key'] == $email['recipient_field'] ) { $recipient = $field['_input']; } } } elseif ( 'custom' == $email['recipient_type'] ) { $recipient = $email['recipient_custom']; } $recipient = apply_filters( 'af/form/email/recipient', $recipient, $email, $form, $fields ); $recipient = apply_filters( 'af/form/email/recipient/id=' . $form['post_id'], $recipient, $email, $form, $fields ); $recipient = apply_filters( 'af/form/email/recipient/key=' . $form['key'], $recipient, $email, $form, $fields ); // Bail early if there are no recipients // This allows emails to be stopped by returning false from the filter if ( $recipient === false ) { return; } // Subject line $subject = $email['subject']; $subject = apply_filters( 'af/form/email/subject', $subject, $email, $form, $fields ); $subject = apply_filters( 'af/form/email/subject/id=' . $form['post_id'], $subject, $email, $form, $fields ); $subject = apply_filters( 'af/form/email/subject/key=' . $form['key'], $subject, $email, $form, $fields ); $subject = af_resolve_merge_tags( $subject, $fields ); // Email contents $content = apply_filters( 'the_content', $email['content'] ); $content = apply_filters( 'af/form/email/content', $content, $email, $form, $fields ); $content = apply_filters( 'af/form/email/content/id=' . $form['post_id'], $content, $email, $form, $fields ); $content = apply_filters( 'af/form/email/content/key=' . $form['key'], $content, $email, $form, $fields ); $content = af_resolve_merge_tags( $content, $fields ); // Add default HTML template $use_template = true; $use_template = apply_filters( 'af/form/email/use_template', $use_template, $email, $form, $args ); $use_template = apply_filters( 'af/form/email/use_template/id=' . $form['post_id'], $use_template, $email, $form, $args ); $use_template = apply_filters( 'af/form/email/use_template/key=' . $form['key'], $use_template, $email, $form, $args ); if ( $use_template ) { $content = sprintf( '