title = __("adminusers", "dagsopt");
$this->pluginname = $ns->pluginname;
$this->file = $ns->file;
$this->ns = $ns;
}
function start() {
add_action('manage_users_custom_column', array(&$this, 'imel_custom_column_userfield'), 15, 3);
add_filter('manage_users_columns', array(&$this, 'imel_column_userfield'), 15, 1);
add_filter('manage_users_sortable_columns', array(&$this, 'user_sortable_columns'), 15, 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() {
?>
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
}
}
function imel_custom_column_userfield($value, $column_name, $id) {
if ($column_name == 'lastlogin') {
$ss = get_user_meta($id, 'last_login', true);
if ($ss) {
$the_login_date = human_time_diff($ss);
return $the_login_date;
} else {
return " ";
}
}
if ($column_name == 'lastview') {
$ss = get_user_meta($id, 'last_view', true);
if ($ss) {
$the_login_date = human_time_diff($ss);
return $the_login_date;
} else {
return " ";
}
}
if ($column_name == 'proselect') {
$s = get_user_meta($id, 'Proselect', true);
return $s;
}
if ($column_name == 'gruppe') {
$s = get_user_meta($id, 'Gruppe', true);
return $s;
}
if ($column_name == 'id') {
return $id;
}
if ($column_name == 'imel-navn-userfield') {
return get_user_meta($id, 'Navn', true);
}
if ($column_name == 'session2') {
$ss = get_user_meta($id, 'session_tokens', true);
if ($ss) {
$s = "";
foreach ($ss as $name => $obj) {
// $s .= human_time_diff($obj['login']) . " " . $obj['ua'] . "\n";
$s .= human_time_diff($obj['login']) . "
";
}
return $s;
} else {
return "N";
}
}
if ($column_name == 'session') {
$ss = get_user_meta($id, 'session_tokens', true);
if ($ss) {
$s = "";
$i = 0;
foreach ($ss as $name => $obj) {
if ($i < 2) {
$s .= human_time_diff($obj['login']) . " ";
}
$i++;
}
return count($ss) . ' | ' . $s . '';
} else {
return "N";
}
}
if ($column_name == 'imel-login2-userfield') {
$ss = get_user_meta($id, 'session_tokens', true);
if ($ss) {
//$f = array_pop(array_keys($ss));
//return human_time_diff($ss[$f]['login']);
return "L";
} else {
return "N";
}
}
}
}
global $plug_adminusers;
$plug_adminusers = new plug_adminusers($this);
$this->dagsopt['plug_adminusers'] = $plug_adminusers;
}