prefix.'users';
$sql = "ALTER TABLE $users_table_name ADD whitelist INT NOT NULL DEFAULT '0';";
$wpdb->query($sql);
}
//Filters
add_filter('manage_users_columns', 'add_albus_column');
add_filter('manage_users_custom_column', 'manage_albus_column', 10, 3);
function add_albus_column($columns) {
/*
if(isset($_GET['order'])) {
if($_GET['order'] == 'asc') {
$order = 'desc';
}
else {
$order = 'asc';
}
}
else {
$order = 'asc';
}
*/
//$columns['whitelist'] = 'Whitelist';
$columns['whitelist'] = 'Whitelisted';
return $columns;
}
function manage_albus_column($empty='', $column_name, $id) {
if( $column_name == 'whitelist' ) {
$user_info = get_userdata($id);
if($user_info->user_login != 'admin') {
if ( $user_info->user_activation_key != '' ) {
$whitelisted = 'Pending';
}
elseif($user_info->whitelist == '1') {
$whitelisted = 'Yes'.'
'.'
';
}
else {
$whitelisted = 'No'.'
'.'';
}
}
else {
$whitelisted = 'Cannot be whitelisted';
}
return $whitelisted;
}
}
function albus_register_settings() {
if( strstr( $_SERVER['PHP_SELF'], '/wp-admin/users.php' ) && current_user_can( 'edit_users' ) ) {
if( isset( $_GET['whitelist'] ) ) {
if( is_numeric($_GET['whitelist']) ) {
global $wpdb;
$userdata = get_userdata($_GET['whitelist']);
$users_table_name = $wpdb->prefix.'users';
if ( $userdata->whitelist != '1' ) {
$wpdb->update( $users_table_name, array( 'whitelist' => '1'), array( 'ID' => $_GET['whitelist'] ) );
//wp_mail( $to, $subject, $message, $headers, $attachments );
wp_mail( $userdata->user_email, 'Whitelisted', 'You are now whitelisted on '.get_bloginfo('name').'!');
}
}
else {
global $wpdb;
$userdata = get_userdatabylogin($_GET['whitelist']);
$users_table_name = $wpdb->prefix.'users';
if ( $userdata->whitelist != '1' ) {
$wpdb->update( $users_table_name, array( 'whitelist' => '1'), array( 'user_login' => $_GET['whitelist'] ) );
//wp_mail( $to, $subject, $message, $headers, $attachments );
wp_mail( $userdata->user_email, 'Whitelisted', 'You are now whitelisted on '.get_bloginfo('name').'!');
}
}
}
elseif( isset( $_GET['blacklist'] ) ) {
if ( is_numeric($_GET['blacklist']) ) {
global $wpdb;
$users_table_name = $wpdb->prefix.'users';
$wpdb->update( $users_table_name, array( 'whitelist' => '0'), array( 'ID' => $_GET['blacklist'] ) );
}
}
}
}
add_action( 'init', 'albus_register_settings' );
?>