Data hosted with ♥ by Pastebin.com - Download Raw - See Original
  1. <?php
  2. /*
  3. Plugin Name: Member List
  4. */
  5.  
  6. add_action('bb_custom_view','member_list_view');        //  register the view function
  7. $query=array('started' => '>0','append_meta'=>false,'sticky'=>false,'topic_status'=>'all','order_by'=>1,'per_page'=>1); // fake query for bbPress :-(
  8. bb_register_view("member-list","Member List",$query,false); // register the view itself and it's name and url stub
  9.  
  10. function member_list_view($view='') {
  11.     if (!empty($view) && $view!='member-list')  {return;}   //  is this view for us? no? return
  12.     bb_send_headers();          //  send any appropriate http headers
  13.     bb_get_header();            // send any bbpress html headers like meta, css, etc.  
  14.     member_list();          // all the queries/output happens in this below
  15.     bb_get_footer();            //  send any bbPress footer stuff
  16.     exit;                   // all done!
  17. }
  18.  
  19. function member_list() {   
  20.     global $bbdb,  $view_count, $page;  //  bbPress uses $page for the current page number, $view_count for total overall
  21.     $limit = bb_get_option('page_topics');  //  how many users per page
  22.     $offset = ($page-1)*$limit;         //  calculate the user number to start at for the current page
  23.    
  24.     $query="FROM $bbdb->users as t1
  25.         LEFT JOIN $bbdb->usermeta as t2 on t1.ID=t2.user_id
  26.         WHERE user_status=0 AND (meta_key='$bbdb->prefix"."capabilities'
  27.             AND NOT (meta_value LIKE '%inactive%' OR meta_value LIKE '%blocked%')) ";      
  28.    
  29.     $restrict = " ORDER BY user_registered DESC LIMIT $limit OFFSET $offset";
  30.  
  31.     $view_count  = $bbdb->get_var("SELECT count(*) ".$query);   //  calculate total number of users overall
  32.     $users = $bbdb->get_col("SELECT ID ".$query.$restrict); // get user IDs for just this page
  33.     bb_cache_users(implode(',',$users));      // cache all users about to be displayed for other bbPress functions
  34.    
  35.     // just a simple output example
  36.  
  37.     echo "<h2>
  38.         Member List ($view_count total,
  39.         showing ".(1+($page-1)*$limit)." - ".($page*$limit>$view_count ? $view_count : $page*$limit)
  40.     .")</h2><br /><br />";
  41.  
  42.     echo "<table id='latest'>";
  43.     foreach ($users as $user_id) {
  44.         echo "<tr>";
  45.         echo  "<tr".get_alt_class('users').">";
  46.         $user=bb_get_user($user_id);
  47.         echo "<td valign='middle'>".bb_get_avatar( $user->ID, 32 )." $user->user_login [$user->ID]</td>";
  48.         echo "<td><a href='".get_user_profile_link($user_id)."'>profile</a></td>";
  49.         $link=get_user_link($user_id); if (!empty($link)) {echo "<td><a href='$link'>$link</a></td>";} else {echo "<td> </td>";}
  50.         echo "</tr>";
  51.     }  
  52.     echo "</table><br />";
  53.  
  54.     view_pages();           //  pagination links
  55. }
  56.  
  57. ?>