diff --git a/includes/admin/core/class-admin-builder.php b/includes/admin/core/class-admin-builder.php
index c376a7e9..2f752656 100644
--- a/includes/admin/core/class-admin-builder.php
+++ b/includes/admin/core/class-admin-builder.php
@@ -1067,7 +1067,7 @@ if ( ! class_exists( 'um\admin\core\Admin_Builder' ) ) {
UM()->user()->preview = true;
- $output = um_user_submitted_registration( true );
+ $output = um_user_submitted_registration_formatted( true );
um_reset_user();
diff --git a/includes/core/class-mail.php b/includes/core/class-mail.php
index 099ec3d5..d984e71d 100644
--- a/includes/core/class-mail.php
+++ b/includes/core/class-mail.php
@@ -610,7 +610,7 @@ if ( ! class_exists( 'um\core\Mail' ) ) {
$replace_placeholders[] = um_user_profile_url();
$replace_placeholders[] = get_bloginfo( 'url' );
$replace_placeholders[] = um_admin_email();
- $replace_placeholders[] = um_user_submitted_registration();
+ $replace_placeholders[] = um_user_submitted_registration_formatted();
$replace_placeholders[] = um_get_core_page( 'login' );
$replace_placeholders[] = esc_html__( 'Your set password', 'ultimate-member' );
$replace_placeholders[] = um_user( 'account_activation_link' );
diff --git a/includes/um-short-functions.php b/includes/um-short-functions.php
index 37d83500..4116197c 100644
--- a/includes/um-short-functions.php
+++ b/includes/um-short-functions.php
@@ -672,6 +672,8 @@ function um_get_snippet( $str, $wordCount = 10 ) {
* @param bool $style
*
* @return null|string
+ *
+ * @deprecated 2.1.3
*/
function um_user_submitted_registration( $style = false ) {
$output = null;
@@ -769,6 +771,227 @@ function um_user_submitted_registration( $style = false ) {
return $output;
}
+/**
+ * Format submitted data for Info preview & Email template
+ * @param boolean $style
+ * @return string
+ *
+ * @since 2.1.4
+ */
+function um_user_submitted_registration_formatted( $style = false ){
+ $output = null;
+
+ $submitted_data = um_user( 'submitted' );
+
+ if ( $style ) {
+ $output .= '
';
+ }
+
+ // Timestamp
+ $output .= um_user_submited_display( true, 'timestamp', 'Date Submitted' );
+ $output .= um_user_submited_display( true, 'form_id', 'Form', $submitted_data );
+
+ if ( isset( $submitted_data ) && is_array( $submitted_data ) ) {
+
+ $fields = UM()->query()->get_attr( 'custom_fields', $submitted_data["form_id"] );
+
+ if( isset( $fields ) ){
+
+ $pw_fields = array();
+
+ $fields['form_id'] = array('title' => 'Form' );
+
+ $rows = array();
+
+ UM()->fields()->get_fields = $fields;
+
+ foreach ( $fields as $key => $array ) {
+ if ( $array['type'] == 'row' ) {
+ $rows[ $key ] = $array;
+ unset( UM()->fields()->get_fields[ $key ] ); // not needed now
+ }
+
+ }
+
+ if ( empty( $rows ) ) {
+ $rows = array(
+ '_um_row_1' => array(
+ 'type' => 'row',
+ 'id' => '_um_row_1',
+ 'sub_rows' => 1,
+ 'cols' => 1
+ ),
+ );
+ }
+
+ $arr_fields_in_order = array();
+
+ foreach ( $rows as $row_id => $row_array ) {
+
+ $row_fields = UM()->fields()->get_fields_by_row( $row_id );
+
+ if ( $row_fields ) {
+
+ $output .= UM()->fields()->new_row_output( $row_id, $row_array );
+
+ $sub_rows = ( isset( $row_array['sub_rows'] ) ) ? $row_array['sub_rows'] : 1;
+ for ( $c = 0; $c < $sub_rows; $c++ ) {
+
+ // cols
+ $cols = ( isset( $row_array['cols'] ) ) ? $row_array['cols'] : 1;
+ if ( strstr( $cols, ':' ) ) {
+ $col_split = explode( ':', $cols );
+ } else {
+ $col_split = array( $cols );
+ }
+ $cols_num = $col_split[ $c ];
+
+ // sub row fields
+ $subrow_fields = null;
+ $subrow_fields = UM()->fields()->get_fields_in_subrow( $row_fields, $c );
+
+ if ( is_array( $subrow_fields ) ) {
+
+ $subrow_fields = UM()->fields()->array_sort_by_column( $subrow_fields, 'position' );
+
+ if ( $cols_num == 1 ) {
+
+ $col1_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 1 );
+ if ( $col1_fields ) {
+ foreach ( $col1_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ } else if ($cols_num == 2) {
+
+ $col1_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 1 );
+ if ( $col1_fields ) {
+ foreach ( $col1_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ $col2_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 2 );
+ if ( $col2_fields ) {
+ foreach ( $col2_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ } else {
+
+ $col1_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 1 );
+ if ( $col1_fields ) {
+ foreach ( $col1_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ $col2_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 2 );
+ if ( $col2_fields ) {
+ foreach ( $col2_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ $col3_fields = UM()->fields()->get_fields_in_column( $subrow_fields, 3 );
+ if ( $col3_fields ) {
+ foreach ( $col3_fields as $key => $data ) {
+ $output .= um_user_submited_display( true, $key, $data['title'] );
+ }
+ }
+
+ }
+
+ }
+
+ }
+
+ }
+
+
+ } // endfor
+
+ }
+ }
+
+
+ if ( $style ) {
+ $output .= '
';
+ }
+
+
+ return $output;
+
+}
+
+/**
+ * Prepare template
+ * @param boolean $style
+ * @param string $k
+ * @param string $title
+ * @param array $data
+ * @return string
+ *
+ * @since 2.1.4
+ */
+function um_user_submited_display( $style = false, $k, $title, $data = array() ){
+
+ $output = '';
+
+ if( 'form_id' == $k ){
+ $v = get_the_title( $data['form_id'] )." - Form ID#: ".$data['form_id'];
+ }else{
+ $v = um_user( $k );
+ }
+
+ if ( strstr( $k, 'user_pass' ) || in_array( $k, array( 'g-recaptcha-response', 'request', '_wpnonce', '_wp_http_referer' ) ) ) {
+ return;
+ }
+
+
+
+ if ( UM()->fields()->get_field_type( $k ) == 'image' || UM()->fields()->get_field_type( $k ) == 'file' ) {
+ $file = basename( $v );
+ $filedata = get_user_meta( um_user( 'ID' ), $k . "_metadata", true );
+
+ $baseurl = UM()->uploader()->get_upload_base_url();
+ if ( ! file_exists( UM()->uploader()->get_upload_base_dir() . um_user( 'ID' ) . DIRECTORY_SEPARATOR . $file ) ) {
+ if ( is_multisite() ) {
+ //multisite fix for old customers
+ $baseurl = str_replace( '/sites/' . get_current_blog_id() . '/', '/', $baseurl );
+ }
+ }
+
+ if ( ! empty( $filedata['original_name'] ) ) {
+ $v = '' . esc_html( $filedata['original_name'] ) . '';
+ } else {
+ $v = $baseurl . um_user( 'ID' ) . '/' . $file;
+ }
+ }
+
+ if ( is_array( $v ) ) {
+ $v = implode( ',', $v );
+ }
+
+ if ( $k == 'timestamp' ) {
+ $k = __( 'date submitted', 'ultimate-member' );
+ $v = date( "d M Y H:i", $v );
+ }
+
+ if ( $style ) {
+ if ( ! $v ) {
+ $v = __( '(empty)', 'ultimate-member' );
+ }
+ $output .= "$v
";
+ } else {
+ $output .= "$title: $v" . "
";
+ }
+
+ return $output;
+}
+
/**
* Show filtered social link