Skip to:
Content

BuddyPress.org

Ticket #5184: 5184.patch

File 5184.patch, 5.0 KB (added by boonebgorges, 10 years ago)
  • bp-xprofile/bp-xprofile-admin.php

    diff --git bp-xprofile/bp-xprofile-admin.php bp-xprofile/bp-xprofile-admin.php
    index 95151ea..d719563 100644
    function xprofile_admin_manage_field( $group_id, $field_id = null ) { 
    247247                        $field->is_required = wp_filter_kses( $_POST['required'] );
    248248                        $field->type        = wp_filter_kses( $_POST['fieldtype'] );
    249249
     250                        $field->placeholder = wp_filter_kses( $_POST["placeholder_text_{$field->type}"] );
     251
    250252                        if ( !empty( $_POST["sort_order_{$field->type}"] ) )
    251253                                $field->order_by = wp_filter_kses( $_POST["sort_order_{$field->type}"] );
    252254
    function xprofile_admin_manage_field( $group_id, $field_id = null ) { 
    283285                                        bp_xprofile_update_field_meta( $field_id, 'allow_custom_visibility', $_POST['allow-custom-visibility'] );
    284286                                }
    285287
     288                                bp_xprofile_update_field_meta( $field_id, 'placeholder', $_POST["placeholder_text_{$field->type}"] );
     289
    286290                                unset( $_GET['mode'] );
    287291
    288292                                do_action( 'xprofile_fields_saved_field', $field );
  • bp-xprofile/bp-xprofile-classes.php

    diff --git bp-xprofile/bp-xprofile-classes.php bp-xprofile/bp-xprofile-classes.php
    index 84df571..a7814fd 100644
    class BP_XProfile_Field { 
    478478                                $this->data          = $this->get_field_data( $user_id );
    479479                        }
    480480
     481                        $this->placeholder = bp_xprofile_get_meta( $id, 'field', 'placeholder' );
     482
    481483                        $this->default_visibility = bp_xprofile_get_meta( $id, 'field', 'default_visibility' );
    482484
    483485                        if ( empty( $this->default_visibility ) ) {
    class BP_XProfile_Field { 
    519521                $this->order_by    = apply_filters( 'xprofile_field_order_by_before_save',    $this->order_by,    $this->id );
    520522                $this->field_order = apply_filters( 'xprofile_field_field_order_before_save', $this->field_order, $this->id );
    521523                $this->can_delete  = apply_filters( 'xprofile_field_can_delete_before_save',  $this->can_delete,  $this->id );
     524                $this->placeholder = apply_filters( 'xprofile_field_placeholder_before_save', $this->placeholder, $this->id );
    522525
    523526                do_action_ref_array( 'xprofile_field_before_save', array( $this ) );
    524527
    class BP_XProfile_Field { 
    617620                                }
    618621                        }
    619622
     623                        bp_xprofile_update_field_meta( $field_id, 'placeholder', $field->placeholder);
     624
    620625                        do_action_ref_array( 'xprofile_field_after_save', array( $this ) );
    621626
    622627                        return $field_id;
    class BP_XProfile_Field { 
    748753                                $this->default_visibility = 'public';
    749754                        }
    750755
     756                        $placeholder = ! empty( $this->placeholder ) ? $this->placeholder : __( '----', 'buddypress' );
     757
    751758                        ?>
    752759
    753760                        <div id="<?php echo esc_attr( $type ); ?>" class="postbox bp-options-box" style="<?php echo esc_attr( $class ); ?> margin-top: 15px;">
    754761                                <h3><?php _e( 'Please enter options for this Field:', 'buddypress' ); ?></h3>
    755762                                <div class="inside">
    756763                                        <p>
     764                                                <label for="placeholder_text_<?php echo esc_attr( $type ); ?>"><?php _e( 'Placeholder text:', 'buddypress' ); ?></label>
     765                                                <input type="text" name="placeholder_text_<?php echo esc_attr( $type ); ?>" id="placeholder_text_<?php echo esc_attr( $type ); ?>" value="<?php echo esc_attr( $placeholder ) ?>" />
     766                                        </p>
     767                                        <p>
    757768                                                <label for="sort_order_<?php echo esc_attr( $type ); ?>"><?php _e( 'Sort Order:', 'buddypress' ); ?></label>
    758769                                                <select name="sort_order_<?php echo esc_attr( $type ); ?>" id="sort_order_<?php echo esc_attr( $type ); ?>" >
    759770                                                        <option value="custom" <?php selected( 'custom', $this->order_by ); ?>><?php _e( 'Custom',     'buddypress' ); ?></option>
    class BP_XProfile_Field { 
    828839                                $this->description = $_POST['description'];
    829840                                $this->is_required = $_POST['required'];
    830841                                $this->type        = $_POST['fieldtype'];
     842                                $this->placeholder = $_POST["placeholder_{$this->type}"];
    831843                                $this->order_by    = $_POST["sort_order_{$this->type}"];
    832844                                $this->field_order = $_POST['field_order'];
    833845                        }
  • bp-xprofile/bp-xprofile-template.php

    diff --git bp-xprofile/bp-xprofile-template.php bp-xprofile/bp-xprofile-template.php
    index a82db1c..ab2af1a 100644
    function bp_get_the_profile_field_errors_action() { 
    420420function bp_the_profile_field_options( $args = '' ) {
    421421        echo bp_get_the_profile_field_options( $args );
    422422}
     423
     424function bp_get_placeholder_text_for_field( $field ) {
     425    if ($field->placeholder) {
     426                return $field->placeholder;
     427    } else {
     428                return /* translators: no option picked in select box */ __( '----', 'buddypress' ) ;
     429    }
     430}
     431
    423432        /**
    424433         * bp_get_the_profile_field_options()
    425434         *
    function bp_the_profile_field_options( $args = '' ) { 
    468477                switch ( $field->type ) {
    469478                        case 'selectbox':
    470479
    471                                 $html .= '<option value="">' . /* translators: no option picked in select box */ __( '----', 'buddypress' ) . '</option>';
     480                                $html .= '<option value="">' . esc_html( bp_get_placeholder_text_for_field($field) ) . '</option>';
    472481
    473482                                $original_option_values = '';
    474483                                $original_option_values = maybe_unserialize( BP_XProfile_ProfileData::get_value_byid( $field->id ) );