Changeset 5789 for trunk/bp-xprofile/bp-xprofile-template.php
- Timestamp:
- 02/15/2012 08:33:09 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-xprofile/bp-xprofile-template.php
r5762 r5789 25 25 var $user_id; 26 26 27 function __construct( $user_id, $profile_group_id, $hide_empty_groups = false, $fetch_fields = false, $fetch_field_data = false, $exclude_groups = false, $exclude_fields = false, $hide_empty_fields = false ) {27 function __construct( $user_id, $profile_group_id, $hide_empty_groups = false, $fetch_fields = false, $fetch_field_data = false, $exclude_groups = false, $exclude_fields = false, $hide_empty_fields = false, $fetch_privacy_level = false ) { 28 28 $this->groups = BP_XProfile_Group::get( array( 29 'profile_group_id' => $profile_group_id, 30 'user_id' => $user_id, 31 'hide_empty_groups' => $hide_empty_groups, 32 'hide_empty_fields' => $hide_empty_fields, 33 'fetch_fields' => $fetch_fields, 34 'fetch_field_data' => $fetch_field_data, 35 'exclude_groups' => $exclude_groups, 36 'exclude_fields' => $exclude_fields 29 'profile_group_id' => $profile_group_id, 30 'user_id' => $user_id, 31 'hide_empty_groups' => $hide_empty_groups, 32 'hide_empty_fields' => $hide_empty_fields, 33 'fetch_fields' => $fetch_fields, 34 'fetch_field_data' => $fetch_field_data, 35 'fetch_privacy_level' => $fetch_privacy_level, 36 'exclude_groups' => $exclude_groups, 37 'exclude_fields' => $exclude_fields 37 38 ) ); 38 39 … … 157 158 // or this is a registration page 158 159 $hide_empty_fields_default = ( !is_network_admin() && !is_admin() && !bp_is_user_profile_edit() && !bp_is_register_page() ); 159 160 161 // We only need to fetch privacy levels when viewing your own profile 162 if ( bp_is_my_profile() || bp_current_user_can( 'bp_moderate' ) ) { 163 $fetch_privacy_level_default = true; 164 } else { 165 $fetch_privacy_level_default = false; 166 } 167 160 168 $defaults = array( 161 'user_id' => bp_displayed_user_id(), 162 'profile_group_id' => false, 163 'hide_empty_groups' => true, 164 'hide_empty_fields' => $hide_empty_fields_default, 165 'fetch_fields' => true, 166 'fetch_field_data' => true, 167 'exclude_groups' => false, // Comma-separated list of profile field group IDs to exclude 168 'exclude_fields' => false // Comma-separated list of profile field IDs to exclude 169 'user_id' => bp_displayed_user_id(), 170 'profile_group_id' => false, 171 'hide_empty_groups' => true, 172 'hide_empty_fields' => $hide_empty_fields_default, 173 'fetch_fields' => true, 174 'fetch_field_data' => true, 175 'fetch_privacy_level' => $fetch_privacy_level_default, 176 'exclude_groups' => false, // Comma-separated list of profile field group IDs to exclude 177 'exclude_fields' => false // Comma-separated list of profile field IDs to exclude 169 178 ); 170 179 … … 172 181 extract( $r, EXTR_SKIP ); 173 182 174 $profile_template = new BP_XProfile_Data_Template( $user_id, $profile_group_id, $hide_empty_groups, $fetch_fields, $fetch_field_data, $exclude_groups, $exclude_fields, $hide_empty_fields );183 $profile_template = new BP_XProfile_Data_Template( $user_id, $profile_group_id, $hide_empty_groups, $fetch_fields, $fetch_field_data, $exclude_groups, $exclude_fields, $hide_empty_fields, $fetch_privacy_level ); 175 184 return apply_filters( 'bp_has_profile', $profile_template->has_groups(), $profile_template ); 176 185 } … … 698 707 } 699 708 709 /** 710 * Echo the privacy level of this field 711 */ 712 function bp_the_profile_field_privacy_level() { 713 echo bp_get_the_profile_field_privacy_level(); 714 } 715 /** 716 * Return the privacy level of this field 717 */ 718 function bp_get_the_profile_field_privacy_level() { 719 global $field; 720 721 $retval = !empty( $field->privacy_level ) ? $field->privacy_level : 'public'; 722 723 return apply_filters( 'bp_get_the_profile_field_privacy_level', $retval ); 724 } 725 726 /** 727 * Echo the privacy level label of this field 728 */ 729 function bp_the_profile_field_privacy_level_label() { 730 echo bp_get_the_profile_field_privacy_level_label(); 731 } 732 /** 733 * Return the privacy level label of this field 734 */ 735 function bp_get_the_profile_field_privacy_level_label() { 736 global $field; 737 738 $level = !empty( $field->privacy_level ) ? $field->privacy_level : 'public'; 739 $fields = bp_xprofile_get_privacy_levels(); 740 741 return apply_filters( 'bp_get_the_profile_field_privacy_level_label', $fields[$level]['label'] ); 742 } 743 744 700 745 function bp_unserialize_profile_field( $value ) { 701 746 if ( is_serialized($value) ) { … … 840 885 } 841 886 887 /** 888 * Echo the field privacy radio buttons 889 */ 890 function bp_profile_privacy_radio_buttons() { 891 echo bp_profile_get_privacy_radio_buttons(); 892 } 893 /** 894 * Return the field privacy radio buttons 895 */ 896 function bp_profile_get_privacy_radio_buttons() { 897 $html = '<ul class="radio">'; 898 899 foreach( bp_xprofile_get_privacy_levels() as $level ) { 900 $checked = $level['id'] == bp_get_the_profile_field_privacy_level() ? ' checked="checked" ' : ''; 901 902 $html .= '<li><input type="radio" name="field_' . bp_get_the_profile_field_id() . '_privacy" value="' . esc_attr( $level['id'] ) . '"' . $checked . '> ' . esc_html( $level['label'] ) . '</li>'; 903 } 904 905 $html .= '</ul>'; 906 907 return apply_filters( 'bp_profile_get_privacy_radio_buttons', $html ); 908 } 842 909 ?>
Note: See TracChangeset
for help on using the changeset viewer.