From c21b5f24bbc225870bc15cb5ec64e9d4c11d7c67 Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Sun, 14 Jun 2015 23:29:48 -0400 Subject: [PATCH] #196 Set any user's permission group to 'Custom' if the template was changed --- admin/manage_permission_templates.php | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/admin/manage_permission_templates.php b/admin/manage_permission_templates.php index 7313ef03..3940dabf 100644 --- a/admin/manage_permission_templates.php +++ b/admin/manage_permission_templates.php @@ -324,6 +324,11 @@ function buildCreateModal($features, $categories) { function save() { global $hesk_settings, $hesklang; + $templateId = hesk_POST('template_id'); + $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'); @@ -336,7 +341,6 @@ function save() { } $categories = implode(',', $catArray); $features = implode(',', $featArray); - $templateId = hesk_POST('template_id'); $name = hesk_POST('name'); hesk_dbQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."permission_templates` @@ -344,6 +348,12 @@ function save() { `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'); }