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!