fetchAll(PDO::FETCH_ASSOC); if (isset($data[0])) { // Updating if (MTrackACL::hasAllRights('User', 'modify')) { if (isset($_POST['active'])) { $active = $_POST['active'] == 'on' ? '1' : '0'; } else { $active = '0'; } MTrackDB::q('update userinfo set fullname = ?, email = ?, timezone = ?, active = ?, sshkeys = ? where userid = ?', $_POST['fullname'], $_POST['email'], $_POST['timezone'], $active, $_POST['keys'], $user); } else { MTrackDB::q('update userinfo set fullname = ?, email = ?, timezone = ?, sshkeys = ? where userid = ?', $_POST['fullname'], $_POST['email'], $_POST['timezone'], $_POST['keys'], $user); } } else { MTrackDB::q('insert into userinfo (active, fullname, email, timezone, sshkeys, userid) values (1, ?, ?, ?, ?, ?)', $_POST['fullname'], $_POST['email'], $_POST['timezone'], $_POST['keys'], $user); } if (MTrackACL::hasAllRights('User', 'modify')) { MTrackDB::q('delete from useraliases where userid = ?', $user); foreach (preg_split("/\r?\n/", $_POST['aliases']) as $alias) { if (!strlen(trim($alias))) { continue; } MTrackDB::q('insert into useraliases (userid, alias) values (?, ?)', $user, $alias); } $user_class = MTrackAuth::getUserClass($user); if (isset($_POST['user_role']) && $_POST['user_role'] != $user_class) { MTrackConfig::set('user_classes', $user, $_POST['user_role']); MTrackConfig::save(); } } $http_auth = MTrackAuth::getMech('MTrackAuth_HTTP'); if ($http_auth && !isset($_SERVER['REMOTE_USER']) && !empty($_POST['passwd1'])) { // Allow changing their password $http_auth->setUserPassword($user, $_POST['passwd1']); } header("Location: {$ABSWEB}user.php?user=" . urlencode($user)); exit; } } else { MTrackACL::requireAllRights('User', 'read'); } mtrack_head("User $user"); $data = MTrackDB::q('select * from userinfo where userid = ?', $user)->fetchAll(PDO::FETCH_ASSOC); if (isset($data[0])) { $data = $data[0]; } else { $data = null; } $display = $user; if (strlen($data['fullname'])) { $display .= " - " . $data['fullname']; } echo "