Changeset 2168 for trunk/bp-core/bp-core-templatetags.php
- Timestamp:
- 12/14/2009 03:24:05 PM (16 years ago)
- File:
-
- 1 edited
-
trunk/bp-core/bp-core-templatetags.php (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-core/bp-core-templatetags.php
r2145 r2168 1 1 <?php 2 3 /*** 4 * Members template loop that will allow you to loop all members or friends of a member 5 * if you pass a user_id. 6 */ 7 8 class BP_Core_Members_Template { 9 var $current_member = -1; 10 var $member_count; 11 var $members; 12 var $member; 13 14 var $in_the_loop; 15 16 var $pag_page; 17 var $pag_num; 18 var $pag_links; 19 var $total_member_count; 20 21 function bp_core_members_template( $type, $page_number, $per_page, $max, $user_id, $search_terms, $include ) { 22 global $bp, $bp_the_member_query; 23 24 $this->pag_page = isset( $_REQUEST['upage'] ) ? intval( $_REQUEST['upage'] ) : $page_number; 25 $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page; 26 $this->type = $type; 27 28 if ( isset( $_REQUEST['letter'] ) && '' != $_REQUEST['letter'] ) { 29 $this->members = BP_Core_User::get_users_by_letter( $_REQUEST['letter'], $this->pag_num, $this->pag_page ); 30 } 31 else if ( false !== $include ) { 32 $this->members = BP_Core_User::get_specific_users( $include, $this->pag_num, $this->pag_page ); 33 } 34 else { 35 $this->members = BP_Core_User::get_users( $this->type, $this->pag_num, $this->pag_page, $user_id, $search_terms ); 36 } 37 38 if ( !$max || $max >= (int)$this->members['total'] ) 39 $this->total_member_count = (int)$this->members['total']; 40 else 41 $this->total_member_count = (int)$max; 42 43 $this->members = $this->members['users']; 44 45 if ( $max ) { 46 if ( $max >= count($this->members) ) 47 $this->member_count = count($this->members); 48 else 49 $this->member_count = (int)$max; 50 } else { 51 $this->member_count = count($this->members); 52 } 53 54 if ( (int) $this->total_member_count && (int) $this->pag_num ) { 55 $this->pag_links = paginate_links( array( 56 'base' => add_query_arg( 'upage', '%#%' ), 57 'format' => '', 58 'total' => ceil( (int) $this->total_member_count / (int) $this->pag_num ), 59 'current' => (int) $this->pag_page, 60 'prev_text' => '←', 61 'next_text' => '→', 62 'mid_size' => 1 63 )); 64 } 65 } 66 67 function has_members() { 68 if ( $this->member_count ) 69 return true; 70 71 return false; 72 } 73 74 function next_member() { 75 $this->current_member++; 76 $this->member = $this->members[$this->current_member]; 77 78 return $this->member; 79 } 80 81 function rewind_members() { 82 $this->current_member = -1; 83 if ( $this->member_count > 0 ) { 84 $this->member = $this->members[0]; 85 } 86 } 87 88 function members() { 89 if ( $this->current_member + 1 < $this->member_count ) { 90 return true; 91 } elseif ( $this->current_member + 1 == $this->member_count ) { 92 do_action('loop_end'); 93 // Do some cleaning up after the loop 94 $this->rewind_members(); 95 } 96 97 $this->in_the_loop = false; 98 return false; 99 } 100 101 function the_member() { 102 global $member, $bp; 103 104 $this->in_the_loop = true; 105 $this->member = $this->next_member(); 106 107 if ( 0 == $this->current_member ) // loop has just started 108 do_action('loop_start'); 109 } 110 } 111 112 function bp_rewind_members() { 113 global $members_template; 114 115 return $members_template->rewind_members(); 116 } 117 118 function bp_has_members( $args = '' ) { 119 global $bp, $members_template; 120 121 // type: active ( default ) | random | newest | popular | online | alphabetical 122 $defaults = array( 123 'type' => 'active', 124 'page' => 1, 125 'per_page' => 10, 126 'max' => false, 127 128 'include' => false, // Pass a user_id or comma separated list of user_ids to only show these users 129 130 'user_id' => false, // Pass a user_id to only show friends of this user 131 'search_terms' => false // Pass search_terms to filter users by their profile data 132 ); 133 134 $r = wp_parse_args( $args, $defaults ); 135 extract( $r, EXTR_SKIP ); 136 137 if ( $max ) { 138 if ( $per_page > $max ) 139 $per_page = $max; 140 } 141 142 /* Pass a filter if ?s= is set. */ 143 if ( $_REQUEST['s'] ) 144 $search_terms = $_REQUEST['s']; 145 146 $members_template = new BP_Core_Members_Template( $type, $page, $per_page, $max, $user_id, $search_terms, $include ); 147 148 return $members_template->has_members(); 149 } 150 151 function bp_the_member() { 152 global $members_template; 153 return $members_template->the_member(); 154 } 155 156 function bp_members() { 157 global $members_template; 158 return $members_template->members(); 159 } 160 161 function bp_members_pagination_count() { 162 global $bp, $members_template; 163 164 $from_num = intval( ( $members_template->pag_page - 1 ) * $members_template->pag_num ) + 1; 165 $to_num = ( $from_num + ( $members_template->pag_num - 1 ) > $members_template->total_member_count ) ? $members_template->total_member_count : $from_num + ( $members_template->pag_num - 1) ; 166 167 if ( 'active' == $members_template->type ) 168 echo sprintf( __( 'Viewing member %d to %d (of %d active members)', 'buddypress' ), $from_num, $to_num, $members_template->total_member_count ); 169 else if ( 'popular' == $members_template->type ) 170 echo sprintf( __( 'Viewing member %d to %d (of %d members with friends)', 'buddypress' ), $from_num, $to_num, $members_template->total_member_count ); 171 else if ( 'online' == $members_template->type ) 172 echo sprintf( __( 'Viewing member %d to %d (of %d members online)', 'buddypress' ), $from_num, $to_num, $members_template->total_member_count ); 173 else 174 echo sprintf( __( 'Viewing member %d to %d (of %d members)', 'buddypress' ), $from_num, $to_num, $members_template->total_member_count ); 175 176 ?><span class="ajax-loader"></span><?php 177 } 178 179 function bp_members_pagination_links() { 180 echo bp_get_members_pagination_links(); 181 } 182 function bp_get_members_pagination_links() { 183 global $members_template; 184 185 return apply_filters( 'bp_get_members_pagination_links', $members_template->pag_links ); 186 } 187 188 function bp_member_user_id() { 189 echo bp_get_member_user_id(); 190 } 191 function bp_get_member_user_id() { 192 global $members_template; 193 194 return apply_filters( 'bp_get_member_user_id', $members_template->member->id ); 195 } 196 197 function bp_member_avatar( $args = '' ) { 198 echo apply_filters( 'bp_member_avatar', bp_get_member_avatar( $args ) ); 199 } 200 function bp_get_member_avatar( $args = '' ) { 201 global $bp, $members_template; 202 203 $defaults = array( 204 'type' => 'thumb', 205 'width' => false, 206 'height' => false, 207 'class' => 'avatar', 208 'id' => false, 209 'alt' => __( 'Member avatar', 'buddypress' ) 210 ); 211 212 $r = wp_parse_args( $args, $defaults ); 213 extract( $r, EXTR_SKIP ); 214 215 return apply_filters( 'bp_get_member_avatar', bp_core_fetch_avatar( array( 'item_id' => $members_template->member->id, 'type' => $type, 'alt' => $alt, 'css_id' => $id, 'class' => $class, 'width' => $width, 'height' => $height, 'email' => $members_template->member->user_email ) ) ); 216 } 217 218 function bp_member_permalink() { 219 echo bp_get_member_permalink(); 220 } 221 function bp_get_member_permalink() { 222 global $members_template; 223 224 echo apply_filters( 'bp_get_member_permalink', bp_core_get_user_domain( $members_template->member->id, $members_template->member->user_nicename, $members_template->member->user_login ) ); 225 } 226 function bp_member_link() { echo bp_get_member_permalink(); } 227 function bp_get_member_link() { return bp_get_member_permalink(); } 228 229 function bp_member_name() { 230 echo apply_filters( 'bp_member_name', bp_get_member_name() ); 231 } 232 function bp_get_member_name() { 233 global $members_template; 234 235 return apply_filters( 'bp_get_member_name', $members_template->member->fullname ); 236 } 237 add_filter( 'bp_get_member_name', 'wp_filter_kses' ); 238 add_filter( 'bp_get_member_name', 'stripslashes' ); 239 240 function bp_member_last_active() { 241 echo bp_get_member_last_active(); 242 } 243 function bp_get_member_last_active() { 244 global $members_template; 245 246 $last_activity = attribute_escape( bp_core_get_last_activity( $members_template->member->last_activity, __( 'active %s ago', 'buddypress' ) ) ); 247 248 return apply_filters( 'bp_member_last_active', $last_activity ); 249 } 250 251 function bp_member_profile_data( $field_name = false ) { 252 echo bp_get_member_profile_data( $field_name ); 253 } 254 function bp_get_member_profile_data( $field_name = false ) { 255 global $members_template; 256 257 if ( !$field_name || !function_exists( 'xprofile_install' ) ) 258 return false; 259 260 // Populate the user if it hasn't been already. 261 if ( empty( $members_template->member->profile_data ) ) 262 $members_template->member = new BP_Core_User( $members_template->member->id ); 263 264 return apply_filters( 'bp_get_member_profile_data', $members_template->member->profile_data[$field_name]['field_data'], $members_template->member->profile_data[$field_name]['field_type'] ); 265 } 266 267 function bp_member_registered() { 268 echo bp_get_member_registered(); 269 } 270 function bp_get_member_registered() { 271 global $members_template; 272 273 $registered = attribute_escape( bp_core_get_last_activity( $members_template->member->user_registered, __( 'registered %s ago', 'buddypress' ) ) ); 274 275 return apply_filters( 'bp_member_last_active', $registered ); 276 } 277 278 function bp_member_add_friend_button() { 279 global $members_template; 280 281 if ( function_exists( 'bp_add_friend_button' ) ) { 282 echo bp_add_friend_button( $members_template->member->id ); 283 } 284 } 285 286 function bp_member_total_friend_count() { 287 global $members_template; 288 289 echo bp_get_member_total_friend_count(); 290 } 291 function bp_get_member_total_friend_count() { 292 global $members_template; 293 294 if ( 1 == (int) $members_template->member->total_friend_count ) 295 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friend', 'buddypress' ), (int) $members_template->member->total_friend_count ) ); 296 else 297 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friends', 'buddypress' ), (int) $members_template->member->total_friend_count ) ); 298 } 299 300 function bp_member_random_profile_data() { 301 global $members_template; 302 303 if ( function_exists( 'xprofile_get_random_profile_data' ) ) { ?> 304 <?php $random_data = xprofile_get_random_profile_data( $members_template->member->id, true ); ?> 305 <strong><?php echo wp_filter_kses( $random_data[0]->name ) ?></strong> 306 <?php echo wp_filter_kses( $random_data[0]->value ) ?> 307 <?php } 308 } 309 310 function bp_member_hidden_fields() { 311 if ( isset( $_REQUEST['s'] ) ) { 312 echo '<input type="hidden" id="search_terms" value="' . attribute_escape( $_REQUEST['s'] ) . '" name="search_terms" />'; 313 } 314 315 if ( isset( $_REQUEST['letter'] ) ) { 316 echo '<input type="hidden" id="selected_letter" value="' . attribute_escape( $_REQUEST['letter'] ) . '" name="selected_letter" />'; 317 } 318 319 if ( isset( $_REQUEST['members_search'] ) ) { 320 echo '<input type="hidden" id="search_terms" value="' . attribute_escape( $_REQUEST['members_search'] ) . '" name="search_terms" />'; 321 } 322 } 323 324 function bp_directory_members_search_form() { 325 global $bp; 326 327 $search_value = __( 'Search anything...', 'buddypress' ); 328 if ( !empty( $_GET['s'] ) ) 329 $search_value = $_GET['s']; 330 331 else if ( !empty( $_COOKIE['bp-members-search-terms'] ) && 'false' != $_COOKIE['bp-members-search-terms'] ) 332 $search_value = $_COOKIE['bp-members-search-terms']; 333 334 ?> 335 <form action="" method="get" id="search-members-form"> 336 <label><input type="text" name="s" id="members_search" value="<?php echo attribute_escape( $search_value ) ?>" onfocus="if (this.value == '<?php _e( 'Search anything...', 'buddypress' ) ?>') {this.value = '';}" onblur="if (this.value == '') {this.value = '<?php _e( 'Search anything...', 'buddypress' ) ?>';}" /></label> 337 <input type="submit" id="members_search_submit" name="members_search_submit" value="<?php _e( 'Search', 'buddypress' ) ?>" /> 338 <?php wp_nonce_field( 'directory_members', '_wpnonce-member-filter' ) ?> 339 </form> 340 <?php 341 } 342 343 function bp_home_blog_url() { 344 global $bp, $current_blog; 345 346 if ( defined( 'BP_ENABLE_MULTIBLOG' ) ) { 347 $blog_id = $current_blog->blog_id; 348 } else { 349 $blog_id = BP_ROOT_BLOG; 350 } 351 352 if ( 'bphome' == get_blog_option( $blog_id, 'template' ) ) 353 echo $bp->root_domain . '/' . BP_HOME_BLOG_SLUG; 354 else 355 echo $bp->root_domain; 356 } 357 358 function bp_total_site_member_count() { 359 echo bp_get_total_site_member_count(); 360 } 361 function bp_get_total_site_member_count() { 362 return apply_filters( 'bp_get_total_site_member_count', bp_core_get_total_member_count() ); 363 } 364 365 366 /** Navigation and other misc template tags **/ 367 2 368 /** 3 369 * bp_get_nav() … … 31 397 then check to see if the two users are friends. if they are, add a highlight CSS class 32 398 to the friends nav item if it exists. */ 33 if ( !bp_is_ home() && $bp->displayed_user->id ) {399 if ( !bp_is_my_profile() && $bp->displayed_user->id ) { 34 400 $selected = ''; 35 401 … … 72 438 73 439 foreach ( $bp->bp_nav as $user_nav_item ) { 74 if ( !$user_nav_item['show_for_displayed_user'] )440 if ( !$user_nav_item['show_for_displayed_user'] && !bp_is_my_profile() ) 75 441 continue; 76 442 … … 270 636 } 271 637 272 function bp_is_ home() {638 function bp_is_my_profile() { 273 639 global $bp; 274 640 … … 278 644 return false; 279 645 } 646 function bp_is_home() { return bp_is_my_profile(); } 280 647 281 648 function bp_last_activity( $user_id = false, $echo = true ) { … … 855 1222 /*** CUSTOM LOOP TEMPLATE CLASSES *******************/ 856 1223 857 class BP_Core_Members_Template {858 var $current_member = -1;859 var $member_count;860 var $members;861 var $member;862 863 var $in_the_loop;864 865 var $pag_page;866 var $pag_num;867 var $pag_links;868 var $total_member_count;869 870 function bp_core_members_template( $type, $per_page, $max ) {871 global $bp, $bp_the_member_query;872 873 $this->pag_page = isset( $_REQUEST['upage'] ) ? intval( $_REQUEST['upage'] ) : 1;874 $this->pag_num = isset( $_REQUEST['num'] ) ? intval( $_REQUEST['num'] ) : $per_page;875 876 if ( isset( $_REQUEST['s'] ) && '' != $_REQUEST['s'] && $type != 'random' ) {877 $this->members = BP_Core_User::search_users( $_REQUEST['s'], $this->pag_num, $this->pag_page );878 } else if ( isset( $_REQUEST['letter'] ) && '' != $_REQUEST['letter'] ) {879 $this->members = BP_Core_User::get_users_by_letter( $_REQUEST['letter'], $this->pag_num, $this->pag_page );880 } else {881 switch ( $type ) {882 case 'random':883 $this->members = BP_Core_User::get_random_users( $this->pag_num, $this->pag_page );884 break;885 886 case 'newest':887 $this->members = BP_Core_User::get_newest_users( $this->pag_num, $this->pag_page );888 break;889 890 case 'popular':891 $this->members = BP_Core_User::get_popular_users( $this->pag_num, $this->pag_page );892 break;893 894 case 'online':895 $this->members = BP_Core_User::get_online_users( $this->pag_num, $this->pag_page );896 break;897 898 case 'alphabetical':899 $this->members = BP_Core_User::get_alphabetical_users( $this->pag_num, $this->pag_page );900 break;901 902 case 'active': default:903 $this->members = BP_Core_User::get_active_users( $this->pag_num, $this->pag_page );904 break;905 }906 }907 908 if ( !$max || $max >= (int)$this->members['total'] )909 $this->total_member_count = (int)$this->members['total'];910 else911 $this->total_member_count = (int)$max;912 913 $this->members = $this->members['users'];914 915 if ( $max ) {916 if ( $max >= count($this->members) )917 $this->member_count = count($this->members);918 else919 $this->member_count = (int)$max;920 } else {921 $this->member_count = count($this->members);922 }923 924 if ( (int) $this->total_member_count && (int) $this->pag_num ) {925 $this->pag_links = paginate_links( array(926 'base' => add_query_arg( 'upage', '%#%' ),927 'format' => '',928 'total' => ceil( (int) $this->total_member_count / (int) $this->pag_num ),929 'current' => (int) $this->pag_page,930 'prev_text' => '«',931 'next_text' => '»',932 'mid_size' => 1933 ));934 }935 }936 937 function has_members() {938 if ( $this->member_count )939 return true;940 941 return false;942 }943 944 function next_member() {945 $this->current_member++;946 $this->member = $this->members[$this->current_member];947 948 return $this->member;949 }950 951 function rewind_members() {952 $this->current_member = -1;953 if ( $this->member_count > 0 ) {954 $this->member = $this->members[0];955 }956 }957 958 function site_members() {959 if ( $this->current_member + 1 < $this->member_count ) {960 return true;961 } elseif ( $this->current_member + 1 == $this->member_count ) {962 do_action('loop_end');963 // Do some cleaning up after the loop964 $this->rewind_members();965 }966 967 $this->in_the_loop = false;968 return false;969 }970 971 function the_member() {972 global $member, $bp;973 974 $this->in_the_loop = true;975 $this->member = $this->next_member();976 $user_id = $this->member->user_id;977 $user_registered = $this->member->user_registered;978 979 if ( !$this->member = wp_cache_get( 'bp_user_' . $user_id, 'bp' ) ) {980 $this->member = new BP_Core_User( $user_id );981 wp_cache_set( 'bp_user_' . $user_id, $this->member, 'bp' );982 }983 984 if ( $user_registered )985 $this->member->user_registered = $user_registered;986 987 if ( 0 == $this->current_member ) // loop has just started988 do_action('loop_start');989 }990 }991 992 function bp_rewind_site_members() {993 global $site_members_template;994 995 return $site_members_template->rewind_members();996 }997 998 function bp_has_site_members( $args = '' ) {999 global $bp, $site_members_template;1000 1001 $defaults = array(1002 'type' => 'active',1003 'per_page' => 10,1004 'max' => false1005 );1006 1007 $r = wp_parse_args( $args, $defaults );1008 extract( $r, EXTR_SKIP );1009 1010 // type: active ( default ) | random | newest | popular | online | alphabetical1011 1012 if ( $max ) {1013 if ( $per_page > $max )1014 $per_page = $max;1015 }1016 1017 $site_members_template = new BP_Core_Members_Template( $type, $per_page, $max );1018 1019 return $site_members_template->has_members();1020 }1021 1022 function bp_the_site_member() {1023 global $site_members_template;1024 return $site_members_template->the_member();1025 }1026 1027 function bp_site_members() {1028 global $site_members_template;1029 return $site_members_template->site_members();1030 }1031 1032 function bp_site_members_pagination_count() {1033 global $bp, $site_members_template;1034 1035 $from_num = intval( ( $site_members_template->pag_page - 1 ) * $site_members_template->pag_num ) + 1;1036 $to_num = ( $from_num + ( $site_members_template->pag_num - 1 ) > $site_members_template->total_member_count ) ? $site_members_template->total_member_count : $from_num + ( $site_members_template->pag_num - 1) ;1037 1038 echo sprintf( __( 'Viewing member %d to %d (of %d members)', 'buddypress' ), $from_num, $to_num, $site_members_template->total_member_count ); ?> 1039 <span class="ajax-loader"></span><?php1040 }1041 1042 function bp_site_members_pagination_links() {1043 echo bp_get_site_members_pagination_links();1044 }1045 function bp_get_site_members_pagination_links() {1046 global $site_members_template;1047 1048 return apply_filters( 'bp_get_site_members_pagination_links', $site_members_template->pag_links );1049 }1050 1051 function bp_the_site_member_user_id() {1052 echo bp_get_the_site_member_user_id();1053 }1054 function bp_get_the_site_member_user_id() {1055 global $site_members_template;1056 1057 return apply_filters( 'bp_get_the_site_member_user_id', $site_members_template->member->id );1058 }1059 1060 function bp_the_site_member_avatar( $args = '' ) {1061 echo apply_filters( 'bp_the_site_member_avatar', bp_get_the_site_member_avatar( $args ) );1062 }1063 1064 function bp_get_the_site_member_avatar( $args = '' ) {1065 global $bp, $site_members_template;1066 1067 $defaults = array(1068 'type' => 'thumb',1069 'width' => false,1070 'height' => false,1071 'class' => 'avatar',1072 'id' => false,1073 'alt' => __( 'Member avatar', 'buddypress' )1074 );1075 1076 $r = wp_parse_args( $args, $defaults );1077 extract( $r, EXTR_SKIP );1078 1079 /* Fetch the avatar from the folder, if not provide backwards compat. */1080 if ( !$avatar = bp_core_fetch_avatar( array( 'item_id' => $site_members_template->member->id, 'type' => $type, 'alt' => $alt, 'css_id' => $id, 'class' => $class, 'width' => $width, 'height' => $height ) ) )1081 $avatar = '<img src="' . attribute_escape( $site_members_template->member->avatar_thumb ) . '" class="avatar" alt="' . __( 'Member avatar', 'buddypress' ) . '" />';1082 1083 return apply_filters( 'bp_get_the_site_member_avatar', $avatar );1084 }1085 1086 function bp_the_site_member_link() {1087 echo bp_get_the_site_member_link();1088 }1089 function bp_get_the_site_member_link() {1090 global $site_members_template;1091 1092 echo apply_filters( 'bp_get_the_site_member_link', $site_members_template->member->user_url );1093 }1094 1095 function bp_the_site_member_name() {1096 echo apply_filters( 'bp_the_site_member_name', bp_get_the_site_member_name() );1097 }1098 function bp_get_the_site_member_name() {1099 global $site_members_template;1100 1101 return apply_filters( 'bp_get_the_site_member_name', $site_members_template->member->fullname );1102 }1103 add_filter( 'bp_get_the_site_member_name', 'wp_filter_kses' );1104 add_filter( 'bp_get_the_site_member_name', 'stripslashes' );1105 1106 function bp_the_site_member_last_active() {1107 echo bp_get_the_site_member_last_active();1108 }1109 function bp_get_the_site_member_last_active() {1110 global $site_members_template;1111 1112 $last_activity = attribute_escape( bp_core_get_last_activity( get_usermeta( $site_members_template->member->id, 'last_activity' ), __( 'active %s ago', 'buddypress' ) ) );1113 1114 return apply_filters( 'bp_the_site_member_last_active', $last_activity );1115 }1116 1117 function bp_the_site_member_profile_data( $field_name = false ) {1118 echo bp_get_the_site_member_profile_data( $field_name );1119 }1120 function bp_get_the_site_member_profile_data( $field_name = false ) {1121 global $site_members_template;1122 1123 if ( !$field_name || !function_exists( 'xprofile_install' ) )1124 return false;1125 1126 return apply_filters( 'bp_get_the_site_member_profile_data', $site_members_template->member->profile_data[$field_name]['field_data'], $site_members_template->member->profile_data[$field_name]['field_type'] );1127 }1128 1129 function bp_the_site_member_registered() {1130 echo bp_get_the_site_member_registered();1131 }1132 function bp_get_the_site_member_registered() {1133 global $site_members_template;1134 1135 return apply_filters( 'bp_the_site_member_last_active', strtotime( $site_members_template->member->user_registered ) );1136 }1137 1138 function bp_the_site_member_add_friend_button() {1139 global $site_members_template;1140 1141 if ( function_exists( 'bp_add_friend_button' ) ) {1142 echo bp_add_friend_button( $site_members_template->member->id );1143 }1144 }1145 1146 function bp_the_site_member_total_friend_count() {1147 global $site_members_template;1148 1149 if ( !(int) $site_members_template->member->total_friends )1150 return false;1151 1152 echo bp_get_the_site_member_total_friend_count();1153 }1154 function bp_get_the_site_member_total_friend_count() {1155 global $site_members_template;1156 1157 if ( !(int) $site_members_template->member->total_friends )1158 return false;1159 1160 if ( 1 == (int) $site_members_template->member->total_friends )1161 return apply_filters( 'bp_get_the_site_member_total_friend_count', sprintf( __( '%d friend', 'buddypress' ), (int) $site_members_template->member->total_friends ) );1162 else1163 return apply_filters( 'bp_get_the_site_member_total_friend_count', sprintf( __( '%d friends', 'buddypress' ), (int) $site_members_template->member->total_friends ) );1164 }1165 1166 function bp_the_site_member_random_profile_data() {1167 global $site_members_template;1168 1169 if ( function_exists( 'xprofile_get_random_profile_data' ) ) { ?>1170 <?php $random_data = xprofile_get_random_profile_data( $site_members_template->member->id, true ); ?>1171 <strong><?php echo wp_filter_kses( $random_data[0]->name ) ?></strong>1172 <?php echo wp_filter_kses( $random_data[0]->value ) ?>1173 <?php }1174 }1175 1176 function bp_the_site_member_hidden_fields() {1177 if ( isset( $_REQUEST['s'] ) ) {1178 echo '<input type="hidden" id="search_terms" value="' . attribute_escape( $_REQUEST['s'] ) . '" name="search_terms" />';1179 }1180 1181 if ( isset( $_REQUEST['letter'] ) ) {1182 echo '<input type="hidden" id="selected_letter" value="' . attribute_escape( $_REQUEST['letter'] ) . '" name="selected_letter" />';1183 }1184 1185 if ( isset( $_REQUEST['members_search'] ) ) {1186 echo '<input type="hidden" id="search_terms" value="' . attribute_escape( $_REQUEST['members_search'] ) . '" name="search_terms" />';1187 }1188 }1189 1190 function bp_directory_members_search_form() {1191 global $bp; ?>1192 <form action="" method="get" id="search-members-form">1193 <label><input type="text" name="s" id="members_search" value="<?php if ( isset( $_GET['s'] ) ) { echo attribute_escape( $_GET['s'] ); } else { _e( 'Search anything...', 'buddypress' ); } ?>" onfocus="if (this.value == '<?php _e( 'Search anything...', 'buddypress' ) ?>') {this.value = '';}" onblur="if (this.value == '') {this.value = '<?php _e( 'Search anything...', 'buddypress' ) ?>';}" /></label>1194 <input type="submit" id="members_search_submit" name="members_search_submit" value="<?php _e( 'Search', 'buddypress' ) ?>" />1195 <?php wp_nonce_field( 'directory_members', '_wpnonce-member-filter' ) ?>1196 </form>1197 <?php1198 }1199 1200 function bp_home_blog_url() {1201 global $bp, $current_blog;1202 1203 if ( defined( 'BP_ENABLE_MULTIBLOG' ) ) {1204 $blog_id = $current_blog->blog_id;1205 } else {1206 $blog_id = BP_ROOT_BLOG;1207 }1208 1209 if ( 'bphome' == get_blog_option( $blog_id, 'template' ) )1210 echo $bp->root_domain . '/' . BP_HOME_BLOG_SLUG;1211 else1212 echo $bp->root_domain;1213 }1214 1215 1224 1216 1225 /* Template functions for fetching globals, without querying the DB again … … 1238 1247 } 1239 1248 1240 function bp_user_fullname() { 1241 global $bp; 1242 echo apply_filters( 'bp_user_fullname', $bp->displayed_user->fullname);1243 } 1244 function bp_ displayed_user_fullname() {1249 1250 function bp_displayed_user_fullname() { 1251 echo bp_get_displayed_user_fullname(); 1252 } 1253 function bp_get_displayed_user_fullname() { 1245 1254 global $bp; 1246 1255 1247 1256 return apply_filters( 'bp_displayed_user_fullname', $bp->displayed_user->fullname ); 1248 1257 } 1258 function bp_user_fullname() { echo bp_get_displayed_user_fullname(); } 1259 1249 1260 1250 1261 function bp_loggedin_user_fullname() { … … 1285 1296 } 1286 1297 1298 /* This function will pass a AJAX built querystring to a loop in the template */ 1299 function bp_ajax_querystring() { 1300 global $bp; 1301 1302 return apply_filters( 'bp_ajax_querystring', $bp->ajax_querystring ); 1303 } 1304 1287 1305 /* Template is_() functions to determine the current page */ 1288 1306 … … 1372 1390 1373 1391 if ( BP_ACTIVITY_SLUG == $bp->current_component && 'my-friends' == $bp->current_action ) 1392 return true; 1393 1394 return false; 1395 } 1396 1397 function bp_is_activity_permalink() { 1398 global $bp; 1399 1400 if ( BP_ACTIVITY_SLUG == $bp->current_component && is_numeric( $bp->current_action ) ) 1374 1401 return true; 1375 1402 … … 1753 1780 if ( bp_is_user_activity() ) 1754 1781 $bp_classes[] = 'my-activity'; 1782 1783 if ( bp_is_activity_permalink() ) 1784 $bp_classes[] = 'activity-permalink'; 1755 1785 1756 1786 if ( bp_is_register_page() )
Note: See TracChangeset
for help on using the changeset viewer.