/** * bp_core_get_random_member() * * Returns the user_id for a user based on their username. * * @package BuddyPress Core * @param $username str Username to check. * @global $wpdb WordPress DB access object. * @return false on no match * @return int the user ID of the matched user. */ function bp_core_get_random_member() { global $bp, $wpdb; if ($bp->current_component == BP_MEMBERS_SLUG && isset($_GET['random'])) { $user = BP_Core_User::get_random_users(1); $ud = get_userdata($user['users'][0]->user_id); bp_core_redirect($bp->root_domain . '/' . BP_MEMBERS_SLUG . '/' . $ud->user_login); } }
function bp_core_members_template($type, $per_page, $max) { global $bp, $bp_the_member_query; $this->pag_page = isset($_REQUEST['upage']) ? intval($_REQUEST['upage']) : 1; $this->pag_num = isset($_REQUEST['num']) ? intval($_REQUEST['num']) : $per_page; if (isset($_REQUEST['s']) && '' != $_REQUEST['s'] && $type != 'random') { $this->members = BP_Core_User::search_users($_REQUEST['s'], $this->pag_num, $this->pag_page); } else { if (isset($_REQUEST['letter']) && '' != $_REQUEST['letter']) { $this->members = BP_Core_User::get_users_by_letter($_REQUEST['letter'], $this->pag_num, $this->pag_page); } else { switch ($type) { case 'random': $this->members = BP_Core_User::get_random_users($this->pag_num, $this->pag_page); break; case 'newest': $this->members = BP_Core_User::get_newest_users($this->pag_num, $this->pag_page); break; case 'popular': $this->members = BP_Core_User::get_popular_users($this->pag_num, $this->pag_page); break; case 'online': $this->members = BP_Core_User::get_online_users($this->pag_num, $this->pag_page); break; case 'alphabetical': $this->members = BP_Core_User::get_alphabetical_users($this->pag_num, $this->pag_page); break; case 'active': default: $this->members = BP_Core_User::get_active_users($this->pag_num, $this->pag_page); break; } } } if (!$max) { $this->total_member_count = (int) $this->members['total']; } else { $this->total_member_count = (int) $max; } $this->members = $this->members['users']; if ($max) { if ($max >= count($this->members)) { $this->member_count = count($this->members); } else { $this->member_count = (int) $max; } } else { $this->member_count = count($this->members); } $this->pag_links = paginate_links(array('base' => add_query_arg('upage', '%#%'), 'format' => '', 'total' => ceil((int) $this->total_member_count / (int) $this->pag_num), 'current' => (int) $this->pag_page, 'prev_text' => '«', 'next_text' => '»', 'mid_size' => 1)); }
function bp_friends_random_members($total_members = 5) { global $bp; if (!($user_ids = wp_cache_get('friends_random_users', 'bp'))) { $user_ids = BP_Core_User::get_random_users($total_members); wp_cache_set('friends_random_users', $user_ids, 'bp'); } ?> <?php if ($user_ids['users']) { ?> <ul class="item-list" id="random-members-list"> <?php for ($i = 0; $i < count($user_ids['users']); $i++) { ?> <li> <a href="<?php echo bp_core_get_userurl($user_ids['users'][$i]->user_id); ?> "><?php echo bp_core_get_avatar($user_ids['users'][$i]->user_id, 1); ?> </a> <h5><?php echo bp_core_get_userlink($user_ids['users'][$i]->user_id); ?> </h5> <?php if (function_exists('xprofile_get_random_profile_data')) { ?> <?php $random_data = xprofile_get_random_profile_data($user_ids['users'][$i]->user_id, true); ?> <div class="profile-data"> <p class="field-name"><?php echo $random_data[0]->name; ?> </p> <?php echo $random_data[0]->value; ?> </div> <?php } ?> <div class="action"> <?php if (function_exists('bp_add_friend_button')) { ?> <?php bp_add_friend_button($user_ids['users'][$i]->user_id); ?> <?php } ?> </div> </li> <?php } ?> </ul> <?php } else { ?> <div id="message" class="info"> <p><?php _e("There aren't enough site members to show a random sample just yet.", 'buddypress'); ?> </p> </div> <?php } }