|
26 | 26 | $admined_servers = $user->list_admined_servers(array('pending_requests')); |
27 | 27 | $admined_groups = $user->list_admined_groups(array('members', 'admins')); |
28 | 28 | $groups = $user->list_group_memberships(array('members', 'admins')); |
| 29 | +$active_user_keys = $user->list_public_keys(null, null, false); |
29 | 30 | usort($admined_servers, function($a, $b) {return strnatcasecmp($a->hostname, $b->hostname);}); |
30 | 31 |
|
31 | 32 | if(isset($_POST['reassign_servers']) && is_array($_POST['servers']) && $active_user && $active_user->admin) { |
|
47 | 48 | } |
48 | 49 | redirect('#details'); |
49 | 50 | } |
| 51 | +} elseif(isset($_POST['delete_public_key']) && $active_user && $active_user->admin) { |
| 52 | + $delete_key_raw = trim($_POST['delete_public_key']); |
| 53 | + $delete_key_id = filter_var($delete_key_raw, FILTER_VALIDATE_INT); |
| 54 | + |
| 55 | + if($delete_key_id !== false) { |
| 56 | + $delete_key_id = (int)$delete_key_id; |
| 57 | + foreach($active_user_keys as $public_key) { |
| 58 | + if((int)$public_key->id === $delete_key_id) { |
| 59 | + $user->delete_public_key($public_key); |
| 60 | + break; |
| 61 | + } |
| 62 | + } |
| 63 | + } |
| 64 | + |
| 65 | + redirect('#details'); |
50 | 66 | } elseif(isset($_POST['edit_user']) && $active_user && $active_user->admin) { |
51 | 67 | $user->force_disable = $_POST['force_disable']; |
52 | 68 | $user->get_details_from_ldap(); |
|
59 | 75 | $content->set('user_admined_servers', $admined_servers); |
60 | 76 | $content->set('user_admined_groups', $admined_groups); |
61 | 77 | $content->set('user_groups', $groups); |
62 | | - $content->set('active_user_keys', $user->list_public_keys(null, null, false)); |
63 | | - $content->set('admin', ($active_user && $active_user->admin)); |
| 78 | + $content->set('active_user_keys', $active_user_keys); |
| 79 | + $content->set('admin', ($active_user && $active_user->admin)); |
64 | 80 | } |
65 | 81 |
|
66 | 82 | $page = new PageSection('base'); |
|
0 commit comments