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'"); }