diff --git a/admin/manage_permission_templates.php b/admin/manage_permission_templates.php index f3efd637..b8e1bcb6 100644 --- a/admin/manage_permission_templates.php +++ b/admin/manage_permission_templates.php @@ -89,7 +89,10 @@ else {return false;} ?>
-

+

+ +

- -
- -
-

@@ -241,10 +244,11 @@ function createEditModal($template, $features, $categories) { @@ -327,31 +331,39 @@ function save() { $res = hesk_dbQuery("SELECT `heskprivileges`, `categories` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."permission_templates` WHERE `id` = ".intval($templateId)); $row = hesk_dbFetchAssoc($res); - - // Add 'can ban emails' if 'can unban emails' is set (but not added). Same with 'can ban ips' - $catArray = hesk_POST_array('categories'); - $featArray = hesk_POST_array('features'); - validate($featArray, $catArray); - if (in_array('can_unban_emails', $featArray) && !in_array('can_ban_emails', $featArray)) { - array_push($catArray, 'can_ban_emails'); - } - if (in_array('can_unban_ips', $featArray) && !in_array('can_ban_ips', $featArray)) { - array_push($featArray, 'can_ban_ips'); - } - $categories = implode(',', $catArray); - $features = implode(',', $featArray); - $name = hesk_POST('name'); - - hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."permission_templates` - SET `categories` = '".hesk_dbEscape($categories)."', `heskprivileges` = '".hesk_dbEscape($features)."', - `name` = '".hesk_dbEscape($name)."' - WHERE `id` = ".intval($templateId)); - - if ($row['categories'] != $categories || $row['heskprivileges'] != $features) { - // Any users with this template should be switched to "custom" - hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `permission_template` = NULL - WHERE `permission_template` = ".intval($templateId)); - } + + if (hesk_POST('name_only', 0)) { + // We are only able to update the name + $name = hesk_POST('name'); + + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."permission_templates` + SET `name` = '".hesk_dbEscape($name)."' WHERE `id` = ".intval($templateId)); + } else { + // Add 'can ban emails' if 'can unban emails' is set (but not added). Same with 'can ban ips' + $catArray = hesk_POST_array('categories'); + $featArray = hesk_POST_array('features'); + validate($featArray, $catArray); + if (in_array('can_unban_emails', $featArray) && !in_array('can_ban_emails', $featArray)) { + array_push($catArray, 'can_ban_emails'); + } + if (in_array('can_unban_ips', $featArray) && !in_array('can_ban_ips', $featArray)) { + array_push($featArray, 'can_ban_ips'); + } + $categories = implode(',', $catArray); + $features = implode(',', $featArray); + $name = hesk_POST('name'); + + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."permission_templates` + SET `categories` = '".hesk_dbEscape($categories)."', `heskprivileges` = '".hesk_dbEscape($features)."', + `name` = '".hesk_dbEscape($name)."' + WHERE `id` = ".intval($templateId)); + + if ($row['categories'] != $categories || $row['heskprivileges'] != $features) { + // Any users with this template should be switched to "custom" + hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `permission_template` = NULL + WHERE `permission_template` = ".intval($templateId)); + } + } hesk_process_messages( $hesklang['permission_template_updated'],$_SERVER['PHP_SELF'],'SUCCESS'); } diff --git a/language/en/text.php b/language/en/text.php index bda6e9ba..ea9a41a6 100644 --- a/language/en/text.php +++ b/language/en/text.php @@ -71,6 +71,8 @@ $hesklang['manager_updated'] = 'Category manager has been updated.'; $hesklang['can_set_manager'] = 'Can set category managers'; $hesklang['no_manager'] = 'No manager'; $hesklang['manage_permission_templates'] = 'Manage Permission Templates'; +$hesklang['manage_permission_templates_help'] = 'Here you can create and edit permission templates. These templates will appear when creating/editing a user. +Please note that if you change the permission template\'s settings, it will NOT change the permissions of any users that are set to this permission template.'; $hesklang['number_of_users'] = 'Number of Users'; $hesklang['actions'] = 'Actions'; $hesklang['view_permissions_for_this_template'] = 'View/edit permissions for this template';