Skip to:
Content

BuddyPress.org

Ticket #7261: 7261.diff

File 7261.diff, 2.9 KB (added by boonebgorges, 3 years ago)
  • src/bp-members/classes/class-bp-members-admin.php

    diff --git src/bp-members/classes/class-bp-members-admin.php src/bp-members/classes/class-bp-members-admin.php
    index 750b872de..92931ae35 100644
    class BP_Members_Admin { 
    20442044                        'signups_' . $action
    20452045                );
    20462046
     2047                // Prefetch registration field data.
     2048                $fdata = array();
     2049                if ( 'activate' === $action && bp_is_active( 'xprofile' ) ) {
     2050                        $fields = bp_xprofile_get_groups( array(
     2051                                'profile_group_id' => 1,
     2052                                'exclude_fields' => 1,
     2053                                'update_meta_cache' => false,
     2054                                'fetch_fields' => true,
     2055                        ) );
     2056                        $fields = $fields[0]->fields;
     2057                        foreach( $fields as $f ) {
     2058                                $fdata[ $f->id ] = $f->name;
     2059                        }
     2060                }
     2061
    20472062                ?>
    20482063
    20492064                <div class="wrap">
    class BP_Members_Admin { 
    20522067
    20532068                        <ol class="bp-signups-list">
    20542069                        <?php foreach ( $signups as $signup ) :
     2070                                $last_notified = mysql2date( 'Y/m/d g:i:s a', $signup->date_sent );
    20552071
    2056                                 $last_notified = mysql2date( 'Y/m/d g:i:s a', $signup->date_sent ); ?>
     2072                                // Get all xprofile field IDs except field 1.
     2073                                $profile_field_ids = array_flip( explode( ',', $signup->meta['profile_field_ids'] ) );
     2074                                unset( $profile_field_ids[1] );
     2075                        ?>
    20572076
    20582077                                <li>
    2059                                         <?php echo esc_html( $signup->user_name ) ?> - <?php echo sanitize_email( $signup->user_email );?>
     2078                                        <strong><?php echo esc_html( $signup->user_login ) ?></strong>
     2079
     2080                                        <?php if ( 'activate' == $action ) : ?>
     2081
     2082                                                <ul>
     2083                                                        <li><?php printf( '<em>%1$s</em> - %2$s', esc_html__( 'Display Name', 'buddypress' ), esc_html__( $signup->user_name ) ) ; ?></li>
     2084                                                        <li><?php printf( '<em>%1$s</em> - %2$s', esc_html__( 'Email', 'buddypress' ), sanitize_email( $signup->user_email ) ); ?></li>
     2085
     2086                                                        <?php if ( bp_is_active( 'xprofile' ) && ! empty( $profile_field_ids ) ) : ?>
     2087                                                                <?php foreach ( $profile_field_ids as $pid => $noop ) :
     2088                                                                        $field_value = isset( $signup->meta[ "field_{$pid}" ] ) ? $signup->meta[ "field_{$pid}" ] : ''; ?>
     2089                                                                        <li><?php printf( '<em>%1$s</em> - %2$s', esc_html( $fdata[ $pid ] ), $this->format_xprofile_field_for_display( $field_value ) ); ?></li>
     2090                                                                <?php endforeach;  ?>
     2091
     2092                                                        <?php endif; ?>
     2093                                                </ul>
     2094
     2095                                        <?php endif; ?>
    20602096
    20612097                                        <?php if ( 'resend' == $action ) : ?>
    20622098
    class BP_Members_Admin { 
    23092345                        }
    23102346                }
    23112347        }
     2348
     2349        /**
     2350         * Formats a signup's xprofile field data for display.
     2351         *
     2352         * Operates recursively on arrays, which are then imploded with commas.
     2353         *
     2354         * @since 2.8.0
     2355         *
     2356         * @param string|array $value Field value.
     2357         * @return string
     2358         */
     2359        protected function format_xprofile_field_for_display( $value ) {
     2360                if ( is_array( $value ) ) {
     2361                        $value = array_map( array( $this, 'format_xprofile_field_for_display' ), $value );
     2362                        $value = implode( ', ', $value );
     2363                } else {
     2364                        $value = stripslashes( $value );
     2365                        $value = esc_html( $value );
     2366                }
     2367
     2368                return $value;
     2369        }
    23122370}
    23132371endif; // End class_exists check.