Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Plugin Name: Sortable Spam Column */
- class SortableSpamColumn{
- function init(){
- if(is_super_admin()){
- if($_SERVER['PHP_SELF']=='/wp-admin/network/users.php'){
- add_filter('wpmu_users_columns', array('SortableSpamColumn', 'register_column'));
- add_filter('manage_users-network_sortable_columns', array('SortableSpamColumn', 'register_sortable_column'));
- add_filter('manage_users_custom_column', array('SortableSpamColumn', 'users_field'), 10, 3);
- if((isset($_GET['orderby'])) && ($_GET['orderby']=="spam")){
- add_action('pre_user_query', array('SortableSpamColumn', 'users_query') );
- }
- }elseif($_SERVER['PHP_SELF']=='/wp-admin/network/sites.php'){
- add_filter('wpmu_blogs_columns', array('SortableSpamColumn', 'register_column'));
- add_filter('manage_sites-network_sortable_columns', array('SortableSpamColumn', 'register_sortable_column'));
- add_filter('manage_sites_custom_column', array('SortableSpamColumn', 'sites_field'), 10, 2);
- if((isset($_GET['orderby'])) && ($_GET['orderby']=="spam")){
- add_action('query', array('SortableSpamColumn', 'sites_query') );
- }
- }
- }
- }
- function register_column($columns){
- $columns['spam'] = __('Spam');
- return $columns;
- }
- function register_sortable_column($columns){
- $columns['spam'] = 'spam';
- return $columns;
- }
- function users_field($dummy, $column, $userid){
- if ($column == 'spam'){
- echo get_user_option('spam', $userid);
- }
- return $dummy;
- }
- function sites_field($column, $blogid){
- if ($column == 'spam'){
- echo get_blog_status($blogid, 'spam');
- }
- return $column;
- }
- public function query_order_by(){
- $sOrder = ( isset( $_REQUEST['order'] ) && 'DESC' == strtoupper( $_REQUEST['order'] ) ) ? "DESC" : "ASC";
- return "ORDER BY spam ".$sOrder;
- }
- public function users_query($wp_user_query){
- $wp_user_query->query_orderby = SortableSpamColumn::query_order_by();
- return $wp_user_query;
- }
- public function sites_query($query){
- global $wpdb,$wp_list_table;
- if(strpos($query,"SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' ")!==FALSE){
- $query = "SELECT * FROM {$wpdb->blogs} WHERE site_id = '{$wpdb->siteid}' ".SortableSpamColumn::query_order_by();
- $per_page = (int) get_user_option( 'sites_network_per_page' );
- $query .= " LIMIT " . intval( ( $wp_list_table->get_pagenum() - 1 ) * $per_page ) . ", " . intval( $per_page );
- }
- return $query;
- }
- }
- add_filter('init' , array('SortableSpamColumn','init'));
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement