Changeset 3263
- Timestamp:
- 09/13/2010 03:04:20 AM (16 years ago)
- Location:
- trunk
- Files:
-
- 14 edited
-
bp-activity/bp-activity-templatetags.php (modified) (1 diff)
-
bp-blogs/bp-blogs-templatetags.php (modified) (1 diff)
-
bp-core/bp-core-classes.php (modified) (1 diff)
-
bp-core/bp-core-templatetags.php (modified) (2 diffs)
-
bp-core/bp-core-widgets.php (modified) (4 diffs)
-
bp-friends/bp-friends-templatetags.php (modified) (2 diffs)
-
bp-groups/bp-groups-templatetags.php (modified) (4 diffs)
-
bp-messages/bp-messages-templatetags.php (modified) (2 diffs)
-
bp-themes/bp-default/blogs/blogs-loop.php (modified) (2 diffs)
-
bp-themes/bp-default/functions.php (modified) (1 diff)
-
bp-themes/bp-default/groups/groups-loop.php (modified) (1 diff)
-
bp-themes/bp-default/groups/single/admin.php (modified) (2 diffs)
-
bp-themes/bp-default/members/members-loop.php (modified) (3 diffs)
-
bp-themes/bp-default/members/single/member-header.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
trunk/bp-activity/bp-activity-templatetags.php
r3247 r3263 850 850 global $bp; 851 851 852 return apply_filters( 'bp_get_send_public_message_link', $bp->loggedin_user->domain . $bp->activity->slug . '/?r=' . bp_core_get_username( $bp->displayed_user->user_id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ) ); 852 if ( bp_is_my_profile() || !is_user_logged_in() ) 853 return false; 854 855 return apply_filters( 'bp_get_send_public_message_link', wp_nonce_url( $bp->loggedin_user->domain . $bp->activity->slug . '/?r=' . bp_core_get_username( $bp->displayed_user->user_id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ) ) ); 856 } 857 858 /** 859 * bp_send_public_message_button( $args ) 860 * 861 * Output button for sending a public message 862 * 863 * @param array $args 864 */ 865 function bp_send_public_message_button( $args = '' ) { 866 echo bp_get_send_public_message_button( $args ); 867 } 868 /** 869 * bp_get_send_public_message_button( $args ) 870 * 871 * Return button for sending a public message 872 * 873 * @param array $args 874 * @return string 875 */ 876 function bp_get_send_public_message_button( $args = '' ) { 877 $defaults = array( 878 'id' => 'public_message', 879 'component' => 'activity', 880 'must_be_logged_in' => true, 881 'block_self' => true, 882 'wrapper_id' => 'post-mention', 883 'link_href' => bp_get_send_public_message_link(), 884 'link_title' => __( 'Mention this user in a new public message, this will send the user a notification to get their attention.', 'buddypress' ), 885 'link_text' => __( 'Mention this User', 'buddypress' ) 886 ); 887 888 $button = wp_parse_args( $args, $defaults ); 889 890 // Filter and return the HTML button 891 return bp_get_button( apply_filters( 'bp_get_send_public_message_button', $button ) ); 853 892 } 854 893 -
trunk/bp-blogs/bp-blogs-templatetags.php
r3247 r3263 502 502 } 503 503 504 /** 505 * bp_blogs_visit_blog_button() 506 * 507 * Output button for visiting a blog in a loop 508 * 509 * @param array $args Custom button properties 510 */ 511 function bp_blogs_visit_blog_button( $args = '' ) { 512 echo bp_get_blogs_visit_blog_button( $args ); 513 } 514 /** 515 * bp_get_blogs_visit_blog_button() 516 * 517 * Return button for visiting a blog in a loop 518 * 519 * @param array $args Custom button properties 520 * @return string 521 */ 522 function bp_get_blogs_visit_blog_button( $args = '' ) { 523 $defaults = array( 524 'id' => 'visit_blog', 525 'component' => 'blogs', 526 'must_be_logged_in' => false, 527 'block_self' => false, 528 'wrapper_class' => 'blog-button visit', 529 'link_href' => bp_get_blog_permalink(), 530 'link_class' => 'visit', 531 'link_text' => __( 'Visit Blog', 'buddypress' ), 532 'link_title' => __( 'Visit Blog', 'buddypress' ), 533 ); 534 535 $button = wp_parse_args( $args, $defaults ); 536 537 // Filter and return the HTML button 538 return bp_get_button( apply_filters( 'bp_get_blogs_visit_blog_button', $button ) ); 539 } 540 504 541 ?> -
trunk/bp-core/bp-core-classes.php
r3232 r3263 497 497 } 498 498 499 /** 500 * BP_Button 501 * 502 * API to create BuddyPress buttons 503 * 504 * @package BuddyPress Core 505 * @since 1.2.6 506 */ 507 class BP_Button { 508 509 // Button properties 510 var $id; 511 var $component; 512 var $must_be_logged_in; 513 var $block_self; 514 515 // Wrapper div 516 var $wrapper_class; 517 var $wrapper_id; 518 519 // Button 520 var $link_href; 521 var $link_class; 522 var $link_id; 523 var $link_rel; 524 var $link_title; 525 var $link_text; 526 527 // HTML result 528 var $contents; 529 530 /** 531 * bp_button() 532 * 533 * Builds the button based on passed parameters: 534 * 535 * component: Which component this button is for 536 * must_be_logged_in: Button only appears for logged in users 537 * block_self: Button will not appear when viewing your own profile. 538 * wrapper_id: The DOM ID of the button wrapper 539 * wrapper_class: The DOM class of the button wrapper 540 * link_href: The destination link of the button 541 * link_title: Title of the button 542 * link_id: The DOM ID of the button 543 * link_class: The DOM class of the button 544 * link_rel: The DOM rel of the button 545 * link_text: The contents of the button 546 * 547 * @param array $args 548 * @return bool False if not allowed 549 */ 550 function bp_button( $args = '' ) { 551 552 $defaults = array( 553 'id' => '', 554 'component' => 'core', 555 'must_be_logged_in' => true, 556 'block_self' => true, 557 558 'wrapper_id' => '', 559 'wrapper_class' => '', 560 561 'link_href' => '', 562 'link_title' => '', 563 'link_id' => '', 564 'link_class' => '', 565 'link_rel' => '', 566 'link_text' => '', 567 ); 568 569 $r = wp_parse_args( $args, $defaults ); 570 extract( $r, EXTR_SKIP ); 571 572 // Required button properties 573 $this->id = $id; 574 $this->component = $component; 575 $this->must_be_logged_in = (bool)$must_be_logged_in; 576 $this->block_self = (bool)$block_self; 577 578 // $id and $component are required 579 if ( empty( $id ) || empty( $component ) ) 580 return false; 581 582 // No button if component is not active 583 if ( !bp_is_active( $this->component ) ) 584 return false; 585 586 // No button for guests if must be logged in 587 if ( true == $this->must_be_logged_in && !is_user_logged_in ) 588 return false; 589 590 // No button if viewing your own profile 591 if ( true == $this->block_self && bp_is_my_profile() ) 592 return false; 593 594 // Wrapper properties 595 if ( !empty( $wrapper_id ) ) 596 $this->wrapper_id = ' id="' . $wrapper_id . '"'; 597 598 if ( !empty( $wrapper_class ) ) 599 $this->wrapper_class = ' class="generic-button ' . $wrapper_class . '"'; 600 else 601 $this->wrapper_class = ' class="generic-button"'; 602 603 // Link properties 604 if ( !empty( $link_id ) ) 605 $this->link_id = ' id="' . $link_id . '"'; 606 607 if ( !empty( $link_href ) ) 608 $this->link_href = ' href="' . $link_href . '"'; 609 610 if ( !empty( $link_title ) ) 611 $this->link_title = ' title="' . $link_title . '"'; 612 613 if ( !empty( $link_rel ) ) 614 $this->link_rel = ' rel="' . $link_rel . '"'; 615 616 if ( !empty( $link_class ) ) 617 $this->link_class = ' class="' . $link_class . '"'; 618 619 if ( !empty( $link_text ) ) 620 $this->link_text = $link_text; 621 622 // Build the button 623 $this->contents = '<div' . $this->wrapper_class . $this->wrapper_id . '>'; 624 $this->contents .= '<a'. $this->link_href . $this->link_title . $this->link_id . $this->link_rel . $this->link_class . '>' . $this->link_text . '</a>'; 625 $this->contents .= '</div>'; 626 627 // Allow button to be manipulated externally 628 $this->contents = apply_filters( 'bp_button_' . $component . '_' . $id, $this->contents, $this ); 629 } 630 631 /** 632 * contents() 633 * 634 * Return contents of button 635 * 636 * @return string 637 */ 638 function contents() { 639 return $this->contents; 640 } 641 642 /** 643 * display() 644 * 645 * Output contents of button 646 */ 647 function display() { 648 if ( !empty( $this->contents ) ) 649 echo $this->contents; 650 } 651 } 499 652 500 653 ?> -
trunk/bp-core/bp-core-templatetags.php
r3247 r3263 332 332 333 333 return apply_filters( 'bp_member_last_active', $registered ); 334 }335 336 function bp_member_add_friend_button() {337 global $members_template;338 339 if ( function_exists( 'bp_add_friend_button' ) ) {340 if ( null === $members_template->member->is_friend )341 $friend_status = 'not_friends';342 else343 $friend_status = ( 0 == $members_template->member->is_friend ) ? 'pending' : 'is_friend';344 345 echo bp_add_friend_button( $members_template->member->id, $friend_status );346 }347 }348 349 function bp_member_total_friend_count() {350 global $members_template;351 352 echo bp_get_member_total_friend_count();353 }354 function bp_get_member_total_friend_count() {355 global $members_template;356 357 if ( 1 == (int) $members_template->member->total_friend_count )358 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friend', 'buddypress' ), (int) $members_template->member->total_friend_count ) );359 else360 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friends', 'buddypress' ), (int) $members_template->member->total_friend_count ) );361 334 } 362 335 … … 1049 1022 1050 1023 /** 1024 * bp_button( $button ) 1025 * 1026 * Creates and outputs a button. 1027 * Args: div_id | div_class | a_href | a_title | a_id | a_class | a_rel | a_text 1028 * 1029 * @param array $button 1030 */ 1031 function bp_button( $button = '' ) { 1032 echo bp_get_button( $button ); 1033 } 1034 /** 1035 * bp_get_button( $button ) 1036 * 1037 * Creates and returns a button. 1038 * Args: div_id | div_class | a_href | a_title | a_id | a_class | a_rel | a_text 1039 * 1040 * @param array $button 1041 * @return string 1042 */ 1043 function bp_get_button( $button = '' ) { 1044 $btn = new BP_Button( $button ); 1045 return apply_filters( 'bp_get_button', $btn->contents, $button ); 1046 } 1047 1048 /** 1051 1049 * bp_create_excerpt() 1052 1050 * -
trunk/bp-core/bp-core-widgets.php
r2863 r3263 22 22 global $bp; 23 23 24 extract( $args );24 extract( $args ); 25 25 26 26 echo $before_widget; … … 32 32 <div class="item-options" id="members-list-options"> 33 33 <span class="ajax-loader" id="ajax-loader-members"></span> 34 <a href="<?php echo site_url() . '/' . $bp->members->slug ?>" id="newest-members" class="selected"><?php _e( 'Newest', 'buddypress' ) ?></a> | 35 <a href="<?php echo site_url() . '/' . $bp->members->slug ?>" id="recently-active-members"><?php _e( 'Active', 'buddypress' ) ?></a> | 36 <a href="<?php echo site_url() . '/' . $bp->members->slug ?>" id="popular-members"><?php _e( 'Popular', 'buddypress' ) ?></a> 34 <a href="<?php echo site_url() . '/' . BP_MEMBERS_SLUG ?>" id="newest-members" class="selected"><?php _e( 'Newest', 'buddypress' ) ?></a> 35 | <a href="<?php echo site_url() . '/' . BP_MEMBERS_SLUG ?>" id="recently-active-members"><?php _e( 'Active', 'buddypress' ) ?></a> 36 37 <?php if ( bp_is_active( 'friends' ) ) : ?> 38 39 | <a href="<?php echo site_url() . '/' . BP_MEMBERS_SLUG ?>" id="popular-members"><?php _e( 'Popular', 'buddypress' ) ?></a> 40 41 <?php endif; ?> 42 37 43 </div> 38 44 … … 202 208 case 'newest-members': 203 209 $type = 'newest'; 204 break;210 break; 205 211 case 'recently-active-members': 206 212 $type = 'active'; 207 break;213 break; 208 214 case 'popular-members': 209 $type = 'popular'; 210 break; 215 if ( bp_is_active( 'friends' ) ) 216 $type = 'popular'; 217 else 218 $type = 'active'; 219 220 break; 211 221 } 212 222 … … 224 234 <?php if ( 'active' == $type || 'newest' == $type ) : ?> 225 235 <div class="item-meta"><span class="activity"><?php bp_member_last_active() ?></span></div> 226 <?php else : ?>236 <?php elseif ( bp_is_active( 'friends' ) ) : ?> 227 237 <div class="item-meta"><span class="activity"><?php bp_member_total_friend_count() ?></span></div> 228 238 <?php endif; ?> -
trunk/bp-friends/bp-friends-templatetags.php
r2627 r3263 115 115 } 116 116 117 function bp_add_friend_button( $potential_friend_id = false, $friend_status = false ) { 117 function bp_member_add_friend_button() { 118 global $members_template; 119 120 if ( null === $members_template->member->is_friend ) 121 $friend_status = 'not_friends'; 122 else 123 $friend_status = ( 0 == $members_template->member->is_friend ) ? 'pending' : 'is_friend'; 124 125 echo bp_get_add_friend_button( $members_template->member->id, $friend_status ); 126 } 127 add_action( 'bp_directory_members_actions', 'bp_member_add_friend_button' ); 128 129 function bp_member_total_friend_count() { 130 global $members_template; 131 132 echo bp_get_member_total_friend_count(); 133 } 134 function bp_get_member_total_friend_count() { 135 global $members_template; 136 137 if ( 1 == (int) $members_template->member->total_friend_count ) 138 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friend', 'buddypress' ), (int) $members_template->member->total_friend_count ) ); 139 else 140 return apply_filters( 'bp_get_member_total_friend_count', sprintf( __( '%d friends', 'buddypress' ), (int) $members_template->member->total_friend_count ) ); 141 } 142 143 /** 144 * bp_potential_friend_id( $user_id ) 145 * 146 * Outputs the ID of the potential friend 147 * 148 * @uses bp_get_potential_friend_id() 149 * @param <type> $user_id 150 */ 151 function bp_potential_friend_id( $user_id = 0 ) { 152 echo bp_get_potential_friend_id( $user_id ); 153 } 154 /** 155 * bp_get_potential_friend_id( $user_id ) 156 * 157 * Returns the ID of the potential friend 158 * 159 * @global object $bp 160 * @global object $friends_template 161 * @param int $user_id 162 * @return int ID of potential friend 163 */ 164 function bp_get_potential_friend_id( $user_id = 0 ) { 165 global $bp, $friends_template; 166 167 if ( empty( $user_id ) && isset( $friends_template->friendship->friend ) ) 168 $user_id = $friends_template->friendship->friend->id; 169 else if ( empty( $user_id ) && !isset( $friends_template->friendship->friend ) ) 170 $user_id = $bp->displayed_user->id; 171 172 return apply_filters( 'bp_get_potential_friend_id', (int)$user_id ); 173 } 174 175 /** 176 * bp_is_friend( $user_id ) 177 * 178 * Returns - 'is_friend', 'not_friends', 'pending' 179 * 180 * @global object $bp 181 * @param int $potential_friend_id 182 * @return string 183 */ 184 function bp_is_friend( $user_id = 0 ) { 185 global $bp; 186 187 if ( !is_user_logged_in() ) 188 return false; 189 190 if ( empty( $user_id ) ) 191 $user_id = bp_get_potential_friend_id( $user_id ); 192 193 if ( $bp->loggedin_user->id == $user_id ) 194 return false; 195 196 return apply_filters( 'bp_is_friend', friends_check_friendship_status( $bp->loggedin_user->id, $user_id ), $user_id ); 197 } 198 199 function bp_add_friend_button( $potential_friend_id = 0, $friend_status = false ) { 118 200 echo bp_get_add_friend_button( $potential_friend_id, $friend_status ); 119 201 } 120 function bp_get_add_friend_button( $potential_friend_id = false, $friend_status = false ) {202 function bp_get_add_friend_button( $potential_friend_id = 0, $friend_status = false ) { 121 203 global $bp, $friends_template; 122 204 123 if ( !is_user_logged_in() ) 205 if ( empty( $potential_friend_id ) ) 206 $potential_friend_id = bp_get_potential_friend_id( $potential_friend_id ); 207 208 $is_friend = bp_is_friend( $potential_friend_id ); 209 210 if ( empty( $is_friend ) ) 124 211 return false; 125 212 126 if ( !$potential_friend_id && $friends_template->friendship->friend ) 127 $potential_friend_id = $friends_template->friendship->friend->id; 128 else if ( !$potential_friend_id && !$friends_template->friendship->friend ) 129 $potential_friend_id = $bp->displayed_user->id; 130 131 if ( $bp->loggedin_user->id == $potential_friend_id ) 132 return false; 133 134 if ( empty( $friend_status ) ) 135 $friend_status = friends_check_friendship_status( $bp->loggedin_user->id, $potential_friend_id ); 136 137 $button = '<div class="generic-button friendship-button ' . $friend_status . '" id="friendship-button-' . $potential_friend_id . '">'; 138 if ( 'pending' == $friend_status ) { 139 $button .= '<a class="requested" href="' . $bp->loggedin_user->domain . $bp->friends->slug . '/">' . __( 'Friendship Requested', 'buddypress' ) . '</a>'; 140 } else if ( 'is_friend' == $friend_status ) { 141 $button .= '<a href="' . wp_nonce_url( $bp->loggedin_user->domain . $bp->friends->slug . '/remove-friend/' . $potential_friend_id . '/', 'friends_remove_friend' ) . '" title="' . __('Cancel Friendship', 'buddypress') . '" id="friend-' . $potential_friend_id . '" rel="remove" class="remove">' . __('Cancel Friendship', 'buddypress') . '</a>'; 142 } else { 143 $button .= '<a href="' . wp_nonce_url( $bp->loggedin_user->domain . $bp->friends->slug . '/add-friend/' . $potential_friend_id . '/', 'friends_add_friend' ) . '" title="' . __('Add Friend', 'buddypress') . '" id="friend-' . $potential_friend_id . '" rel="add" class="add">' . __('Add Friend', 'buddypress') . '</a>'; 213 switch ( $is_friend ) { 214 case 'pending' : 215 $button = array( 216 'id' => 'pending', 217 'component' => 'friends', 218 'must_be_logged_in' => true, 219 'block_self' => true, 220 'wrapper_class' => 'friendship-button pending', 221 'wrapper_id' => 'friendship-button-' . $potential_friend_id, 222 'link_class' => 'requested', 223 'link_href' => trailingslashit( $bp->loggedin_user->domain . $bp->friends->slug ), 224 'link_text' => __( 'Friendship Requested', 'buddypress' ), 225 'link_title' => __( 'Friendship Requested', 'buddypress' ) 226 ); 227 break; 228 229 case 'is_friend' : 230 $button = array( 231 'id' => 'is_friend', 232 'component' => 'friends', 233 'must_be_logged_in' => true, 234 'block_self' => true, 235 'wrapper_class' => 'friendship-button is_friend', 236 'wrapper_id' => 'friendship-button-' . $potential_friend_id, 237 'link_class' => '', 238 'link_href' => wp_nonce_url( $bp->loggedin_user->domain . $bp->friends->slug . '/remove-friend/' . $potential_friend_id . '/', 'friends_remove_friend' ), 239 'link_text' => __( 'Cancel Friendship', 'buddypress' ), 240 'link_title' => __( 'Cancel Friendship', 'buddypress' ), 241 'link_id' => 'friend-' . $potential_friend_id, 242 'link_rel' => 'remove', 243 'link_class' => 'remove' 244 ); 245 break; 246 247 default: 248 $button = array( 249 'id' => 'not_friends', 250 'component' => 'friends', 251 'must_be_logged_in' => true, 252 'block_self' => true, 253 'wrapper_class' => 'friendship-button not_friends', 254 'wrapper_id' => 'friendship-button-' . $potential_friend_id, 255 'link_class' => '', 256 'link_href' => wp_nonce_url( $bp->loggedin_user->domain . $bp->friends->slug . '/add-friend/' . $potential_friend_id . '/', 'friends_add_friend' ), 257 'link_text' => __( 'Add Friend', 'buddypress' ), 258 'link_title' => __( 'Add Friend', 'buddypress' ), 259 'link_id' => 'friend-' . $potential_friend_id, 260 'link_rel' => 'add', 261 'link_class' => 'add' 262 ); 263 break; 144 264 } 145 $button .= '</div>'; 146 147 return apply_filters( 'bp_get_add_friend_button', $button);265 266 // Filter and return the HTML button 267 return bp_get_button( apply_filters( 'bp_get_add_friend_button', $button ) ); 148 268 } 149 269 … … 209 329 } 210 330 211 function bp_total_friend_count( $user_id = false) {331 function bp_total_friend_count( $user_id = 0 ) { 212 332 echo bp_get_total_friend_count( $user_id ); 213 333 } 214 function bp_get_total_friend_count( $user_id = false) {334 function bp_get_total_friend_count( $user_id = 0 ) { 215 335 return apply_filters( 'bp_get_total_friend_count', friends_get_total_friend_count( $user_id ) ); 216 336 } 217 337 add_filter( 'bp_get_total_friend_count', 'bp_core_number_format' ); 218 338 219 function bp_friend_total_requests_count( $user_id = false) {339 function bp_friend_total_requests_count( $user_id = 0 ) { 220 340 echo bp_friend_get_total_requests_count( $user_id ); 221 341 } 222 function bp_friend_get_total_requests_count( $user_id = false) {342 function bp_friend_get_total_requests_count( $user_id = 0 ) { 223 343 global $bp; 224 344 225 if ( !$user_id)345 if ( empty( $user_id ) ) 226 346 $user_id = $bp->loggedin_user->id; 227 347 -
trunk/bp-groups/bp-groups-templatetags.php
r3247 r3263 1051 1051 return true; 1052 1052 } 1053 function bp_group_new_topic_button() { 1054 if ( bp_is_group_forum() && is_user_logged_in() && !bp_is_group_forum_topic() ) { 1055 bp_button( array ( 1056 'id' => 'new_topic', 1057 'component' => 'groups', 1058 'must_be_logged_in' => true, 1059 'block_self' => true, 1060 'wrapper_class' => 'group-button', 1061 'link_href' => '#post-new', 1062 'link_class' => '', 1063 'link_text' => __( 'New Topic', 'buddypress' ), 1064 'link_title' => __( 'New Topic', 'buddypress' ), 1065 ) ); 1066 } 1067 } 1053 1068 1054 1069 function bp_group_join_button( $group = false ) { 1055 echo bp_get_group_join_button( $group);1070 echo bp_get_group_join_button(); 1056 1071 } 1057 1072 function bp_get_group_join_button( $group = false ) { … … 1065 1080 return false; 1066 1081 1082 // Group creation was not completed or status is unknown 1067 1083 if ( !$group->status ) 1068 1084 return false; 1069 1085 1070 if ( 'hidden' == $group->status && !$group->is_member ) 1071 return false; 1072 1073 $button = '<div class="generic-button group-button ' . $group->status . '" id="groupbutton-' . $group->id . '">'; 1074 1075 switch ( $group->status ) { 1076 case 'public': 1077 if ( $group->is_member ) 1078 $button .= '<a class="leave-group" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'leave-group', 'groups_leave_group' ) . '">' . __( 'Leave Group', 'buddypress' ) . '</a>'; 1079 else 1080 $button .= '<a class="join-group" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'join', 'groups_join_group' ) . '">' . __( 'Join Group', 'buddypress' ) . '</a>'; 1081 break; 1082 1083 case 'private': 1084 if ( $group->is_member ) { 1085 $button .= '<a class="leave-group" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'leave-group', 'groups_leave_group' ) . '">' . __( 'Leave Group', 'buddypress' ) . '</a>'; 1086 } else { 1087 if ( !bp_group_has_requested_membership( $group ) ) 1088 $button .= '<a class="request-membership" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'request-membership', 'groups_request_membership' ) . '">' . __('Request Membership', 'buddypress') . '</a>'; 1089 else 1090 $button .= '<a class="membership-requested" href="' . bp_get_group_permalink( $group ) . '">' . __( 'Request Sent', 'buddypress' ) . '</a>'; 1091 } 1092 break; 1093 1094 case 'hidden': 1095 if ( $group->is_member ) 1096 $button .= '<a class="leave-group" href="' . wp_nonce_url( bp_get_group_permalink( $group ) . 'leave-group', 'groups_leave_group' ) . '">' . __( 'Leave Group', 'buddypress' ) . '</a>'; 1097 break; 1098 } 1099 1100 $button .= '</div>'; 1101 1102 return apply_filters( 'bp_get_group_join_button', $button ); 1086 // Already a member 1087 if ( $group->is_member ) { 1088 1089 // Stop sole admins from abandoning their group 1090 if ( $bp->is_item_admin && count( groups_get_group_admins( $group->id ) ) < 2 ) 1091 return false; 1092 1093 $button = array( 1094 'id' => 'leave_group', 1095 'component' => 'groups', 1096 'must_be_logged_in' => true, 1097 'block_self' => false, 1098 'wrapper_class' => 'group-button ' . $group->status, 1099 'wrapper_id' => 'groupbutton-' . $group->id, 1100 'link_class' => 'leave-group', 1101 'link_href' => wp_nonce_url( bp_get_group_permalink( $group ) . 'leave-group', 'groups_leave_group' ), 1102 'link_text' => __( 'Leave Group', 'buddypress' ), 1103 'link_title' => __( 'Leave Group', 'buddypress' ) 1104 ); 1105 1106 // Not a member 1107 } else { 1108 1109 // Show different buttons based on group status 1110 switch ( $group->status ) { 1111 case 'hidden' : 1112 return false; 1113 break; 1114 1115 case 'public': 1116 $button = array( 1117 'id' => 'join_group', 1118 'component' => 'groups', 1119 'must_be_logged_in' => true, 1120 'block_self' => false, 1121 'wrapper_class' => 'group-button ' . $group->status, 1122 'wrapper_id' => 'groupbutton-' . $group->id, 1123 'link_class' => 'join-group', 1124 'link_href' => wp_nonce_url( bp_get_group_permalink( $group ) . 'join', 'groups_join_group' ), 1125 'link_text' => __( 'Join Group', 'buddypress' ), 1126 'link_title' => __( 'Join Group', 'buddypress' ) 1127 ); 1128 break; 1129 1130 case 'private' : 1131 1132 // Member has not requested membership yet 1133 if ( !bp_group_has_requested_membership( $group ) ) { 1134 $button = array( 1135 'id' => 'request_membership', 1136 'component' => 'groups', 1137 'must_be_logged_in' => true, 1138 'block_self' => false, 1139 'wrapper_class' => 'group-button ' . $group->status, 1140 'wrapper_id' => 'groupbutton-' . $group->id, 1141 'link_class' => 'request-membership', 1142 'link_href' => wp_nonce_url( bp_get_group_permalink( $group ) . 'request-membership', 'groups_request_membership' ), 1143 'link_text' => __( 'Request Membership', 'buddypress' ), 1144 'link_title' => __( 'Request Membership', 'buddypress' ), 1145 ); 1146 1147 // Member has requested membership already 1148 } else { 1149 $button = array( 1150 'id' => 'membership_requested', 1151 'component' => 'groups', 1152 'must_be_logged_in' => true, 1153 'block_self' => false, 1154 'wrapper_class' => 'group-button pending ' . $group->status, 1155 'wrapper_id' => 'groupbutton-' . $group->id, 1156 'link_class' => 'membership-requested', 1157 'link_href' => bp_get_group_permalink( $group ), 1158 'link_text' => __( 'Request Sent', 'buddypress' ), 1159 'link_title' => __( 'Request Sent', 'buddypress' ), 1160 ); 1161 } 1162 1163 break; 1164 } 1165 } 1166 1167 // Filter and return the HTML button 1168 return bp_get_button( apply_filters( 'bp_get_group_join_button', $button ) ); 1103 1169 } 1104 1170 … … 1939 2005 1940 2006 function bp_group_request_reject_link() { 1941 global $requests_template, $groups_template; 1942 1943 echo apply_filters( 'bp_group_request_reject_link', wp_nonce_url( bp_get_group_permalink( $groups_template->group ) . '/admin/membership-requests/reject/' . $requests_template->request->id, 'groups_reject_membership_request' ) ); 1944 } 2007 echo bp_get_group_request_reject_link(); 2008 } 2009 function bp_get_group_request_reject_link() { 2010 global $requests_template, $groups_template; 2011 2012 return apply_filters( 'bp_get_group_request_reject_link', wp_nonce_url( bp_get_group_permalink( $groups_template->group ) . '/admin/membership-requests/reject/' . $requests_template->request->id, 'groups_reject_membership_request' ) ); 2013 } 1945 2014 1946 2015 function bp_group_request_accept_link() { 1947 global $requests_template, $groups_template; 1948 1949 echo apply_filters( 'bp_group_request_accept_link', wp_nonce_url( bp_get_group_permalink( $groups_template->group ) . '/admin/membership-requests/accept/' . $requests_template->request->id, 'groups_accept_membership_request' ) ); 1950 } 2016 echo bp_get_group_request_accept_link(); 2017 } 2018 function bp_get_group_request_accept_link() { 2019 global $requests_template, $groups_template; 2020 2021 return apply_filters( 'bp_get_group_request_accept_link', wp_nonce_url( bp_get_group_permalink( $groups_template->group ) . '/admin/membership-requests/accept/' . $requests_template->request->id, 'groups_accept_membership_request' ) ); 2022 } 2023 2024 function bp_group_request_user_link() { 2025 echo bp_get_group_request_user_link(); 2026 } 2027 function bp_get_group_request_user_link() { 2028 global $requests_template; 2029 2030 return apply_filters( 'bp_get_group_request_user_link', bp_core_get_userlink( $requests_template->request->user_id ) ); 2031 } 1951 2032 1952 2033 function bp_group_request_time_since_requested() { … … 1961 2042 echo apply_filters( 'bp_group_request_comment', strip_tags( stripslashes( $requests_template->request->comments ) ) ); 1962 2043 } 1963 1964 function bp_group_request_user_link() {1965 global $requests_template;1966 1967 echo apply_filters( 'bp_group_request_user_link', bp_core_get_userlink( $requests_template->request->user_id ) );1968 }1969 1970 2044 1971 2045 /************************************************************************************ -
trunk/bp-messages/bp-messages-templatetags.php
r3247 r3263 486 486 global $bp; 487 487 488 return apply_filters( 'bp_get_send_public_message_link', $bp->loggedin_user->domain . $bp->messages->slug . '/compose/?r=' . bp_core_get_username( $bp->displayed_user->user_id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ) ); 489 } 488 if ( bp_is_my_profile() || !is_user_logged_in() ) 489 return false; 490 491 return apply_filters( 'bp_get_send_private_message_link', wp_nonce_url( $bp->loggedin_user->domain . $bp->messages->slug . '/compose/?r=' . bp_core_get_username( $bp->displayed_user->user_id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ) ) ); 492 } 493 494 /** 495 * bp_send_private_message_button() 496 * 497 * Explicitly named function to avoid confusion with public messages. 498 * 499 * @uses bp_get_send_message_button() 500 * @since 1.2.6 501 */ 502 function bp_send_private_message_button() { 503 echo bp_get_send_message_button(); 504 } 490 505 491 506 function bp_send_message_button() { … … 493 508 } 494 509 function bp_get_send_message_button() { 495 global $bp; 496 497 if ( bp_is_my_profile() || !is_user_logged_in() ) 498 return false; 499 500 return apply_filters( 'bp_get_send_message_button', '<div class="generic-button"><a class="send-message" title="' . __( 'Send Message', 'buddypress' ) . '" href="' . $bp->loggedin_user->domain . $bp->messages->slug . '/compose/?r=' . bp_core_get_username( $bp->displayed_user->user_id, $bp->displayed_user->userdata->user_nicename, $bp->displayed_user->userdata->user_login ) . '">' . __( 'Send Message', 'buddypress' ) . '</a></div>' ); 510 return apply_filters( 'bp_get_send_message_button', 511 bp_get_button( array( 512 'id' => 'private_message', 513 'component' => 'messages', 514 'must_be_logged_in' => true, 515 'block_self' => true, 516 'wrapper_id' => 'send-private-message', 517 'link_href' => bp_get_send_private_message_link(), 518 'link_class' => 'send-message', 519 'link_title' => __( 'Send a private message to this user.', 'buddypress' ), 520 'link_text' => __( 'Send Private Message', 'buddypress' ) 521 ) ) 522 ); 501 523 } 502 524 -
trunk/bp-themes/bp-default/blogs/blogs-loop.php
r2712 r3263 33 33 34 34 <div class="action"> 35 <div class="generic-button blog-button visit"> 36 <a href="<?php bp_blog_permalink() ?>" class="visit" title="<?php _e( 'Visit Blog', 'buddypress' ) ?>"><?php _e( 'Visit Blog', 'buddypress' ) ?></a> 37 </div> 35 36 <?php do_action( 'bp_directory_blogs_actions' ) ?> 38 37 39 38 <div class="meta"> … … 41 40 </div> 42 41 43 <?php do_action( 'bp_directory_blogs_actions' ) ?>44 42 </div> 45 43 -
trunk/bp-themes/bp-default/functions.php
r3232 r3263 231 231 add_action( 'wp_footer', 'bp_dtheme_js_terms' ); 232 232 233 // Member Buttons 234 add_action( 'bp_member_header_actions', 'bp_add_friend_button' ); 235 add_action( 'bp_member_header_actions', 'bp_send_public_message_button' ); 236 add_action( 'bp_member_header_actions', 'bp_send_private_message_button' ); 237 238 // Group Buttons 239 add_action( 'bp_group_header_actions', 'bp_group_join_button' ); 240 add_action( 'bp_group_header_actions', 'bp_group_new_topic_button' ); 241 add_action( 'bp_directory_groups_actions', 'bp_group_join_button' ); 242 243 // Blog Buttons 244 add_action( 'bp_directory_blogs_actions', 'bp_blogs_visit_blog_button' ); 245 233 246 ?> -
trunk/bp-themes/bp-default/groups/groups-loop.php
r2712 r3263 32 32 33 33 <?php do_action( 'bp_directory_groups_item' ) ?> 34 34 35 </div> 35 36 36 37 <div class="action"> 37 <?php bp_group_join_button() ?> 38 39 <?php do_action( 'bp_directory_groups_actions' ) ?> 38 40 39 41 <div class="meta"> 42 40 43 <?php bp_group_type() ?> / <?php bp_group_member_count() ?> 44 41 45 </div> 42 46 43 <?php do_action( 'bp_directory_groups_actions' ) ?>44 47 </div> 45 48 -
trunk/bp-themes/bp-default/groups/single/admin.php
r2550 r3263 117 117 118 118 <?php if ( bp_get_group_has_avatar() ) : ?> 119 119 120 <p><?php _e( "If you'd like to remove the existing avatar but not upload a new one, please use the delete avatar button.", 'buddypress' ) ?></p> 120 121 121 <div class="generic-button" id="delete-group-avatar-button"> 122 <a class="edit" href="<?php bp_group_avatar_delete_link() ?>" title="<?php _e( 'Delete Avatar', 'buddypress' ) ?>"><?php _e( 'Delete Avatar', 'buddypress' ) ?></a> 123 </div> 122 <?php bp_button( array( 'id' => 'delete_group_avatar', 'component' => 'groups', 'wrapper_id' => 'delete-group-avatar-button', 'link_class' => 'edit', 'link_href' => bp_get_group_avatar_delete_link(), 'link_title' => __( 'Delete Avatar', 'buddypress' ), 'link_text' => __( 'Delete Avatar', 'buddypress' ) ) ); ?> 123 124 124 <?php endif; ?> 125 125 … … 249 249 <div class="action"> 250 250 251 <div class="generic-button accept"> 252 <a href="<?php bp_group_request_accept_link() ?>"><?php _e( 'Accept', 'buddypress' ); ?></a> 253 </div> 254 255 256 257 <div class="generic-button reject"> 258 <a href="<?php bp_group_request_reject_link() ?>"><?php _e( 'Reject', 'buddypress' ); ?></a> 259 </div> 251 <?php bp_button( array( 'id' => 'group_membership_accept', 'component' => 'groups', 'wrapper_class' => 'accept', 'link_href' => bp_get_group_request_accept_link(), 'link_title' => __( 'Accept', 'buddypress' ), 'link_text' => __( 'Accept', 'buddypress' ) ) ); ?> 252 253 <?php bp_button( array( 'id' => 'group_membership_reject', 'component' => 'groups', 'wrapper_class' => 'reject', 'link_href' => bp_get_group_request_reject_link(), 'link_title' => __( 'Reject', 'buddypress' ), 'link_text' => __( 'Reject', 'buddypress' ) ) ); ?> 260 254 261 255 <?php do_action( 'bp_group_membership_requests_admin_item_action' ); ?> -
trunk/bp-themes/bp-default/members/members-loop.php
r2712 r3263 30 30 <div class="item-title"> 31 31 <a href="<?php bp_member_permalink() ?>"><?php bp_member_name() ?></a> 32 32 33 <?php if ( bp_get_member_latest_update() ) : ?> 34 33 35 <span class="update"> - <?php bp_member_latest_update( 'length=10' ) ?></span> 36 34 37 <?php endif; ?> 38 35 39 </div> 40 36 41 <div class="item-meta"><span class="activity"><?php bp_member_last_active() ?></span></div> 37 42 … … 42 47 * If you want to show specific profile fields here you can, 43 48 * but it'll add an extra query for each member in the loop 44 * (only one rega dless of the number of fields you show):49 * (only one regardless of the number of fields you show): 45 50 * 46 51 * bp_member_profile_data( 'field=the field name' ); … … 50 55 51 56 <div class="action"> 52 <?php bp_member_add_friend_button() ?>53 57 54 <?php do_action( 'bp_directory_members_actions' ) ?> 58 <?php do_action( 'bp_directory_members_actions' ); ?> 59 55 60 </div> 56 61 -
trunk/bp-themes/bp-default/members/single/member-header.php
r2626 r3263 22 22 23 23 <div id="item-buttons"> 24 <?php if ( function_exists( 'bp_add_friend_button' ) ) : ?>25 <?php bp_add_friend_button() ?>26 <?php endif; ?>27 24 28 <?php if ( is_user_logged_in() && !bp_is_my_profile() && function_exists( 'bp_send_public_message_link' ) ) : ?> 29 <div class="generic-button" id="post-mention"> 30 <a href="<?php bp_send_public_message_link() ?>" title="<?php _e( 'Mention this user in a new public message, this will send the user a notification to get their attention.', 'buddypress' ) ?>"><?php _e( 'Mention this User', 'buddypress' ) ?></a> 31 </div> 32 <?php endif; ?> 25 <?php do_action( 'bp_member_header_actions' ); ?> 33 26 34 <?php if ( is_user_logged_in() && !bp_is_my_profile() && function_exists( 'bp_send_private_message_link' ) ) : ?>35 <div class="generic-button" id="send-private-message">36 <a href="<?php bp_send_private_message_link() ?>" title="<?php _e( 'Send a private message to this user.', 'buddypress' ) ?>"><?php _e( 'Send Private Message', 'buddypress' ) ?></a>37 </div>38 <?php endif; ?>39 27 </div><!-- #item-buttons --> 40 28
Note: See TracChangeset
for help on using the changeset viewer.