title = __("adminusers", "dagsopt"); $this->pluginname = $ns->pluginname; $this->file = $ns->file; $this->ns = $ns; } function start() { add_filter('manage_users_custom_column', array(&$this, 'imel_custom_column_userfield'), 12, 3); add_filter('manage_users_columns', array(&$this, 'imel_column_userfield'), 12, 1); add_filter('manage_users_sortable_columns', array(&$this, 'user_sortable_columns'), 14, 1); if (is_admin()) { //prolly not necessary, but I do want to be sure this only runs within the admin add_action('pre_user_query', array(&$this, 'my_user_query')); } } function help() { ?>
$obj) { if ($i < 2) { $s .= human_time_diff($obj['login']) . " "; } $i++; } return count($ss) . ' | ' . $s . ''; } else { return "N"; } } return $value; } function user_sortable_columns($columns) { $columns['session'] = 'session'; $columns['id'] = 'id'; $columns['gruppe'] = 'gruppe'; $columns['proselect'] = 'proselect'; $columns['lastlogin'] = 'lastlogin'; $columns['lastview'] = 'lastview'; return $columns; } function my_user_query($userquery) { if ('session' == $userquery->query_vars['orderby']) { global $wpdb; $userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias $userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY length(alias.meta_value) " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } if ('proselect' == $userquery->query_vars['orderby']) { global $wpdb; $userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias $userquery->query_where .= " AND alias.meta_key = 'Proselect' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } if ('gruppe' == $userquery->query_vars['orderby']) { global $wpdb; $userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias $userquery->query_where .= " AND alias.meta_key = 'Gruppe' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } if ('lastlogin' == $userquery->query_vars['orderby']) { global $wpdb; $userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias $userquery->query_where .= " AND alias.meta_key = 'last_login' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } if ('lastview' == $userquery->query_vars['orderby']) { global $wpdb; $userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias $userquery->query_where .= " AND alias.meta_key = 'last_view' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY alias.meta_value " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } if ('id' == $userquery->query_vars['orderby']) { global $wpdb; //$userquery->query_from .= " LEFT OUTER JOIN $wpdb->usermeta AS alias ON ($wpdb->users.ID = alias.user_id) "; //note use of alias //$userquery->query_where .= " AND alias.meta_key = 'session_tokens' "; //which meta are we sorting with? $userquery->query_orderby = " ORDER BY ID " . ($userquery->query_vars["order"] == "ASC" ? "asc " : "desc "); //set sort order } } } global $plug_adminusers; $plug_adminusers = new plug_adminusers($this); $this->dagsopt['plug_adminusers'] = $plug_adminusers; }