";
$pagetitle[] = 'Edit user';
if (!LegacyAuth::user()->isAdmin()) {
include 'includes/error-no-perm.inc.php';
} else {
if ($vars['user_id'] && !$vars['edit']) {
$user_data = LegacyAuth::get()->getUser($vars['user_id']);
echo '
';
// Display devices this users has access to
echo '
Device Access
';
echo "
Device |
Action |
";
$device_perms = dbFetchRows('SELECT * from devices_perms as P, devices as D WHERE `user_id` = ? AND D.device_id = P.device_id', array($vars['user_id']));
foreach ($device_perms as $device_perm) {
echo ''.format_hostname($device_perm)." | |
";
$access_list[] = $device_perm['device_id'];
$permdone = 'yes';
}
echo '
';
if (!$permdone) {
echo 'None Configured';
}
// Display devices this user doesn't have access to
echo '
Grant access to new device
';
echo "
";
echo "
";
echo '
Interface Access
';
$interface_perms = dbFetchRows('SELECT * from ports_perms as P, ports as I, devices as D WHERE `user_id` = ? AND I.port_id = P.port_id AND D.device_id = I.device_id', array($vars['user_id']));
echo "
Interface name |
Action |
";
foreach ($interface_perms as $interface_perm) {
echo '
'.$interface_perm['hostname'].' - '.$interface_perm['ifDescr'].''.''.display($interface_perm['ifAlias'])."
|
|
";
$ipermdone = 'yes';
}
echo '
';
if (!$ipermdone) {
echo 'None Configured';
}
// Display devices this user doesn't have access to
echo '
Grant access to new interface
';
echo "
";
echo "
";
echo '
Bill Access
';
$bill_perms = dbFetchRows('SELECT * from bills AS B, bill_perms AS P WHERE P.user_id = ? AND P.bill_id = B.bill_id', array($vars['user_id']));
echo "
Bill name |
Action |
";
foreach ($bill_perms as $bill_perm) {
echo '
'.$bill_perm['bill_name']." |
|
";
$bill_access_list[] = $bill_perm['bill_id'];
$bpermdone = 'yes';
}
echo '
';
if (!$bpermdone) {
echo 'None Configured';
}
// Display devices this user doesn't have access to
echo '
Grant access to new bill
';
echo "
";
} elseif ($vars['user_id'] && $vars['edit']) {
if (LegacyAuth::user()->isDemoUser()) {
demo_account();
} else {
if (!empty($vars['new_level'])) {
if ($vars['can_modify_passwd'] == 'on') {
$vars['can_modify_passwd'] = '1';
}
LegacyAuth::get()->updateUser($vars['user_id'], $vars['new_realname'], $vars['new_level'], $vars['can_modify_passwd'], $vars['new_email']);
print_message('User has been updated');
if (!empty($vars['new_pass1']) && $vars['new_pass1'] == $vars['new_pass2'] && LegacyAuth::get()->canUpdatePasswords($vars['cur_username'])) {
if (LegacyAuth::get()->changePassword($vars['cur_username'], $vars['new_pass1']) == 1) {
print_message("User password has been updated");
} else {
print_error("Password couldn't be updated");
}
} elseif (!empty($vars['new_pass1']) && $vars['new_pass1'] != $vars['new_pass2']) {
print_error("The supplied passwords didn't match so weren't updated");
}
}
$users_details = LegacyAuth::get()->getUser($vars['user_id']);
if (!empty($users_details)) {
if (!empty($vars['dashboard']) && $vars['dashboard'] != $users_details['dashboard']) {
set_user_pref('dashboard', $vars['dashboard']);
print_message("User default dashboard updated");
}
echo "
";
if ($config['twofactor']) {
if ($vars['twofactorremove']) {
if (set_user_pref('twofactor', array(), $vars['user_id'])) {
echo "
TwoFactor credentials removed.
";
} else {
echo "
Couldnt remove user's TwoFactor credentials.
";
}
}
if ($vars['twofactorunlock']) {
$twofactor = get_user_pref('twofactor', array(), $vars['user_id']);
$twofactor['fails'] = 0;
if (set_user_pref('twofactor', $twofactor, $vars['user_id'])) {
echo "
User unlocked.
";
} else {
echo "
Couldnt reset user's TwoFactor failures.
";
}
}
echo "
Two-Factor Authentication
";
$twofactor = get_user_pref('twofactor', array(), $vars['user_id']);
if ($twofactor['fails'] >= 3 && (!$config['twofactor_lock'] || (time() - $twofactor['last']) < $config['twofactor_lock'])) {
echo "
";
}
if ($twofactor['key']) {
echo "
";
} else {
echo '
No TwoFactor key generated for this user, Nothing to do.
';
}
}//end if
} else {
print_error('Error getting user details');
}//end if !empty($users_details)
}//end if
} else {
$user_list = LegacyAuth::get()->getUserlist();
echo '
Select a user to edit
';
echo "
";
}//end if
}//end if
echo '
';