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;
}