diff --git a/admin/manage_users.php b/admin/manage_users.php index e8559d74..eb7f4983 100644 --- a/admin/manage_users.php +++ b/admin/manage_users.php @@ -266,19 +266,22 @@ require_once(HESK_PATH . 'inc/show_admin_nav.inc.php'); -
+
- + +
+ +
+
-
@@ -530,7 +533,7 @@ function edit_user() if ( ! isset($_SESSION['save_userdata'])) { - $res = hesk_dbQuery("SELECT `user`,`pass`,`isadmin`,`name`,`email`,`signature`,`categories`,`autoassign`,`heskprivileges` AS `features` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `id`='".intval($id)."' LIMIT 1"); + $res = hesk_dbQuery("SELECT `user`,`pass`,`isadmin`,`name`,`email`,`signature`,`categories`,`autoassign`,`heskprivileges` AS `features`, `can_manage_settings` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `id`='".intval($id)."' LIMIT 1"); $_SESSION['userdata'] = hesk_dbFetchAssoc($res); /* Store original username for display until changes are saved successfully */ @@ -674,17 +677,25 @@ function edit_user()
-
+
-
+
+ +
+ + + +
+ + +
- - +
@@ -754,7 +765,7 @@ function new_user() $myuser['features'] = ''; } - hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."users` (`user`,`pass`,`isadmin`,`name`,`email`,`signature`,`categories`,`autoassign`,`heskprivileges` $sql_where) VALUES ( + hesk_dbQuery("INSERT INTO `".hesk_dbEscape($hesk_settings['db_pfix'])."users` (`user`,`pass`,`isadmin`,`name`,`email`,`signature`,`categories`,`autoassign`,`heskprivileges`, `can_manage_settings` $sql_where) VALUES ( '".hesk_dbEscape($myuser['user'])."', '".hesk_dbEscape($myuser['pass'])."', '".intval($myuser['isadmin'])."', @@ -763,7 +774,8 @@ function new_user() '".hesk_dbEscape($myuser['signature'])."', '".hesk_dbEscape($myuser['categories'])."', '".intval($myuser['autoassign'])."', - '".hesk_dbEscape($myuser['features'])."' + '".hesk_dbEscape($myuser['features'])."', + '".hesk_dbEscape($myuser['can_manage_settings'])."' $sql_what )" ); $_SESSION['seluser'] = hesk_dbInsertID(); @@ -850,7 +862,8 @@ function update_user() `categories`='".hesk_dbEscape($myuser['categories'])."', `isadmin`='".intval($myuser['isadmin'])."', `autoassign`='".intval($myuser['autoassign'])."', - `heskprivileges`='".hesk_dbEscape($myuser['features'])."' + `heskprivileges`='".hesk_dbEscape($myuser['features'])."', + `can_manage_settings`='".hesk_dbEscape($myuser['can_manage_settings'])."' $sql_where WHERE `id`='".intval($myuser['id'])."' LIMIT 1"); @@ -871,6 +884,7 @@ function hesk_validateUserInfo($pass_required = 1, $redirect_to = './manage_user $myuser['email'] = hesk_validateEmail( hesk_POST('email'), 'ERR', 0) or $hesk_error_buffer .= '
  • ' . $hesklang['enter_valid_email'] . '
  • '; $myuser['user'] = hesk_input( hesk_POST('user') ) or $hesk_error_buffer .= '
  • ' . $hesklang['enter_username'] . '
  • '; $myuser['isadmin'] = empty($_POST['isadmin']) ? 0 : 1; + $myuser['can_manage_settings'] = isset($_POST['manage_settings']) ? 1 : 0; $myuser['signature'] = hesk_input( hesk_POST('signature') ); $myuser['autoassign'] = hesk_POST('autoassign') == 'Y' ? 1 : 0; diff --git a/install/updateNuMods.php b/install/updateNuMods.php index f6ffe6d9..a2d8e2b8 100644 --- a/install/updateNuMods.php +++ b/install/updateNuMods.php @@ -62,6 +62,7 @@ if ($_GET['update'] == 1) hesk_dbQuery("CREATE TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."denied_emails` (ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT, Email VARCHAR(100) NOT NULL);"); hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."tickets` ADD COLUMN `parent` MEDIUMINT(8) NULL AFTER `custom20`;"); hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `active` BIT NOT NULL DEFAULT 1 AFTER `autorefresh`"); + hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `can_manage_settings` INT NOT NULL DEFAULT 1"); } } diff --git a/install/updateTo1-5-0.php b/install/updateTo1-5-0.php index 4af7b6a0..242faca6 100644 --- a/install/updateTo1-5-0.php +++ b/install/updateTo1-5-0.php @@ -5,6 +5,7 @@ require(HESK_PATH . 'install/install_functions.inc.php'); require(HESK_PATH . 'hesk_settings.inc.php'); hesk_dbConnect(); hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `active` BIT NOT NULL DEFAULT 1 AFTER `autorefresh`"); +hesk_dbQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` ADD COLUMN `can_manage_settings` INT NOT NULL DEFAULT 1"); ?>

    Update complete!