function groups_ajax_widget_groups_list() { global $bp; check_ajax_referer('groups_widget_groups_list'); switch ($_POST['filter']) { case 'newest-groups': if (!($groups = wp_cache_get('newest_groups', 'bp'))) { $groups = groups_get_newest($_POST['max-groups'], 1); wp_cache_set('newest_groups', $groups, 'bp'); } break; case 'recently-active-groups': if (!($groups = wp_cache_get('active_groups', 'bp'))) { $groups = groups_get_active($_POST['max-groups'], 1); wp_cache_set('active_groups', $groups, 'bp'); } break; case 'popular-groups': if (!($groups = wp_cache_get('popular_groups', 'bp'))) { $groups = groups_get_popular($_POST['max-groups'], 1); wp_cache_set('popular_groups', $groups, 'bp'); } break; } if ($groups['groups']) { echo '0[[SPLIT]]'; // return valid result. foreach ((array) $groups['groups'] as $group_id) { 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"> <?php echo bp_get_group_avatar_thumb($group); ?> </div> <div class="item"> <div class="item-title"><a href="<?php echo bp_get_group_permalink($group); ?> " title="<?php echo bp_get_group_name($group); ?> "><?php echo bp_get_group_name($group); ?> </a></div> <div class="item-meta"> <span class="activity"> <?php if ('newest-groups' == $_POST['filter']) { echo bp_core_get_last_activity($group->date_created, __('created %s ago', 'buddypress')); } else { if ('recently-active-groups' == $_POST['filter']) { echo bp_core_get_last_activity(groups_get_groupmeta($group->id, 'last_activity'), __('active %s ago', 'buddypress')); } else { if ('popular-groups' == $_POST['filter']) { if ($group->total_member_count == 1) { echo $group->total_member_count . __(' member', 'buddypress'); } else { echo $group->total_member_count . __(' members', 'buddypress'); } } } } ?> </span> </div> </div> </li> <?php } } else { echo "-1[[SPLIT]]<li>" . __("No groups matched the current filter.", 'buddypress'); } }
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_get_group_permalink($group); ?> " title="<?php echo bp_get_group_name($group); ?> "><?php echo bp_get_group_avatar_thumb($group); ?> </a> </div> <div class="item"> <div class="item-title"><a href="<?php echo bp_get_group_permalink($group); ?> " title="<?php echo bp_get_group_name($group); ?> "><?php echo bp_get_group_name($group); ?> </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 } ?> </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 attribute_escape($options['max_groups']); ?> " /> <?php } else { ?> <div class="widget-error"> <?php _e('There are no groups to display.', 'buddypress'); ?> </div> <?php } ?> <?php echo $after_widget; }