From c50aa6a8d037c44ce2df50c49b603ea67696e46e Mon Sep 17 00:00:00 2001 From: Mike Koch Date: Mon, 15 Jun 2015 23:52:07 -0400 Subject: [PATCH] #196 Move can_man_settings and can_change_notification_settings into heskprivileges --- install/mods-for-hesk/sql/installSql.php | 32 ++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/install/mods-for-hesk/sql/installSql.php b/install/mods-for-hesk/sql/installSql.php index c588de99..0786c8b5 100644 --- a/install/mods-for-hesk/sql/installSql.php +++ b/install/mods-for-hesk/sql/installSql.php @@ -464,6 +464,38 @@ function execute230Scripts() { VALUES ('Staff', 'can_view_tickets,can_reply_tickets,can_change_cat,can_assign_self,can_view_unassigned,can_view_online', '1')"); executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `permission_template` = 1 WHERE `isadmin` = '1'"); + // Move can_manage_settings and can_change_notification_settings into the heskprivileges list + $res = executeQuery("SELECT `id`, `heskprivileges` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `isadmin` = '0' + AND `can_manage_settings` = '1'"); + while ($row = hesk_dbFetchAssoc($res)) { + if ($row['heskprivileges'] != '') { + $currentPrivileges = explode(',', $row['heskprivileges']); + array_push($currentPrivileges, 'can_man_settings'); + $newPrivileges = implode(',', $currentPrivileges); + executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `heskprivileges = '".hesk_dbEscape($newPrivileges)."' + WHERE `id` = ".intval($row['id'])); + } else { + executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `heskprivileges = 'can_man_settings' + WHERE `id` = ".intval($row['id'])); + } + } + $res = executeQuery("SELECT `id`, `heskprivileges` FROM `".hesk_dbEscape($hesk_settings['db_pfix'])."users` WHERE `isadmin` = '0' + AND `can_change_notification_settings` = '1'"); + while ($row = hesk_dbFetchAssoc($res)) { + if ($row['heskprivileges'] != '') { + $currentPrivileges = explode(',', $row['heskprivileges']); + array_push($currentPrivileges, 'can_change_notification_settings'); + $newPrivileges = implode(',', $currentPrivileges); + executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `heskprivileges = '".hesk_dbEscape($newPrivileges)."' + WHERE `id` = ".intval($row['id'])); + } else { + executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` SET `heskprivileges = 'can_change_notification_settings' + WHERE `id` = ".intval($row['id'])); + } + } + executeQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` DROP COLUMN `can_manage_settings`"); + executeQuery("ALTER TABLE `".hesk_dbEscape($hesk_settings['db_pfix'])."users` DROP COLUMN `can_change_notification_settings`"); + executeQuery("UPDATE `".hesk_dbEscape($hesk_settings['db_pfix'])."settings` SET `Value` = '2.3.0' WHERE `Key` = 'modsForHeskVersion'"); }