Ticket #943 -> Añadir la lista de peticiones de amistad en la lista de amigos y miembros

git-svn-id: https://192.168.0.254/svn/Proyectos.ASong2U_Web/trunk@43 cd1a4ea2-8c7f-e448-aada-19d1fee9e1d6
This commit is contained in:
David Arranz 2012-07-27 17:11:17 +00:00
parent 99a32bb286
commit ff1fc7a7fc
4 changed files with 76 additions and 12 deletions

View File

@ -543,7 +543,7 @@ function my_friends_by_default( $query_string ) {
if ( !$query_string )
$query_string = '';
if ( $query_string == '' && $bp->current_component == BP_MEMBERS_SLUG && !strpos($query_string, 'scope=')) {
$query_string .= 'type=active&action=active&user_id='.$bp->loggedin_user->id.'&scope=personal&page=1';
}
@ -552,4 +552,57 @@ function my_friends_by_default( $query_string ) {
}
add_filter( 'bp_dtheme_ajax_querystring', 'my_friends_by_default' );
function add_request_to_members( $has_members ) {
global $bp, $members_template;
if ( empty( $has_members ) )
return $has_members;
$query_string = bp_ajax_querystring( 'members' ) ;
if (bp_is_members_component() && strpos($query_string, 'scope=request') ) {
$has_members = true;
$request = array();
foreach( (array)$members_template->members as $i => $member ) {
if ($member->id == bp_loggedin_user_id())
continue;
if ( !isset( $member->is_friend ) || null === $member->is_friend )
continue;
else {
$friend_status = ( 0 == $member->is_friend ) ? 'pending' : 'is_friend';
if ($friend_status == 'pending') {
$request[] = $member;
}
}
}
// Put the members back into the global
$members_template->members = $request;
$members_template->member_count = count($request);
$members_template->total_member_count = count($request);
$members_template->pag_links = paginate_links( array(
'base' => add_query_arg( 'upage', '%#%' ),
'format' => '',
'total' => ceil( (int)$members_template->total_member_count / (int)$members_template->pag_num ),
'current' => (int) $members_template->pag_page,
'prev_text' => _x( '←', 'Member pagination previous text', 'buddypress' ),
'next_text' => _x( '→', 'Member pagination next text', 'buddypress' ),
'mid_size' => 1
) );
}
return $has_members;
}
add_filter( 'bp_has_members', 'add_request_to_members' );
?>

View File

@ -42,9 +42,9 @@
<li id="members-all"><a href="<?php echo trailingslashit( bp_get_root_domain() . '/' . bp_get_members_root_slug() ); ?>"><?php printf( __( 'All Members <span>%s</span>', 'buddypress' ), bp_get_total_member_count() ); ?></a></li>
<?php if (0) : /* bp_friend_get_total_requests_count() != "0" ):*/ ?>
<?php if (bp_friend_get_total_requests_count() != "0" ): ?>
<li><a id="members-" href="<?php bloginfo('url'); ?>/members/<?php global $current_user; get_currentuserinfo(); echo $current_user->user_login; ?>/friends"><span style="font-weight:bold;">(<?php echo bp_friend_total_requests_count() ?>)</span>&nbsp;&nbsp;Friends</a></li>
<li id="members-request"><a href="<?php echo bp_loggedin_user_domain() . bp_get_friends_slug() . '/my-friends/request/' ?>"><?php printf( __( 'Friend requests <span>%s</span>', 'buddypress' ), bp_friend_get_total_requests_count(bp_loggedin_user_id()) ); ?></a></li>
<?php endif;?>

View File

@ -12,8 +12,9 @@
?>
<?php do_action( 'bp_before_members_loop' ); ?>
<?php if ( bp_has_members( bp_ajax_querystring( 'members' ) ) ) : ?>
<?php $query_string = bp_ajax_querystring( 'members' ); ?>
<?php $is_request = strpos($query_string, 'scope=request'); ?>
<?php if ( bp_has_members( $query_string ) ) : ?>
<div id="pag-top" class="pagination">
@ -70,13 +71,19 @@
*/
?>
</div>
<div class="action">
<?php do_action( 'bp_directory_members_actions' ); ?>
</div>
<?php if (!$is_request) { ?>
<?php do_action( 'bp_directory_members_actions' ); ?>
<?php } else { ?>
<?php do_action( 'bp_friend_requests_item' ) ?>
<a class="button accept" href="<?php bp_friend_accept_request_link() ?>"><?php _e( 'Accept', 'buddypress' ); ?></a> &nbsp;
<a class="button reject" href="<?php bp_friend_reject_request_link() ?>"><?php _e( 'Reject', 'buddypress' ); ?></a>
<?php do_action( 'bp_friend_requests_item_action' ) ?>
<?php } ?>
</div>
<div class="clear"></div>
</li>
@ -87,6 +94,8 @@
<?php do_action( 'bp_after_directory_members_list' ); ?>
<?php bp_member_hidden_fields(); ?>
<div class="clear"></div>
<div id="pag-bottom" class="pagination">

View File

@ -38,14 +38,16 @@
<a class="button reject" href="<?php bp_friend_reject_request_link() ?>"><?php _e( 'Reject', 'buddypress' ); ?></a>
<?php do_action( 'bp_friend_requests_item_action' ) ?>
</div>
</li>
<?php endwhile; ?>
</ul>
<div class="clear"></div>
<?php do_action( 'bp_friend_requests_content' ) ?>
<div id="pag-bottom" class="pagination no-ajax">
<div class="pag-count" id="member-dir-count-bottom">