Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
01/27/2011 09:15:35 PM (15 years ago)
Author:
johnjamesjacoby
Message:

First pass at replacing the 'Admin Options' menus for users and groups. Include additional functionality for moderating registered components and their associated data. Also introduce cap checks for allowing non-super-admins to have moderator abilities. Does not include action handlers, this is a first pass at getting the UI in place. Also adds button class to a few rogue links in the groups component.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-groups/bp-groups-template.php

    r3929 r3955  
    797797        global $groups_template;
    798798
    799         if ( !$group )
     799        if ( empty( $group ) )
    800800                $group =& $groups_template->group;
    801801
    802         $admins = groups_get_group_admins( $group->id );
    803 ?>
    804         <?php if ( $admins ) { ?>
    805                 <ul id="admins-list" class="item-list<?php if ( $admin_list ) { ?> single-line<?php } ?>">
     802
     803        if ( $admins = groups_get_group_admins( $group->id ) ) : ?>
     804
     805                <ul id="admins-list" class="item-list<?php if ( !empty( $admin_list ) ) : ?> single-line<?php endif; ?>">
     806
    806807                <?php foreach ( (array)$admins as $admin ) { ?>
    807                         <?php if ( $admin_list ) { ?>
     808
     809                        <?php if ( !empty( $admin_list ) ) : ?>
     810
    808811                        <li>
     812
    809813                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
    810                                 <h5><?php echo bp_core_get_userlink( $admin->user_id ) ?>  <span class="small"> &mdash; <a class="confirm admin-demote-to-member" href="<?php bp_group_member_demote_link($admin->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a></span></h5>
     814
     815                                <h5>
     816
     817                                        <?php echo bp_core_get_userlink( $admin->user_id ); ?>
     818
     819                                        <span class="small">
     820                                                <a class="button confirm admin-demote-to-member" href="<?php bp_group_member_demote_link($admin->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a>
     821                                        </span>
     822                                </h5>
    811823                        </li>
    812                         <?php } else { ?>
     824
     825                        <?php else : ?>
     826
    813827                        <li>
     828
    814829                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $admin->user_id, 'type' => 'thumb', 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
     830
    815831                                <h5><?php echo bp_core_get_userlink( $admin->user_id ) ?></h5>
    816                                 <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $admin->date_modified ), __( 'joined %s ago', 'buddypress') ); ?></span>
     832                                <span class="activity">
     833                                        <?php echo bp_core_get_last_activity( strtotime( $admin->date_modified ), __( 'joined %s ago', 'buddypress') ); ?>
     834                                </span>
    817835
    818836                                <?php if ( bp_is_active( 'friends' ) ) : ?>
     837
    819838                                        <div class="action">
    820                                                 <?php bp_add_friend_button( $admin->user_id ) ?>
     839
     840                                                <?php bp_add_friend_button( $admin->user_id ); ?>
     841
    821842                                        </div>
     843
    822844                                <?php endif; ?>
     845
    823846                        </li>
    824                         <?php } ?>
    825                 <?php } ?>
     847
     848                        <?php endif;
     849                } ?>
     850
    826851                </ul>
    827         <?php } else { ?>
     852
     853        <?php else : ?>
     854
    828855                <div id="message" class="info">
    829856                        <p><?php _e( 'This group has no administrators', 'buddypress' ); ?></p>
    830857                </div>
    831         <?php }
     858
     859        <?php endif;
    832860}
    833861
     
    835863        global $groups_template, $group_mods;
    836864
    837         if ( !$group )
     865        if ( empty( $group ) )
    838866                $group =& $groups_template->group;
    839867
    840         $group_mods = groups_get_group_mods( $group->id );
    841         ?>
    842                 <?php if ( $group_mods ) { ?>
    843                         <ul id="mods-list" class="item-list<?php if ( $admin_list ) { ?> single-line<?php } ?>">
    844                         <?php foreach ( (array)$group_mods as $mod ) { ?>
    845                                 <?php if ( $admin_list ) { ?>
    846                                 <li>
    847                                         <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
    848                                         <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?>  <span class="small"> &mdash; <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => $mod->user_id ) ) ?>" class="confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a> | <a class="confirm mod-demote-to-member" href="<?php bp_group_member_demote_link($mod->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a></span></h5>
    849                                 </li>
    850                                 <?php } else { ?>
    851                                 <li>
    852                                         <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
    853                                         <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?></h5>
    854                                         <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $mod->date_modified ), __( 'joined %s ago', 'buddypress') ); ?></span>
    855 
    856                                         <?php if ( bp_is_active( 'friends' ) ) : ?>
    857                                                 <div class="action">
    858                                                         <?php bp_add_friend_button( $mod->user_id ) ?>
    859                                                 </div>
    860                                         <?php endif; ?>
    861                                 </li>
    862                                 <?php } ?>
     868        if ( $group_mods = groups_get_group_mods( $group->id ) ) { ?>
     869
     870                <ul id="mods-list" class="item-list<?php if ( $admin_list ) { ?> single-line<?php } ?>">
     871
     872                <?php foreach ( (array)$group_mods as $mod ) { ?>
     873
     874                        <?php if ( !empty( $admin_list ) ) { ?>
     875
     876                        <li>
     877
     878                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'width' => 30, 'height' => 30, 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
     879
     880                                <h5>
     881                                        <?php echo bp_core_get_userlink( $mod->user_id ); ?>
     882
     883                                        <span class="small">
     884                                                <a href="<?php bp_group_member_promote_admin_link( array( 'user_id' => $mod->user_id ) ) ?>" class="button confirm mod-promote-to-admin" title="<?php _e( 'Promote to Admin', 'buddypress' ); ?>"><?php _e( 'Promote to Admin', 'buddypress' ); ?></a>
     885                                                <a class="button confirm mod-demote-to-member" href="<?php bp_group_member_demote_link($mod->user_id) ?>"><?php _e( 'Demote to Member', 'buddypress' ) ?></a>
     886                                        </span>
     887                                </h5>
     888                        </li>
     889
     890                        <?php } else { ?>
     891
     892                        <li>
     893
     894                                <?php echo bp_core_fetch_avatar( array( 'item_id' => $mod->user_id, 'type' => 'thumb', 'alt' => __( 'Profile picture of %s', 'buddypress' ) ) ) ?>
     895
     896                                <h5><?php echo bp_core_get_userlink( $mod->user_id ) ?></h5>
     897
     898                                <span class="activity"><?php echo bp_core_get_last_activity( strtotime( $mod->date_modified ), __( 'joined %s ago', 'buddypress') ); ?></span>
     899
     900                                <?php if ( bp_is_active( 'friends' ) ) : ?>
     901
     902                                        <div class="action">
     903                                                <?php bp_add_friend_button( $mod->user_id ) ?>
     904                                        </div>
     905
     906                                <?php endif; ?>
     907
     908                        </li>
     909
    863910                        <?php } ?>
    864                         </ul>
    865                 <?php } else { ?>
    866                         <div id="message" class="info">
    867                                 <p><?php _e( 'This group has no moderators', 'buddypress' ); ?></p>
    868                         </div>
    869                 <?php }
     911                <?php } ?>
     912
     913                </ul>
     914
     915        <?php } else { ?>
     916
     917                <div id="message" class="info">
     918                        <p><?php _e( 'This group has no moderators', 'buddypress' ); ?></p>
     919                </div>
     920
     921        <?php }
    870922}
    871923
     
    24272479                return apply_filters( 'bp_get_current_group_name', $name );
    24282480        }
     2481
     2482function bp_groups_action_link( $action = '', $query_args = '', $nonce = false ) {
     2483        echo bp_get_groups_action_link( $action, $query_args, $nonce );
     2484}
     2485        function bp_get_groups_action_link( $action = '', $query_args = '', $nonce = false ) {
     2486                global $bp;
     2487
     2488                // Must be displayed user
     2489                if ( empty( $bp->groups->current_group->id ) )
     2490                        return;
     2491
     2492                // Append $action to $url if there is no $type
     2493                if ( !empty( $action ) )
     2494                        $url = $bp->root_domain . '/' . $bp->groups->root_slug . '/' . $bp->groups->current_group->slug . '/' . $action;
     2495                else
     2496                        $url = $bp->root_domain . '/' . $bp->groups->root_slug . '/' . $bp->groups->current_group->slug;
     2497
     2498                // Add a slash at the end of our user url
     2499                $url = trailingslashit( $url );
     2500
     2501                // Add possible query arg
     2502                if ( !empty( $query_args ) && is_array( $query_args ) )
     2503                        $url = add_query_arg( $query_args, $url );
     2504
     2505                // To nonce, or not to nonce...
     2506                if ( true === $nonce )
     2507                        $url = wp_nonce_url( $url );
     2508                elseif ( is_string( $nonce ) )
     2509                        $url = wp_nonce_url( $url, $nonce );
     2510
     2511                // Return the url, if there is one
     2512                if ( !empty( $url ) )
     2513                        return $url;
     2514        }
    24292515?>
Note: See TracChangeset for help on using the changeset viewer.