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