Skip to:
Content

BuddyPress.org

Ticket #5094: 5094.patch

File 5094.patch, 25.3 KB (added by johnjamesjacoby, 11 years ago)
  • admin/css/admin.css

     
    241241        top: -2px;
    242242}
    243243
    244 textarea#description {
     244textarea#description,
     245textarea#group_description {
    245246        border: 1px solid #ddd;
    246         width: 85%;
     247        width: 100%;
    247248}
    248249
  • admin/js/admin.js

     
    33        var theId     = document.getElementById(forWhat + '_option_number').value;
    44        var newDiv    = document.createElement('p');
    55        var newOption = document.createElement('input');
    6         var span     = document.createElement( 'span' );
     6        var span      = document.createElement( 'span' );
    77        var txt       = document.createTextNode( "\u00A0\u039E\u00A0" );
    88        var isDefault = document.createElement( 'input' );
    9         var span1    = document.createElement( 'span' );
     9        var span1     = document.createElement( 'span' );
    1010        var txt1      = document.createTextNode( " Default Value " );
    1111
    1212        newDiv.setAttribute('id', forWhat + '_div' + theId);
     
    9191
    9292function enableSortableFieldOptions( forWhat ) {
    9393        if ( jQuery( '#' + forWhat + ' p.sortable' ).length > 1 ) {
    94                 jQuery( '.options-box' ).sortable( {
     94                jQuery( '.bp-options-box' ).sortable( {
    9595                        items: 'p.sortable',
    9696                        tolerance: 'pointer',
    9797                        axis: 'y',
     
    103103}
    104104
    105105function destroySortableFieldOptions() {
    106         jQuery( '.options-box' ).sortable( 'destroy' );
     106        jQuery( '.bp-options-box' ).sortable( 'destroy' );
    107107        jQuery( '.sortable span' ).css( 'cursor', 'default' );
    108108}
    109109
  • bp-xprofile-admin.php

     
    6969
    7070                <h2>
    7171                        <?php _e( 'Profile Fields', 'buddypress'); ?>
    72                         <a id="add_group" class="add-new-h2" href="admin.php?page=bp-profile-setup&amp;mode=add_group"><?php _e( 'Add New Field Group', 'buddypress' ); ?></a>
     72                        <a id="add_group" class="add-new-h2" href="users.php?page=bp-profile-setup&amp;mode=add_group"><?php _e( 'Add New Field Group', 'buddypress' ); ?></a>
    7373                </h2>
    7474
    7575                <p><?php echo sprintf( __( 'Fields in the "%s" group will appear on the signup page.', 'buddypress' ), esc_html( stripslashes( bp_get_option( 'bp-xprofile-base-group-name' ) ) ) ) ?></p>
     
    110110                                        <div id="tabs-<?php echo $group->id; ?>" class="tab-wrapper">
    111111                                                <div class="tab-toolbar">
    112112                                                        <div class="tab-toolbar-left">
    113                                                                 <a class="button-primary" href="admin.php?page=bp-profile-setup&amp;group_id=<?php echo esc_attr( $group->id ); ?>&amp;mode=add_field"><?php _e( 'Add New Field', 'buddypress' ); ?></a>
    114                                                                 <a class="button edit" href="admin.php?page=bp-profile-setup&amp;mode=edit_group&amp;group_id=<?php echo esc_attr( $group->id ); ?>"><?php _e( 'Edit Group', 'buddypress' ); ?></a>
     113                                                                <a class="button-primary" href="users.php?page=bp-profile-setup&amp;group_id=<?php echo esc_attr( $group->id ); ?>&amp;mode=add_field"><?php _e( 'Add New Field', 'buddypress' ); ?></a>
     114                                                                <a class="button edit" href="users.php?page=bp-profile-setup&amp;mode=edit_group&amp;group_id=<?php echo esc_attr( $group->id ); ?>"><?php _e( 'Edit Group', 'buddypress' ); ?></a>
    115115
    116116                                                                <?php if ( $group->can_delete ) : ?>
    117117
    118                                                                         <a class="confirm submitdelete deletion ajax-option-delete" href="admin.php?page=bp-profile-setup&amp;mode=delete_group&amp;group_id=<?php echo esc_attr( $group->id ); ?>"><?php _e( 'Delete Group', 'buddypress' ); ?></a>
     118                                                                        <a class="confirm submitdelete deletion ajax-option-delete" href="users.php?page=bp-profile-setup&amp;mode=delete_group&amp;group_id=<?php echo esc_attr( $group->id ); ?>"><?php _e( 'Delete Group', 'buddypress' ); ?></a>
    119119
    120120                                                                <?php endif; ?>
    121121
     
    159159                                <?php endforeach; else : ?>
    160160
    161161                                        <div id="message" class="error"><p><?php _e( 'You have no groups.', 'buddypress' ); ?></p></div>
    162                                         <p><a href="admin.php?page=bp-profile-setup&amp;mode=add_group"><?php _e( 'Add New Group', 'buddypress' ); ?></a></p>
     162                                        <p><a href="users.php?page=bp-profile-setup&amp;mode=add_group"><?php _e( 'Add New Group', 'buddypress' ); ?></a></p>
    163163
    164164                                <?php endif; ?>
    165165
     
    453453                        <?php endif; ?>
    454454
    455455                        <div class="actions">
    456                                 <a class="button edit" href="admin.php?page=bp-profile-setup&amp;group_id=<?php echo esc_attr( $admin_group->id ); ?>&amp;field_id=<?php echo esc_attr( $field->id ); ?>&amp;mode=edit_field"><?php _e( 'Edit', 'buddypress' ); ?></a>
     456                                <a class="button edit" href="users.php?page=bp-profile-setup&amp;group_id=<?php echo esc_attr( $admin_group->id ); ?>&amp;field_id=<?php echo esc_attr( $field->id ); ?>&amp;mode=edit_field"><?php _e( 'Edit', 'buddypress' ); ?></a>
    457457
    458458                                <?php if ( $field->can_delete ) : ?>
    459459
    460                                         <a class="confirm submit-delete deletion" href="admin.php?page=bp-profile-setup&amp;field_id=<?php echo esc_attr( $field->id ); ?>&amp;mode=delete_field"><?php _e( 'Delete', 'buddypress' ); ?></a>
     460                                        <a class="confirm submit-delete deletion" href="users.php?page=bp-profile-setup&amp;field_id=<?php echo esc_attr( $field->id ); ?>&amp;mode=delete_field"><?php _e( 'Delete', 'buddypress' ); ?></a>
    461461
    462462                                <?php endif; ?>
    463463                        </div>
  • bp-xprofile-classes.php

     
    352352
    353353                if ( empty( $this->id ) ) {
    354354                        $title  = __( 'Add New Field Group', 'buddypress' );
    355                         $action = "admin.php?page=bp-profile-setup&amp;mode=add_group";
     355                        $action = "users.php?page=bp-profile-setup&amp;mode=add_group";
    356356                        $button = __( 'Create Field Group', 'buddypress' );
    357357                } else {
    358358                        $title  = __( 'Edit Field Group', 'buddypress' );
    359                         $action = "admin.php?page=bp-profile-setup&amp;mode=edit_group&amp;group_id=" . $this->id;
     359                        $action = "users.php?page=bp-profile-setup&amp;mode=edit_group&amp;group_id=" . $this->id;
    360360                        $button = __( 'Save Changes', 'buddypress' );
    361361                } ?>
    362362
     
    403403                                                                                <div id="submitcomment" class="submitbox">
    404404                                                                                        <div id="major-publishing-actions">
    405405                                                                                                <div id="delete-action">
    406                                                                                                         <a href="admin.php?page=bp-profile-setup" class="submitdelete deletion"><?php _e( 'Cancel', 'buddypress' ); ?></a>
     406                                                                                                        <a href="users.php?page=bp-profile-setup" class="submitdelete deletion"><?php _e( 'Cancel', 'buddypress' ); ?></a>
    407407                                                                                                </div>
    408408                                                                                                <div id="publishing-action">
    409409                                                                                                        <input type="submit" name="save_group" value="<?php echo esc_attr( $button ); ?>" class="button-primary"/>
     
    748748
    749749                        ?>
    750750
    751                         <div id="<?php echo esc_attr( $type ); ?>" class="options-box" style="<?php echo esc_attr( $class ); ?> margin-left: 15px;">
    752                                 <h4><?php _e( 'Please enter options for this Field:', 'buddypress' ); ?></h4>
    753                                 <p>
    754                                         <label for="sort_order_<?php echo esc_attr( $type ); ?>"><?php _e( 'Sort Order:', 'buddypress' ); ?></label>
    755                                         <select name="sort_order_<?php echo esc_attr( $type ); ?>" id="sort_order_<?php echo esc_attr( $type ); ?>" >
    756                                                 <option value="custom" <?php selected( 'custom', $this->order_by ); ?>><?php _e( 'Custom',     'buddypress' ); ?></option>
    757                                                 <option value="asc"    <?php selected( 'asc',    $this->order_by ); ?>><?php _e( 'Ascending',  'buddypress' ); ?></option>
    758                                                 <option value="desc"   <?php selected( 'desc',   $this->order_by ); ?>><?php _e( 'Descending', 'buddypress' ); ?></option>
    759                                         </select>
     751                        <div id="<?php echo esc_attr( $type ); ?>" class="postbox bp-options-box" style="<?php echo esc_attr( $class ); ?> margin-top: 15px;">
     752                                <h3><?php _e( 'Please enter options for this Field:', 'buddypress' ); ?></h3>
     753                                <div class="inside">
     754                                        <p>
     755                                                <label for="sort_order_<?php echo esc_attr( $type ); ?>"><?php _e( 'Sort Order:', 'buddypress' ); ?></label>
     756                                                <select name="sort_order_<?php echo esc_attr( $type ); ?>" id="sort_order_<?php echo esc_attr( $type ); ?>" >
     757                                                        <option value="custom" <?php selected( 'custom', $this->order_by ); ?>><?php _e( 'Custom',     'buddypress' ); ?></option>
     758                                                        <option value="asc"    <?php selected( 'asc',    $this->order_by ); ?>><?php _e( 'Ascending',  'buddypress' ); ?></option>
     759                                                        <option value="desc"   <?php selected( 'desc',   $this->order_by ); ?>><?php _e( 'Descending', 'buddypress' ); ?></option>
     760                                                </select>
     761                                        </p>
    760762
    761                                 <?php if ( !$options = $this->get_children( true ) ) {
     763                                        <?php if ( !$options = $this->get_children( true ) ) {
    762764
    763                                         $i = 1;
    764                                         while ( isset( $_POST[$type . '_option'][$i] ) ) {
    765                                                 (array) $options[] = (object) array(
    766                                                         'id'                => -1,
    767                                                         'name'              => $_POST[$type . '_option'][$i],
    768                                                         'is_default_option' => ( ( 'multiselectbox' != $type ) && ( 'checkbox' != $type ) && ( $_POST["isDefault_{$type}_option"] == $i ) ) ? 1 : $_POST["isDefault_{$type}_option"][$i]
    769                                                 );
     765                                                $i = 1;
     766                                                while ( isset( $_POST[$type . '_option'][$i] ) ) {
     767                                                        (array) $options[] = (object) array(
     768                                                                'id'                => -1,
     769                                                                'name'              => $_POST[$type . '_option'][$i],
     770                                                                'is_default_option' => ( ( 'multiselectbox' != $type ) && ( 'checkbox' != $type ) && ( $_POST["isDefault_{$type}_option"] == $i ) ) ? 1 : $_POST["isDefault_{$type}_option"][$i]
     771                                                        );
    770772
    771                                                 ++$i;
     773                                                        ++$i;
     774                                                }
    772775                                        }
    773                                 }
    774776
    775                                 if ( !empty( $options ) ) {
    776                                         for ( $i = 0, $count = count( $options ); $i < $count; ++$i ) {
    777                                                 $j = $i + 1;
     777                                        if ( !empty( $options ) ) {
     778                                                for ( $i = 0, $count = count( $options ); $i < $count; ++$i ) {
     779                                                        $j = $i + 1;
    778780
     781                                                        if ( 'multiselectbox' == $type || 'checkbox' == $type )
     782                                                                $default_name = '[' . $j . ']'; ?>
     783
     784                                                        <p class="sortable">
     785                                                                <span>&nbsp;&Xi;&nbsp;</span>
     786                                                                <input type="text" name="<?php echo esc_attr( $type ); ?>_option[<?php echo esc_attr( $j ); ?>]" id="<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $j ); ?>" value="<?php echo stripslashes( esc_attr( $options[$i]->name ) ); ?>" />
     787                                                                <input type="<?php echo $default_input; ?>" name="isDefault_<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $default_name ); ?>" <?php checked( (int) $options[$i]->is_default_option, true ); ?> value="<?php echo esc_attr( $j ); ?>" />
     788                                                                <span><?php _e( 'Default Value', 'buddypress' ); ?></span>
     789                                                                <a href="<?php echo esc_url( 'users.php?page=bp-profile-setup&amp;mode=delete_option&amp;option_id=' . $options[$i]->id ); ?>" class="ajax-option-delete" id="delete-<?php echo esc_attr( $options[$i]->id ); ?>">[x]</a>
     790                                                        </p>
     791
     792                                                <?php } /* end for */ ?>
     793
     794                                                <input type="hidden" name="<?php echo esc_attr( $type ); ?>_option_number" id="<?php echo esc_attr( $type ); ?>_option_number" value="<?php echo esc_attr( (int) $j + 1 ); ?>" />
     795
     796                                        <?php } else {
     797
    779798                                                if ( 'multiselectbox' == $type || 'checkbox' == $type )
    780                                                         $default_name = '[' . $j . ']'; ?>
     799                                                        $default_name = '[1]'; ?>
    781800
    782801                                                <p class="sortable">
    783802                                                        <span>&nbsp;&Xi;&nbsp;</span>
    784                                                         <input type="text" name="<?php echo esc_attr( $type ); ?>_option[<?php echo esc_attr( $j ); ?>]" id="<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $j ); ?>" value="<?php echo stripslashes( esc_attr( $options[$i]->name ) ); ?>" />
    785                                                         <input type="<?php echo $default_input; ?>" name="isDefault_<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $default_name ); ?>" <?php checked( (int) $options[$i]->is_default_option, true ); ?> value="<?php echo esc_attr( $j ); ?>" />
     803                                                        <input type="text" name="<?php echo esc_attr( $type ); ?>_option[1]" id="<?php echo esc_attr( $type ); ?>_option1" />
     804                                                        <input type="<?php echo esc_attr( $default_input ); ?>" name="isDefault_<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $default_name ); ?>" id="isDefault_<?php echo esc_attr( $type ); ?>_option" value="1" />
    786805                                                        <span><?php _e( 'Default Value', 'buddypress' ); ?></span>
    787                                                         <a href="<?php echo esc_url( 'admin.php?page=bp-profile-setup&amp;mode=delete_option&amp;option_id=' . $options[$i]->id ); ?>" class="ajax-option-delete" id="delete-<?php echo esc_attr( $options[$i]->id ); ?>">[x]</a>
     806                                                        <input type="hidden" name="<?php echo esc_attr( $type ); ?>_option_number" id="<?php echo esc_attr( $type ); ?>_option_number" value="2" />
    788807                                                </p>
    789808
    790                                         <?php } /* end for */ ?>
     809                                        <?php } /* end if */ ?>
    791810
    792                                         <input type="hidden" name="<?php echo esc_attr( $type ); ?>_option_number" id="<?php echo esc_attr( $type ); ?>_option_number" value="<?php echo esc_attr( (int) $j + 1 ); ?>" />
    793 
    794                                 <?php } else {
    795 
    796                                         if ( 'multiselectbox' == $type || 'checkbox' == $type )
    797                                                 $default_name = '[1]'; ?>
    798 
    799                                         <p class="sortable">
    800                                                 <span>&nbsp;&Xi;&nbsp;</span>
    801                                                 <input type="text" name="<?php echo esc_attr( $type ); ?>_option[1]" id="<?php echo esc_attr( $type ); ?>_option1" />
    802                                                 <input type="<?php echo esc_attr( $default_input ); ?>" name="isDefault_<?php echo esc_attr( $type ); ?>_option<?php echo esc_attr( $default_name ); ?>" id="isDefault_<?php echo esc_attr( $type ); ?>_option" value="1" />
    803                                                 <span><?php _e( 'Default Value', 'buddypress' ); ?></span>
    804                                                 <input type="hidden" name="<?php echo esc_attr( $type ); ?>_option_number" id="<?php echo esc_attr( $type ); ?>_option_number" value="2" />
    805                                         </p>
    806 
    807                                 <?php } /* end if */ ?>
    808 
    809                                 <div id="<?php echo esc_attr( $type ); ?>_more"></div>
    810                                 <p><a href="javascript:add_option('<?php echo esc_attr( $type ); ?>')"><?php _e( 'Add Another Option', 'buddypress' ); ?></a></p>
     811                                        <div id="<?php echo esc_attr( $type ); ?>_more"></div>
     812                                        <p><a href="javascript:add_option('<?php echo esc_attr( $type ); ?>')"><?php _e( 'Add Another Option', 'buddypress' ); ?></a></p>
     813                                </div>
    811814                        </div>
    812815
    813816                <?php }
     
    816819        function render_admin_form( $message = '' ) {
    817820                if ( empty( $this->id ) ) {
    818821                        $title  = __( 'Add Field', 'buddypress' );
    819                         $action = "admin.php?page=bp-profile-setup&amp;group_id=" . $this->group_id . "&amp;mode=add_field#tabs-" . $this->group_id;
     822                        $action = "users.php?page=bp-profile-setup&amp;group_id=" . $this->group_id . "&amp;mode=add_field#tabs-" . $this->group_id;
    820823
    821824                        if ( !empty( $_POST['saveField'] ) ) {
    822825                                $this->name        = $_POST['title'];
     
    828831                        }
    829832                } else {
    830833                        $title  = __( 'Edit Field', 'buddypress' );
    831                         $action = "admin.php?page=bp-profile-setup&amp;mode=edit_field&amp;group_id=" . $this->group_id . "&amp;field_id=" . $this->id . "#tabs-" . $this->group_id;
     834                        $action = "users.php?page=bp-profile-setup&amp;mode=edit_field&amp;group_id=" . $this->group_id . "&amp;field_id=" . $this->id . "#tabs-" . $this->group_id;
    832835                } ?>
    833836
    834837                <div class="wrap">
    835838                        <div id="icon-users" class="icon32"><br /></div>
    836839                        <h2><?php echo esc_html( $title ); ?></h2>
    837                         <p><?php _e( 'Fields marked * are required', 'buddypress' ) ?></p>
    838840
    839841                        <?php if ( !empty( $message ) ) : ?>
    840842
     
    846848
    847849                        <form id="bp-xprofile-add-field" action="<?php echo esc_url( $action ); ?>" method="post">
    848850                                <div id="poststuff">
    849                                         <div id="titlediv">
    850                                                 <h3><label for="title"><?php _e( 'Field Title', 'buddypress' ); ?> *</label></h3>
    851                                                 <div id="titlewrap">
    852                                                         <input type="text" name="title" id="title" value="<?php echo esc_attr( $this->name ); ?>" style="width:50%" />
    853                                                 </div>
    854                                         </div>
     851                                        <div id="post-body" class="metabox-holder columns-<?php echo ( 1 == get_current_screen()->get_columns() ) ? '1' : '2'; ?>">
     852                                                <div id="post-body-content">
     853                                                        <div id="titlediv">
     854                                                                <input type="text" name="title" id="title" value="<?php echo esc_attr( $this->name ); ?>" />
     855                                                        </div>
     856                                                        <div class="postbox">
     857                                                                <h3><?php _e( 'Field Description', 'buddypress' ); ?></h3>
     858                                                                <div class="inside">
     859                                                                        <textarea name="description" id="description" rows="8" cols="60"><?php echo esc_attr( $this->description ); ?></textarea>
     860                                                                </div>
     861                                                        </div>
     862                                                </div><!-- #post-body-content -->
    855863
    856                                         <div id="titlediv">
    857                                                 <h3><label for="description"><?php _e("Field Description", 'buddypress'); ?></label></h3>
    858                                                 <div id="titlewrap">
    859                                                         <textarea name="description" id="description" rows="8" cols="60"><?php echo esc_textarea( $this->description ); ?></textarea>
    860                                                 </div>
    861                                         </div>
     864                                                <div id="postbox-container-1" class="postbox-container">
     865                                                        <div id="submitdiv" class="postbox">
     866                                                                <h3><?php _e( 'Submit', 'buddypress' ); ?></h3>
     867                                                                <div class="inside">
     868                                                                        <div id="submitcomment" class="submitbox">
     869                                                                                <div id="major-publishing-actions">
     870                                                                                        <input type="hidden" name="field_order" id="field_order" value="<?php echo esc_attr( $this->field_order ); ?>" />
     871                                                                                        <div id="publishing-action">
     872                                                                                                <input type="submit" value="<?php _e( 'Save', 'buddypress' ); ?>" name="saveField" id="saveField" style="font-weight: bold" class="button-primary" />
     873                                                                                        </div>
     874                                                                                        <div id="delete-action">
     875                                                                                                <a href="users.php?page=bp-profile-setup" class="deletion"><?php _e( 'Cancel', 'buddypress' ); ?></a>
     876                                                                                        </div>
     877                                                                                        <?php wp_nonce_field( 'xprofile_delete_option' ); ?>
     878                                                                                        <div class="clear"></div>
     879                                                                                </div>
     880                                                                        </div>
     881                                                                </div>
     882                                                        </div>
    862883
    863                                         <?php if ( '0' != $this->can_delete ) : ?>
     884                                                        <?php if ( 1 != $this->id ) : ?>
    864885
    865                                                 <div id="titlediv">
    866                                                         <h3><label for="required"><?php _e( "Is This Field Required?", 'buddypress' ); ?> *</label></h3>
    867                                                         <select name="required" id="required" style="width: 30%">
    868                                                                 <option value="0"<?php selected( $this->is_required, '0' ); ?>><?php _e( 'Not Required', 'buddypress' ); ?></option>
    869                                                                 <option value="1"<?php selected( $this->is_required, '1' ); ?>><?php _e( 'Required',     'buddypress' ); ?></option>
    870                                                         </select>
    871                                                 </div>
     886                                                                <div class="postbox">
     887                                                                        <h3><label for="default-visibility"><?php _e( 'Default Visibility', 'buddypress' ); ?></label></h3>
     888                                                                        <div class="inside">
     889                                                                                <ul>
    872890
    873                                                 <div id="titlediv">
    874                                                         <h3><label for="fieldtype"><?php _e( 'Field Type', 'buddypress'); ?> *</label></h3>
    875                                                         <select name="fieldtype" id="fieldtype" onchange="show_options(this.value)" style="width: 30%">
    876                                                                 <option value="textbox"        <?php selected( $this->type, 'textbox'        ); ?>><?php _e( 'Text Box',             'buddypress' ); ?></option>
    877                                                                 <option value="textarea"       <?php selected( $this->type, 'textarea'       ); ?>><?php _e( 'Multi-line Text Box',  'buddypress' ); ?></option>
    878                                                                 <option value="datebox"        <?php selected( $this->type, 'datebox'        ); ?>><?php _e( 'Date Selector',        'buddypress' ); ?></option>
    879                                                                 <option value="radio"          <?php selected( $this->type, 'radio'          ); ?>><?php _e( 'Radio Buttons',        'buddypress' ); ?></option>
    880                                                                 <option value="selectbox"      <?php selected( $this->type, 'selectbox'      ); ?>><?php _e( 'Drop Down Select Box', 'buddypress' ); ?></option>
    881                                                                 <option value="multiselectbox" <?php selected( $this->type, 'multiselectbox' ); ?>><?php _e( 'Multi Select Box',     'buddypress' ); ?></option>
    882                                                                 <option value="checkbox"       <?php selected( $this->type, 'checkbox'       ); ?>><?php _e( 'Checkboxes',           'buddypress' ); ?></option>
    883                                                         </select>
    884                                                 </div>
     891                                                                                        <?php foreach( bp_xprofile_get_visibility_levels() as $level ) : ?>
    885892
    886                                                 <?php do_action_ref_array( 'xprofile_field_additional_options', array( $this ) ); ?>
     893                                                                                                <li>
     894                                                                                                        <input type="radio" id="default-visibility[<?php echo esc_attr( $level['id'] ) ?>]" name="default-visibility" value="<?php echo esc_attr( $level['id'] ) ?>" <?php checked( $this->default_visibility, $level['id'] ); ?> />
     895                                                                                                        <label for="default-visibility[<?php echo esc_attr( $level['id'] ) ?>]"><?php echo esc_html( $level['label'] ) ?></label>
     896                                                                                                </li>
    887897
    888                                                 <?php $this->render_admin_form_children(); ?>
     898                                                                                        <?php endforeach ?>
    889899
    890                                         <?php else : ?>
     900                                                                                </ul>
     901                                                                        </div>
     902                                                                </div>
    891903
    892                                                 <input type="hidden" name="required"  id="required"  value="1"       />
    893                                                 <input type="hidden" name="fieldtype" id="fieldtype" value="textbox" />
     904                                                                <div class="postbox">
     905                                                                        <h3><label for="allow-custom-visibility"><?php _e( 'Per-Member Visibility', 'buddypress' ); ?></label></h3>
     906                                                                        <div class="inside">
     907                                                                                <ul>
     908                                                                                        <li>
     909                                                                                                <input type="radio" id="allow-custom-visibility-allowed" name="allow-custom-visibility" value="allowed" <?php checked( $this->allow_custom_visibility, 'allowed' ); ?> />
     910                                                                                                <label for="allow-custom-visibility-allowed"><?php _e( "Let members change this field's visibility", 'buddypress' ); ?></label>
     911                                                                                        </li>
     912                                                                                        <li>
     913                                                                                                <input type="radio" id="allow-custom-visibility-disabled" name="allow-custom-visibility" value="disabled" <?php checked( $this->allow_custom_visibility, 'disabled' ); ?> />
     914                                                                                                <label for="allow-custom-visibility-disabled"><?php _e( 'Enforce the default visibility for all members', 'buddypress' ); ?></label>
     915                                                                                        </li>
     916                                                                                </ul>
     917                                                                        </div>
     918                                                                </div>
    894919
    895                                         <?php endif;
     920                                                        <?php endif ?>
     921                                                </div>
    896922
    897                                         /* The fullname field cannot be hidden */
    898                                         if ( 1 != $this->id ) : ?>
     923                                                <div id="postbox-container-2" class="postbox-container">
    899924
    900                                                 <div id="titlediv">
    901                                                         <div id="titlewrap">
    902                                                                 <h3><label for="default-visibility"><?php _e( 'Default Visibility', 'buddypress' ); ?></label></h3>
    903                                                                 <ul>
     925                                                        <?php if ( '0' != $this->can_delete ) : ?>
    904926
    905                                                                         <?php foreach( bp_xprofile_get_visibility_levels() as $level ) : ?>
     927                                                                <div class="postbox">
     928                                                                        <h3><label for="required"><?php _e( "Field Requirement", 'buddypress' ); ?></label></h3>
     929                                                                        <div class="inside">
     930                                                                                <select name="required" id="required" style="width: 30%">
     931                                                                                        <option value="0"<?php selected( $this->is_required, '0' ); ?>><?php _e( 'Not Required', 'buddypress' ); ?></option>
     932                                                                                        <option value="1"<?php selected( $this->is_required, '1' ); ?>><?php _e( 'Required',     'buddypress' ); ?></option>
     933                                                                                </select>
     934                                                                        </div>
     935                                                                </div>
    906936
    907                                                                                 <li><label><input type="radio" name="default-visibility" value="<?php echo esc_attr( $level['id'] ) ?>" <?php checked( $this->default_visibility, $level['id'] ); ?>> <?php echo esc_html( $level['label'] ) ?></label></li>
     937                                                                <div class="postbox">
     938                                                                        <h3><label for="fieldtype"><?php _e( 'Field Type', 'buddypress'); ?></label></h3>
     939                                                                        <div class="inside">
     940                                                                                <select name="fieldtype" id="fieldtype" onchange="show_options(this.value)" style="width: 30%">
     941                                                                                        <optgroup label="<?php _e( 'Single Fields', 'buddypress' ); ?>">
     942                                                                                                <option value="textbox"        <?php selected( $this->type, 'textbox'        ); ?>><?php _e( 'Text Box',             'buddypress' ); ?></option>
     943                                                                                                <option value="textarea"       <?php selected( $this->type, 'textarea'       ); ?>><?php _e( 'Multi-line Text Area', 'buddypress' ); ?></option>
     944                                                                                                <option value="datebox"        <?php selected( $this->type, 'datebox'        ); ?>><?php _e( 'Date Selector',        'buddypress' ); ?></option>
     945                                                                                        </optgroup>
     946                                                                                        <optgroup label="<?php _e( 'Multi Fields', 'buddypress' ); ?>">
     947                                                                                                <option value="radio"          <?php selected( $this->type, 'radio'          ); ?>><?php _e( 'Radio Buttons',        'buddypress' ); ?></option>
     948                                                                                                <option value="selectbox"      <?php selected( $this->type, 'selectbox'      ); ?>><?php _e( 'Drop Down Select Box', 'buddypress' ); ?></option>
     949                                                                                                <option value="multiselectbox" <?php selected( $this->type, 'multiselectbox' ); ?>><?php _e( 'Multi Select Box',     'buddypress' ); ?></option>
     950                                                                                                <option value="checkbox"       <?php selected( $this->type, 'checkbox'       ); ?>><?php _e( 'Checkboxes',           'buddypress' ); ?></option>
     951                                                                                        </optgroup>
     952                                                                                </select>
    908953
    909                                                                         <?php endforeach ?>
     954                                                                                <?php do_action_ref_array( 'xprofile_field_additional_options', array( $this ) ); ?>
    910955
    911                                                                 </ul>
    912                                                         </div>
     956                                                                                <?php $this->render_admin_form_children(); ?>
    913957
    914                                                         <div id="titlewrap">
    915                                                                 <h3><label for="allow-custom-visibility"><?php _e( 'Per-Member Visibility', 'buddypress' ); ?></label></h3>
    916                                                                 <ul>
    917                                                                         <li><label><input type="radio" name="allow-custom-visibility" value="allowed"  <?php checked( $this->allow_custom_visibility, 'allowed'  ); ?>> <?php _e( "Let members change this field's visibility", 'buddypress' ); ?></label></li>
    918                                                                         <li><label><input type="radio" name="allow-custom-visibility" value="disabled" <?php checked( $this->allow_custom_visibility, 'disabled' ); ?>> <?php _e( 'Enforce the default visibility for all members', 'buddypress' ); ?></label></li>
    919                                                                 </ul>
    920                                                         </div>
    921                                                 </div>
     958                                                                        </div>
     959                                                                </div>
    922960
    923                                         <?php endif ?>
     961                                                        <?php else : ?>
    924962
    925                                         <p class="submit">
    926                                                 <input type="hidden" name="field_order" id="field_order" value="<?php echo esc_attr( $this->field_order ); ?>" />
    927                                                 <input type="submit" value="<?php _e( 'Save', 'buddypress' ); ?>" name="saveField" id="saveField" style="font-weight: bold" class="button-primary" />
    928                                                 <?php _e( 'or', 'buddypress' ); ?> <a href="admin.php?page=bp-profile-setup" class="deletion"><?php _e( 'Cancel', 'buddypress' ); ?></a>
    929                                         </p>
     963                                                                <input type="hidden" name="required"  id="required"  value="1"       />
     964                                                                <input type="hidden" name="fieldtype" id="fieldtype" value="textbox" />
    930965
    931                                 </div>
     966                                                        <?php endif; ?>
    932967
    933                                 <?php wp_nonce_field( 'xprofile_delete_option' ); ?>
     968                                                </div>
     969                                        </div><!-- #post-body -->
    934970
     971                                </div><!-- #poststuff -->
     972
    935973                        </form>
    936974                </div>
    937975