mirror of
https://gh.wpcy.net/https://github.com/buddypress/buddypress.git
synced 2026-05-31 05:04:29 +08:00
You should install all BuddyPress component plugin files in /wp-content/plugins/buddypress/ however you can call the "buddypress" dir anything you like. BuddyPress plugins can then be activated and deactivated through the "Plugins" admin panel. If you are upgrading to this version please move all BuddyPress plugins to the location mentioned above and then update. You will also need to make sure your themes reference the new locations. There are two constants you should use "BP_PLUGIN_DIR" and "BP_PLUGIN_URL". You will need to re-activate the plugins via the "Plugins" admin panel. Again, from now on BuddyPress will ONLY work with WPMU 2.7.1+ so please use the 2.7 branch from the WordPress MU SVN repo. Link: http://trac.mu.wordpress.org/browser/branches/2.7 git-svn-id: https://buddypress.svn.wordpress.org/trunk@1303 cdf35c40-ae34-48e0-9cc9-0c9da1808c22
113 lines
4.4 KiB
PHP
113 lines
4.4 KiB
PHP
<?php
|
|
|
|
/* Register widgets for groups component */
|
|
function groups_register_widgets() {
|
|
global $current_blog;
|
|
|
|
/* Site welcome widget */
|
|
wp_register_sidebar_widget( 'buddypress-groups', __( 'Groups', 'buddypress' ), 'groups_widget_groups_list' );
|
|
wp_register_widget_control( 'buddypress-groups', __( 'Groups', 'buddypress' ), 'groups_widget_groups_list_control' );
|
|
|
|
/* Include the javascript needed for activated widgets only */
|
|
if ( is_active_widget( 'groups_widget_groups_list' ) ) {
|
|
wp_enqueue_script( 'groups_widget_groups_list-js', BP_PLUGIN_URL . '/bp-groups/js/widget-groups.js', array('jquery', 'jquery-livequery-pack') );
|
|
wp_enqueue_style( 'groups_widget_members-css', BP_PLUGIN_URL . '/bp-groups/css/widget-groups.css' );
|
|
}
|
|
}
|
|
add_action( 'plugins_loaded', 'groups_register_widgets' );
|
|
|
|
|
|
/*** GROUPS WIDGET *****************/
|
|
|
|
function groups_widget_groups_list($args) {
|
|
global $current_blog, $bp;
|
|
|
|
extract($args);
|
|
$options = get_blog_option( $current_blog->blog_id, 'groups_widget_groups_list' );
|
|
?>
|
|
<?php echo $before_widget; ?>
|
|
<?php echo $before_title
|
|
. $widget_name
|
|
. $after_title; ?>
|
|
|
|
<?php
|
|
if ( !$groups = wp_cache_get( 'popular_groups', 'bp' ) ) {
|
|
$groups = groups_get_popular( $options['max_groups'], 1 );
|
|
wp_cache_set( 'popular_groups', $groups, 'bp' );
|
|
}
|
|
?>
|
|
|
|
<?php if ( $groups['groups'] ) : ?>
|
|
<div class="item-options" id="groups-list-options">
|
|
<img id="ajax-loader-groups" src="<?php echo $bp->groups->image_base ?>/ajax-loader.gif" height="7" alt="<?php _e( 'Loading', 'buddypress' ) ?>" style="display: none;" />
|
|
<a href="<?php echo site_url() . '/groups' ?>" id="newest-groups"><?php _e("Newest", 'buddypress') ?></a> |
|
|
<a href="<?php echo site_url() . '/groups' ?>" id="recently-active-groups"><?php _e("Active", 'buddypress') ?></a> |
|
|
<a href="<?php echo site_url() . '/groups' ?>" id="popular-groups" class="selected"><?php _e("Popular", 'buddypress') ?></a>
|
|
</div>
|
|
<ul id="groups-list" class="item-list">
|
|
<?php foreach ( $groups['groups'] as $group_id ) : ?>
|
|
<?php
|
|
if ( !$group = wp_cache_get( 'groups_group_nouserdata_' . $group_id->group_id, 'bp' ) ) {
|
|
$group = new BP_Groups_Group( $group_id->group_id, false, false );
|
|
wp_cache_set( 'groups_group_nouserdata_' . $group_id->group_id, $group, 'bp' );
|
|
}
|
|
?>
|
|
<li>
|
|
<div class="item-avatar">
|
|
<a href="<?php echo bp_group_permalink( $group ) ?>" title="<?php echo $group->name ?>"><img src="<?php echo $group->avatar_thumb; ?>" alt="<?php echo $group->name ?> Avatar" class="avatar" /></a>
|
|
</div>
|
|
|
|
<div class="item">
|
|
<div class="item-title"><a href="<?php echo bp_group_permalink( $group ) ?>" title="<?php echo $group->name ?>"><?php echo $group->name ?></a></div>
|
|
<div class="item-meta">
|
|
<span class="activity">
|
|
<?php
|
|
if ( 1 == $group->total_member_count )
|
|
echo $group->total_member_count . __(' member', 'buddypress');
|
|
else
|
|
echo $group->total_member_count . __(' members', 'buddypress');
|
|
?>
|
|
</span></div>
|
|
</div>
|
|
</li>
|
|
<?php $counter++; ?>
|
|
<?php endforeach; ?>
|
|
</ul>
|
|
|
|
<?php
|
|
if ( function_exists('wp_nonce_field') )
|
|
wp_nonce_field( 'groups_widget_groups_list', '_wpnonce-groups' );
|
|
?>
|
|
|
|
<input type="hidden" name="groups_widget_max" id="groups_widget_max" value="<?php echo $options['max_groups'] ?>" />
|
|
|
|
<?php else: ?>
|
|
<div class="widget-error">
|
|
<?php _e('There are no groups to display.', 'buddypress') ?>
|
|
</div>
|
|
<?php endif; ?>
|
|
|
|
<?php echo $after_widget; ?>
|
|
<?php
|
|
}
|
|
|
|
function groups_widget_groups_list_control() {
|
|
global $current_blog;
|
|
|
|
$options = $newoptions = get_blog_option( $current_blog->blog_id, 'groups_widget_groups_list');
|
|
|
|
if ( $_POST['groups-widget-groups-list-submit'] ) {
|
|
$newoptions['max_groups'] = strip_tags( stripslashes( $_POST['groups-widget-groups-list-max'] ) );
|
|
}
|
|
|
|
if ( $options != $newoptions ) {
|
|
$options = $newoptions;
|
|
update_blog_option( $current_blog->blog_id, 'groups_widget_groups_list', $options );
|
|
}
|
|
|
|
$max_groups = attribute_escape( $options['max_groups'] );
|
|
?>
|
|
<p><label for="groups-widget-groups-list-max"><?php _e('Maximum number of groups to show:', 'buddypress'); ?><br /> <input class="widefat" id="groups-widget-groups-list-max" name="groups-widget-groups-list-max" type="text" value="<?php echo $max_groups; ?>" style="width: 30%" /></label></p>
|
|
<input type="hidden" id="groups-widget-groups-list-submit" name="groups-widget-groups-list-submit" value="1" />
|
|
<?php
|
|
}
|