Skip to:
Content

BuddyPress.org

Changeset 11138


Ignore:
Timestamp:
09/21/2016 03:40:45 PM (3 years ago)
Author:
dcavins
Message:

Improve group manage members screen.

  • Change structure of list items to more closely match

members/members-loop.php.

  • Use bp_group_has_members() for each loop.
  • Added the action bp_group_manage_members_admin_item to the admin

and moderator list items. (Already was applied to the member list.)

  • Added “none found” messages for each loop to support the addition of

a search box in #6385.

  • Added bp_group_member_joined_since() meta to member list items.
  • Added pagination controls to each list when needed.

Props dcavins, hnla, mercime, r-a-y.

Fixes #7105.

Location:
trunk/src/bp-templates/bp-legacy
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/bp-templates/bp-legacy/buddypress/groups/single/admin/manage-members.php

    r11126 r11138  
    2222<div aria-live="polite" aria-relevant="all" aria-atomic="true">
    2323
    24     <div class="bp-widget">
    25         <h3><?php _e( 'Administrators', 'buddypress' ); ?></h3>
    26 
    27         <?php if ( bp_has_members( '&include='. bp_group_admin_ids() ) ) : ?>
    28 
    29         <ul id="admins-list" class="item-list single-line">
    30 
    31             <?php while ( bp_members() ) : bp_the_member(); ?>
    32             <li>
    33                 <?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
    34                 <h5>
    35                     <a href="<?php bp_member_permalink(); ?>"> <?php bp_member_name(); ?></a>
    36                     <?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
    37                     <span class="small">
    38                         <a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
    39                     </span>
    40                     <?php endif; ?>
    41                 </h5>
    42             </li>
    43             <?php endwhile; ?>
    44 
    45         </ul>
     24    <div class="bp-widget group-members-list group-admins-list">
     25        <h3 class="section-header"><?php _e( 'Administrators', 'buddypress' ); ?></h3>
     26
     27        <?php if ( bp_group_has_members( array( 'per_page' => 15, 'group_role' => array( 'admin' ), 'page_arg' => 'mlpage-admin' ) ) ) : ?>
     28
     29            <?php if ( bp_group_member_needs_pagination() ) : ?>
     30
     31                <div class="pagination no-ajax">
     32
     33                    <div id="member-count" class="pag-count">
     34                        <?php bp_group_member_pagination_count(); ?>
     35                    </div>
     36
     37                    <div id="member-admin-pagination" class="pagination-links">
     38                        <?php bp_group_member_admin_pagination(); ?>
     39                    </div>
     40
     41                </div>
     42
     43            <?php endif; ?>
     44
     45            <ul id="admins-list" class="item-list">
     46                <?php while ( bp_group_members() ) : bp_group_the_member(); ?>
     47                    <li>
     48                        <div class="item-avatar">
     49                            <?php bp_group_member_avatar_thumb(); ?>
     50                        </div>
     51
     52                        <div class="item">
     53                            <div class="item-title">
     54                                <?php bp_group_member_link(); ?>
     55                            </div>
     56                            <p class="joined item-meta">
     57                                <?php bp_group_member_joined_since(); ?>
     58                            </p>
     59                            <?php
     60
     61                            /**
     62                             * Fires inside the item section of a member admin item in group management area.
     63                             *
     64                             * @since 1.1.0
     65                             * @since 2.7.0 Added $section parameter.
     66                             *
     67                             * @param $section Which list contains this item.
     68                             */
     69                            do_action( 'bp_group_manage_members_admin_item', 'admins-list' ); ?>
     70                        </div>
     71
     72                        <div class="action">
     73                            <?php if ( count( bp_group_admin_ids( false, 'array' ) ) > 1 ) : ?>
     74                                <a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link(); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
     75                            <?php endif; ?>
     76
     77                            <?php
     78
     79                            /**
     80                             * Fires inside the action section of a member admin item in group management area.
     81                             *
     82                             * @since 2.7.0
     83                             *
     84                             * @param $section Which list contains this item.
     85                             */
     86                            do_action( 'bp_group_manage_members_admin_actions', 'admins-list' ); ?>
     87                        </div>
     88                    </li>
     89                <?php endwhile; ?>
     90            </ul>
     91
     92            <?php if ( bp_group_member_needs_pagination() ) : ?>
     93
     94                <div class="pagination no-ajax">
     95
     96                    <div id="member-count" class="pag-count">
     97                        <?php bp_group_member_pagination_count(); ?>
     98                    </div>
     99
     100                    <div id="member-admin-pagination" class="pagination-links">
     101                        <?php bp_group_member_admin_pagination(); ?>
     102                    </div>
     103
     104                </div>
     105
     106            <?php endif; ?>
     107
     108        <?php else: ?>
     109
     110        <div id="message" class="info">
     111            <p><?php _e( 'No group administrators were found.', 'buddypress' ); ?></p>
     112        </div>
    46113
    47114        <?php endif; ?>
    48 
    49115    </div>
    50116
    51     <?php if ( bp_group_has_moderators() ) : ?>
    52         <div class="bp-widget">
    53             <h3><?php _e( 'Moderators', 'buddypress' ); ?></h3>
    54 
    55             <?php if ( bp_has_members( '&include=' . bp_group_mod_ids() ) ) : ?>
    56                 <ul id="mods-list" class="item-list single-line">
    57 
    58                     <?php while ( bp_members() ) : bp_the_member(); ?>
     117    <div class="bp-widget group-members-list group-mods-list">
     118        <h3 class="section-header"><?php _e( 'Moderators', 'buddypress' ); ?></h3>
     119
     120        <?php if ( bp_group_has_members( array( 'per_page' => 15, 'group_role' => array( 'mod' ), 'page_arg' => 'mlpage-mod' ) ) ) : ?>
     121
     122            <?php if ( bp_group_member_needs_pagination() ) : ?>
     123
     124                <div class="pagination no-ajax">
     125
     126                    <div id="member-count" class="pag-count">
     127                        <?php bp_group_member_pagination_count(); ?>
     128                    </div>
     129
     130                    <div id="member-admin-pagination" class="pagination-links">
     131                        <?php bp_group_member_admin_pagination(); ?>
     132                    </div>
     133
     134                </div>
     135
     136            <?php endif; ?>
     137
     138            <ul id="mods-list" class="item-list">
     139
     140                <?php while ( bp_group_members() ) : bp_group_the_member(); ?>
    59141                    <li>
    60                         <?php echo bp_core_fetch_avatar( array( 'item_id' => bp_get_member_user_id(), 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => sprintf( __( 'Profile picture of %s', 'buddypress' ), bp_get_member_name() ) ) ); ?>
    61                         <h5>
    62                             <a href="<?php bp_member_permalink(); ?>"> <?php bp_member_name(); ?></a>
    63                             <span class="small">
    64                                 <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => bp_get_member_user_id() ) ); ?>" class="button confirm mod-promote-to-admin"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
    65                                 <a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link( bp_get_member_user_id() ); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
    66                             </span>
    67                         </h5>
     142                        <div class="item-avatar">
     143                            <?php bp_group_member_avatar_thumb(); ?>
     144                        </div>
     145
     146                        <div class="item">
     147                            <div class="item-title">
     148                                <?php bp_group_member_link(); ?>
     149                            </div>
     150                            <p class="joined item-meta">
     151                                <?php bp_group_member_joined_since(); ?>
     152                            </p>
     153                            <?php
     154
     155                            /**
     156                             * Fires inside the item section of a member admin item in group management area.
     157                             *
     158                             * @since 1.1.0
     159                             * @since 2.7.0 Added $section parameter.
     160                             *
     161                             * @param $section Which list contains this item.
     162                             */
     163                            do_action( 'bp_group_manage_members_admin_item', 'admins-list' ); ?>
     164                        </div>
     165
     166                        <div class="action">
     167                            <a href="<?php bp_group_member_promote_admin_link(); ?>" class="button confirm mod-promote-to-admin"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
     168                            <a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link(); ?>"><?php _e( 'Demote to Member', 'buddypress' ); ?></a>
     169
     170                            <?php
     171
     172                            /**
     173                             * Fires inside the action section of a member admin item in group management area.
     174                             *
     175                             * @since 2.7.0
     176                             *
     177                             * @param $section Which list contains this item.
     178                             */
     179                            do_action( 'bp_group_manage_members_admin_actions', 'mods-list' ); ?>
     180
     181                        </div>
    68182                    </li>
    69                     <?php endwhile; ?>
    70 
    71                 </ul>
    72 
    73             <?php endif; ?>
    74         </div>
    75     <?php endif; ?>
    76 
    77 
    78     <div class="bp-widget">
    79         <h3><?php _e( "Members", 'buddypress' ); ?></h3>
    80 
    81         <?php if ( bp_group_has_members( 'per_page=15&exclude_banned=0' ) ) : ?>
    82 
    83             <?php if ( bp_group_member_needs_pagination() ) : ?>
    84 
    85                 <div class="pagination no-ajax">
    86 
    87                     <div id="member-count" class="pag-count">
    88                         <?php bp_group_member_pagination_count(); ?>
    89                     </div>
    90 
    91                     <div id="member-admin-pagination" class="pagination-links">
    92                         <?php bp_group_member_admin_pagination(); ?>
    93                     </div>
    94 
    95                 </div>
    96 
    97             <?php endif; ?>
    98 
    99             <ul id="members-list" class="item-list single-line">
     183                <?php endwhile; ?>
     184
     185            </ul>
     186
     187            <?php if ( bp_group_member_needs_pagination() ) : ?>
     188
     189                <div class="pagination no-ajax">
     190
     191                    <div id="member-count" class="pag-count">
     192                        <?php bp_group_member_pagination_count(); ?>
     193                    </div>
     194
     195                    <div id="member-admin-pagination" class="pagination-links">
     196                        <?php bp_group_member_admin_pagination(); ?>
     197                    </div>
     198
     199                </div>
     200
     201            <?php endif; ?>
     202
     203        <?php else: ?>
     204
     205            <div id="message" class="info">
     206                <p><?php _e( 'No group moderators were found.', 'buddypress' ); ?></p>
     207            </div>
     208
     209        <?php endif; ?>
     210    </div>
     211
     212    <div class="bp-widget group-members-list">
     213        <h3 class="section-header"><?php _e( "Members", 'buddypress' ); ?></h3>
     214
     215        <?php if ( bp_group_has_members( array( 'per_page' => 15, 'exclude_banned' => 0 ) ) ) : ?>
     216
     217            <?php if ( bp_group_member_needs_pagination() ) : ?>
     218
     219                <div class="pagination no-ajax">
     220
     221                    <div id="member-count" class="pag-count">
     222                        <?php bp_group_member_pagination_count(); ?>
     223                    </div>
     224
     225                    <div id="member-admin-pagination" class="pagination-links">
     226                        <?php bp_group_member_admin_pagination(); ?>
     227                    </div>
     228
     229                </div>
     230
     231            <?php endif; ?>
     232
     233            <ul id="members-list" class="item-list">
    100234                <?php while ( bp_group_members() ) : bp_group_the_member(); ?>
    101235
    102236                    <li class="<?php bp_group_member_css_class(); ?>">
    103                         <?php bp_group_member_avatar_mini(); ?>
    104 
    105                         <h5>
    106                             <?php bp_group_member_link(); ?>
    107 
    108                             <?php if ( bp_get_group_member_is_banned() ) _e( '(banned)', 'buddypress' ); ?>
    109 
    110                             <span class="small">
    111 
     237                        <div class="item-avatar">
     238                            <?php bp_group_member_avatar_thumb(); ?>
     239                        </div>
     240
     241                        <div class="item">
     242                            <div class="item-title">
     243                                <?php bp_group_member_link(); ?>
     244                                <?php
     245                                if ( bp_get_group_member_is_banned() ) {
     246                                    echo ' <span class="banned">';
     247                                    _e( '(banned)', 'buddypress' );
     248                                    echo '</span>';
     249                                } ?>
     250                            </div>
     251                            <p class="joined item-meta">
     252                                <?php bp_group_member_joined_since(); ?>
     253                            </p>
     254                            <?php
     255
     256                            /**
     257                             * Fires inside the item section of a member admin item in group management area.
     258                             *
     259                             * @since 1.1.0
     260                             * @since 2.7.0 Added $section parameter.
     261                             *
     262                             * @param $section Which list contains this item.
     263                             */
     264                            do_action( 'bp_group_manage_members_admin_item', 'admins-list' ); ?>
     265                        </div>
     266
     267                        <div class="action">
    112268                            <?php if ( bp_get_group_member_is_banned() ) : ?>
    113269
     
    122278                            <?php endif; ?>
    123279
    124                                 <a href="<?php bp_group_member_remove_link(); ?>" class="button confirm"><?php _e( 'Remove from group', 'buddypress' ); ?></a>
    125 
    126                                 <?php
    127 
    128                                 /**
    129                                  * Fires inside the display of a member admin item in group management area.
    130                                 *
    131                                  * @since 1.1.0
    132                                  */
    133                                 do_action( 'bp_group_manage_members_admin_item' ); ?>
    134 
    135                             </span>
    136                         </h5>
     280                            <a href="<?php bp_group_member_remove_link(); ?>" class="button confirm"><?php _e( 'Remove from group', 'buddypress' ); ?></a>
     281
     282                            <?php
     283
     284                            /**
     285                             * Fires inside the action section of a member admin item in group management area.
     286                            *
     287                             * @since 2.7.0
     288                             *
     289                             * @param $section Which list contains this item.
     290                             */
     291                            do_action( 'bp_group_manage_members_admin_actions', 'members-list' ); ?>
     292                        </div>
    137293                    </li>
    138294
     
    159315
    160316            <div id="message" class="info">
    161                 <p><?php _e( 'This group has no members.', 'buddypress' ); ?></p>
     317                <p><?php _e( 'No group members were found.', 'buddypress' ); ?></p>
    162318            </div>
    163319
    164320        <?php endif; ?>
    165 
    166321    </div>
    167322
  • trunk/src/bp-templates/bp-legacy/css/buddypress.css

    r11130 r11138  
    14211421    list-style: none;
    14221422}
     1423#buddypress .group-members-list {
     1424    width: 100%;
     1425    margin-top: 1em;
     1426    clear: both;
     1427    overflow: auto;
     1428}
    14231429#buddypress #item-buttons:empty {
    14241430    display: none;
Note: See TracChangeset for help on using the changeset viewer.