Skip to:
Content

BuddyPress.org


Ignore:
Timestamp:
10/09/2008 04:37:49 AM (17 years ago)
Author:
apeatling
Message:
  • Moved all group pages to the root, rather than using a member URL
  • Introduced groupmeta support - groups_update_groupmeta / groups_delete_groupmeta / groups_get_groupmeta
  • Added widgets for site wide activity and who's online
  • Updated home theme to support display of new BuddyPress widgets
  • Added site wide activity feed support
  • Fixed bug where ajax functions would only work when logged in
  • Various other bug fixes
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/bp-core/bp-core-widgets.php

    r374 r375  
    1919        if ( is_active_widget( 'bp_core_widget_members' ) )
    2020            wp_enqueue_script( 'bp_core_widget_members-js', site_url() . '/wp-content/mu-plugins/bp-core/js/widget-members.js', array('jquery', 'jquery-livequery-pack') );     
    21     }
     21    } else {
     22       
     23        /* Widgets we specifically only want on member home bases, or blogs and not the main home blog */
     24
     25    }
     26   
     27    /* Widgets that can be enabled anywhere */
     28    register_sidebar_widget( __('Who\'s Online'), 'bp_core_widget_whos_online');
     29    register_widget_control( __('Who\'s Online'), 'bp_core_widget_whos_online_control' );   
     30
    2231}
    2332add_action( 'plugins_loaded', 'bp_core_register_widgets' );
     
    91100    <?php if ( $users ) : ?>
    92101        <div class="item-options" id="members-list-options">
    93             <img id="ajax-loader-members" src="<?php echo $bp['core']['image_base'] ?>/ajax-loader.gif" height="7" alt="Loading" style="display: none;" />
     102            <img id="ajax-loader-members" src="<?php echo $bp['core']['image_base'] ?>/ajax-loader.gif" height="7" alt="Loading" style="display: none;" /> &nbsp;
    94103            <a href="<?php echo site_url() . '/members' ?>" id="newest-members" class="selected"><?php _e("Newest") ?></a> |
    95104            <a href="<?php echo site_url() . '/members' ?>" id="recently-active-members"><?php _e("Active") ?></a> |
     
    150159<?php
    151160}
     161
     162/*** WHO'S ONLINE WIDGET *****************/
     163
     164function bp_core_widget_whos_online($args) {
     165    global $current_blog;
     166   
     167    extract($args);
     168    $options = get_blog_option( $current_blog->blog_id, 'bp_core_widget_whos_online' );
     169?>
     170    <?php echo $before_widget; ?>
     171    <?php echo $before_title
     172        . $widget_name
     173        . $after_title; ?>
     174
     175    <?php $users = BP_Core_User::get_online_users($options['max_members']) ?>
     176
     177    <?php if ( $users ) : ?>
     178            <div class="avatar-block">
     179            <?php foreach ( (array) $users as $user ) : ?>
     180                <?php if ( !bp_core_user_has_home($user->user_id) || !$user->user_id ) continue; ?>
     181                <div class="item-avatar">
     182                    <a href="<?php echo bp_core_get_userurl($user->user_id) ?>" title="<?php bp_fetch_user_fullname( $user->user_id, true ) ?>"><?php echo bp_core_get_avatar( $user->user_id, 1 ) ?></a>
     183                </div>
     184            <?php endforeach; ?>
     185            </div>
     186        </ul>
     187
     188        <?php
     189        if ( function_exists('wp_nonce_field') )
     190            wp_nonce_field( 'bp_core_widget_members', '_wpnonce-members' );
     191        ?>
     192
     193        <input type="hidden" name="bp_core_widget_members_max" id="bp_core_widget_members_max" value="<?php echo $options['max_members'] ?>" />
     194
     195    <?php else: ?>
     196        <div class="widget-error">
     197            <?php _e('There are no users currently online.') ?>
     198        </div>
     199    <?php endif; ?>
     200
     201    <?php echo $after_widget; ?>
     202<?php
     203}
     204
     205function bp_core_widget_whos_online_control() {
     206    global $current_blog;
     207   
     208    $options = $newoptions = get_blog_option( $current_blog->blog_id, 'bp_core_widget_whos_online' );
     209
     210    if ( $_POST['bp-widget-whos-online-submit'] ) {
     211        $newoptions['max_members'] = strip_tags( stripslashes( $_POST['bp-widget-whos-online-max-members'] ) );
     212    }
     213   
     214    if ( $options != $newoptions ) {
     215        $options = $newoptions;
     216        update_blog_option( $current_blog->blog_id, 'bp_core_widget_whos_online', $options );
     217    }
     218   
     219    $max_members = attribute_escape( $options['max_members'] );
     220?>
     221        <p><label for="bp-widget-whos-online-max-members"><?php _e('Maximum number of members to show:'); ?><br /><input class="widefat" id="bp-widget-whos-online-max-members" name="bp-widget-whos-online-max-members" type="text" value="<?php echo $max_members; ?>" style="width: 30%" /></label></p>
     222        <input type="hidden" id="bp-widget-whos-online-submit" name="bp-widget-whos-online-submit" value="1" />
     223<?php
     224}
Note: See TracChangeset for help on using the changeset viewer.