'; if (isset($_GET['mass_delete_users_options'])) { echo '[ Reset To Defaults ]'; } else { echo '[ Settings ]';} echo ''; echo "

".__('Mass Delete Users')."

"; if(!isset($mass_delete_users_options)) {$mass_delete_users_options = bb_get_option('mass_delete_users_options'); } if (!isset($mass_delete_users_options['mass_delete_users_columns']) || is_array($mass_delete_users_options['mass_delete_users_columns'])) { $mass_delete_users_options['mass_delete_users_columns']=$columns; bb_update_option('mass_delete_users_options',$mass_delete_users_options); } $mass_delete_users_columns=explode(",",strtolower($mass_delete_users_options['mass_delete_users_columns'])); array_walk($mass_delete_users_columns ,create_function('&$arr','$arr=trim($arr);')); if (isset($_GET['mass_delete_users_options'])) { ?>
" method="post" id="mass-delete-users-options">
Mass Delete Column Order - default:
Mass Delete Users CSS


hide_errors(); // bbPress still has some db function issues with topic delete/undelete foreach ($_POST['mass_delete_users_delete_users'] as $bb_user_id) : // Check the permissions on each $bb_user_id = (int) $bb_user_id; // $bb_user_id = $bbdb->get_var("SELECT post_id FROM $bbdb->posts WHERE post_id = $bb_post"); // $authordata = bb_get_usermeta( $bbdb->get_var("SELECT poster_id FROM $bbdb->posts WHERE ID = $bb_user_id") ); if ( bb_current_user_can('edit_users') ) { // , $bb_user_id) ) { if ( !empty( $_POST['mass_delete_users_delete_button'] ) ) {bb_delete_user( $bb_user_id, 0 );} ++$i; } endforeach; $bbdb->show_errors(); // bbPress still has some db function issues with topic delete/undelete // $bbdb->flush(); // global $bb_cache,$bb_post_cache, $bb_topic_cache; unset($bb_cache); unset($bb_post_cache); unset($bb_topic_cache); echo '

'; if ( !empty( $_POST['mass_delete_users_delete_button'] ) ) {printf(__('%s users deleted.'), $i);} if ( !empty( $_POST['mass_delete_users_undelete_button'] ) ) {printf(__('%s users undeleted.'), $i);} echo '

'; endif; if (isset($_GET['user_text'])) {$user_text = $bbdb->escape(substr($_GET['user_text'],0,50));} else {$user_text="";} if (isset($_GET['user_status'])) {$user_status = $bbdb->escape(substr($_GET['user_status'],0,3));} else {$user_status="0";} if (isset($_GET['user_role'])) {$user_role = $bbdb->escape(substr($_GET['user_role'],0,30));} else {$user_role="";} if (isset($_GET['user_order'])) {$user_order = ($_GET['user_order']=="ASC") ? "ASC" : "DESC";} else {$user_order="DESC";} if (isset($_GET['no_posts'])) {$no_posts = intval($_GET['no_posts']);} else {$no_posts = 0;} if (isset($_GET['exact_match'])) {$exact_match = intval($_GET['exact_match']);} else {$exact_match = 0;} if (isset($_GET['per_page'])) {$per_page = intval($_GET['per_page']);} else {$per_page="20";} $offset = (intval($page) -1) * $per_page; // if (isset($_GET['page'])) {} else {$offset = 0;} $query=""; if ($user_role) { if ($user_role=="inactive") {$norole=" OR meta_value IS NULL ";} else {$norole="";} $query.="LEFT JOIN $bbdb->usermeta as meta ON ID=meta.user_id AND meta_key='$bbdb->prefix"."capabilities' WHERE (meta_value LIKE '%:\"$user_role\";%' $norole)"; } if ($user_text) { if (empty($query)) {$query.=" WHERE ";} else {$query.=" AND ";} $query.="("; $query.=($exact_match) ? " (user_login REGEXP '[[:<:]]".$user_text."[[:>:]]') " : " (user_login LIKE '%$user_text%') "; $query.=" OR "; $query.=($exact_match) ? " (display_name REGEXP '[[:<:]]".$user_text."[[:>:]]') " : " (display_name LIKE '%$user_text%') "; $query.=" OR "; $query.=($exact_match) ? " (user_email REGEXP '[[:<:]]".$user_text."[[:>:]]') " : " (user_email LIKE '%$user_text%') "; $query.=")"; } // users with no posts or comments if ($no_posts) { if (empty($query)) {$query.=" WHERE ";} else {$query.=" AND ";} $query.=" poster_id is NULL "; $query=" LEFT JOIN $bbdb->posts ON ID=poster_id ".$query; if (!empty($bb->wp_table_prefix)) { $query="LEFT JOIN $bb->wp_table_prefix"."comments as comments ON ID=comments.user_id ".$query." AND comments.user_id is NULL "; } } $query="FROM $bbdb->users ".$query; $sort=""; if (isset($_GET['user_order'])) {$user_order=$_GET['user_order'];} if (empty($user_order) || $user_order=="oldest") {$sort=" ORDER BY user_registered ASC ";} elseif ($user_order=="newest") {$sort=" ORDER BY user_registered DESC ";} elseif ($user_order=="username") {$sort=" ORDER BY user_login ASC ";} elseif ($user_order=="email") {$sort=" ORDER BY user_email ASC ";} $restrict=" LIMIT $offset,$per_page"; // print $restrict; // echo $query; // diagnostic $total = $bbdb->get_var("SELECT COUNT(ID) ".$query); // intval(bb_count_last_query($query)); if ($total) {$user_ids=$bbdb->get_col("SELECT ID ".$query.$sort.$restrict);} else {unset($user_ids);} // print $query.$sort.$restrict; if (!empty($user_ids)) { foreach ($user_ids as $user_id) {$users[$user_id]->ID=$ids[$user_id]=$user_id;} bb_cache_users($ids); $ids=join(',', $ids); $query="SELECT poster_id,count(post_id) as posts FROM $bbdb->posts WHERE poster_id IN ($ids) GROUP BY poster_id"; $posts=$bbdb->get_results($query); if (!empty($posts)) {foreach ($posts as $post) {$users[$post->poster_id]->posts=$post->posts;}} unset($posts); $query="SELECT poster_id, max(post_time) as last FROM $bbdb->posts WHERE poster_id IN ($ids) GROUP BY poster_id"; $posts=$bbdb->get_results($query); if (!empty($posts)) {foreach ($posts as $post) {$users[$post->poster_id]->last=$post->last;}} unset($posts); if (!empty($bb->wp_table_prefix)) { $query="SELECT user_id,count(comment_ID) as comments FROM $bb->wp_table_prefix"."comments WHERE user_id IN ($ids) GROUP BY user_id"; $comments=$bbdb->get_results($query); if (!empty($comments)) {foreach ($comments as $comment) {$users[$comment->user_id]->comments=$comment->comments;}} unset($comments); } } // if ($user_status!="all") {$query.=(($post_text || $users) ? " AND " : "")." user_status = '$user_status' ";} // $restrict=" ORDER BY post_time $user_order LIMIT $offset,$per_page"; ?>
" method="get" id="post-search-form" class="search-form">
Forum …
Tag…
Post Author…
*/ ?>
User Role …
Sort Order …
Per Page
No Posts />
Exact Match />
'" class=submit type="reset" name="reset" value="" />

[ ".(($total>$per_page) ? "showing ".(($page-1)*$per_page+1)." - ".(($total<$page*$per_page) ? $total : $page*$per_page)." of " : "")."$total users found ] ".''.get_page_number_links( $page, $total )."

";} if (!empty($users)) { if (empty($bb->wp_table_prefix)) {unset($mass_delete_users_columns[array_search('comments',$mass_delete_users_columns)]);} // lazy cache loading to radically reduce query count /* foreach ($bb_posts as $bb_post) {$users[$bb_post->poster_id]=$bb_post->poster_id; $topics[$bb_post->topic_id]=$bb_post->topic_id;} $users=join(',', $users); $topics=join(',', $topics); $users=$bbdb->get_results("SELECT ID,user_login,user_registered FROM $bbdb->users WHERE ID IN ($users)"); $users = bb_append_meta( $users, 'user' ); unset($users); $topics=$bbdb->get_results("SELECT topic_id,topic_title,topic_slug FROM $bbdb->topics WHERE topic_id IN ($topics)"); $topics = bb_append_meta( $topics, 'topic' ); unset($topics); */ echo '
'; bb_nonce_field('mass-delete-users-bulk-users'); echo ''; foreach ($mass_delete_users_columns as $position) : switch ($position) : case "checkbox" : echo ''; break; // checkbox , id, name, email, role, posts, comments, last, registered, actions // checkbox,id,login,name,email,url,registered,status,role,posts,comments,last case "id" : echo ''; break; case "user" : echo ''; break; case "email" : echo ''; break; case "url" : echo ''; break; case "registered" : echo ''; break; case "status" : echo ''; break; case "role" : echo ''; break; case "posts" : echo ''; break; case "comments" : echo ''; break; case "last" : echo ''; break; case 'actions' : echo ''; break; endswitch; endforeach; echo ''; foreach ($users as $id=>$data) { $user=bb_get_user($id); /* $bb_post_cache[$bb_post->post_id]=$bb_post; // yes this is naughty but lazy workaround for using internal functions without extra mysql queries switch ( $bb_post->user_status ) : case 0 : $del_class=''; break; case 1 : $del_class= 'deleted'; break; case 2 : $del_class= 'spam'; break; default: $del_class=apply_filters( 'post_del_class', $bb_post->user_status, $bb_post->post_id ); endswitch; */ $del_class=''; ?> > "; switch ($position) : case "checkbox" : if ( bb_current_user_can('edit_users') ) {echo "";} break; case "id" : echo $id; break; case "user" : echo '' . mdu_overflow($user->user_login,20) . ''; // if ($user->display_name && $user->user_login!=$user->display_name) {echo " [".mdu_overflow($user->display_name,25)."] ";} break; case "email" : echo mdu_overflow($user->user_email,25); break; case "url" : echo $user->user_url; break; case "registered" : echo "".date( 'Y-m-d', bb_offset_time( bb_gmtstrtotime( $user->user_registered ) ) ).""; break; case "status" : echo $user->user_status; break; case "role" : $capabilities=(isset($user->bb_capabilities)) ? $user->bb_capabilities : $user->capabilities; // makes compatibile for 0.8.x - 1.0a if (is_array($capabilities)) {echo reset(array_keys($capabilities));} else {echo "(none)";} break; case "posts" : echo empty($data->posts) ? 0 : $data->posts; break; case "comments" : echo empty($data->comments) ? 0 : $data->comments; break; case "last" : if (!empty($data->last)) { echo "".date( 'Y-m-d', bb_offset_time( bb_gmtstrtotime( $data->last ) ) ).""; } else {echo "(none)";} break; case 'actions' : echo "?"; break; endswitch; echo ""; endforeach; echo ''; } // end foreach unset($bb_posts); ?>
' . __('ID') . '' . __('User') . '' . __('Email') . '' . __('URL') . '' . __('Registered') . '' . __('Status') . '' . __('Role') . '' . __('Posts') . '' . __('Comments') . '' . __('Last Post') . '' . __('Actions') . '
5) {echo $pagelinks;} ?>

'); return false } return confirm('')" /> " onclick="var numchecked = getNumChecked(document.getElementById('deleteusers')); if(numchecked < 1) { alert(''); return false } return confirm('')" /> */ ?>

".__('No results found for exact match.')." "; echo ' '.__("Try non-exact?").' '; } else {echo "".__('No results found.')."";} ?>

>


%3$s'), bb_get_post_time(), get_topic_link( $bb_post->topic_id ), get_topic_title( $bb_post->topic_id ));?> IP:
'.$mass_delete_users_options['mass_delete_users_css'].''; ?> $limit) {$text=substr($text,0,$limit)."…";} return $text; } function mdu_install() { global $bbdb; $bbdb->query("CREATE TABLE IF NOT EXISTS `bb_users_deleted` CHARSET utf8 COLLATE utf8_general_ci SELECT * FROM $bbdb->users WHERE 1=0"); $bbdb->query("CREATE INDEX IF NOT EXISTS `ID` ON `bb_users_deleted` (`ID`)"); $bbdb->query("CREATE TABLE IF NOT EXISTS `bb_usermeta_deleted` ( `user_id` bigint(20) UNSIGNED NOT NULL default '0', `meta_key` varchar(255) default NULL, `meta_value` longtext default NULL, INDEX (`user_id`), ) CHARSET utf8 COLLATE utf8_general_ci"); } /* // This will show all users older than at least a month who have never posted: SELECT ID,user_login,user_registered FROM wp_users LEFT JOIN bb_posts ON ID=poster_id WHERE user_registered