From 93d4f3ebce6ba0a0108f48318e30338b1dcd5c32 Mon Sep 17 00:00:00 2001 From: johnnyq Date: Sun, 7 May 2023 21:09:18 -0400 Subject: [PATCH] You can now set the number of hours before a ticket is automatically closed if autoclose is set --- cron.php | 3 ++- database_updates.php | 12 ++++++++++-- database_version.php | 2 +- db.sql | 3 ++- get_settings.php | 1 + post.php | 3 ++- settings_ticket.php | 10 ++++++++++ 7 files changed, 28 insertions(+), 6 deletions(-) diff --git a/cron.php b/cron.php index dfcaa325..c7c252cb 100644 --- a/cron.php +++ b/cron.php @@ -41,6 +41,7 @@ $config_ticket_from_name = $row['config_ticket_from_name']; $config_ticket_from_email = $row['config_ticket_from_email']; $config_ticket_client_general_notifications = intval($row['config_ticket_client_general_notifications']); $config_ticket_autoclose = intval($row['config_ticket_autoclose']); +$config_ticket_autoclose_hours = intval($row['config_ticket_autoclose_hours']); //Get Config for Telemetry $config_theme = $row['config_theme']; @@ -357,7 +358,7 @@ if ($config_ticket_autoclose == 1) { $mysqli, "SELECT * FROM tickets WHERE ticket_status = 'Auto Close' - AND ticket_updated_at < NOW() - INTERVAL 70 HOUR" + AND ticket_updated_at < NOW() - INTERVAL $config_ticket_autoclose_hours HOUR" ); while ($row = mysqli_fetch_array($sql_tickets_to_chase)) { diff --git a/database_updates.php b/database_updates.php index 99d238ee..756da437 100644 --- a/database_updates.php +++ b/database_updates.php @@ -1012,11 +1012,19 @@ if (LATEST_DATABASE_VERSION > CURRENT_DATABASE_VERSION) { mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.3'"); } - //if (CURRENT_DATABASE_VERSION == '0.5.3') { + if (CURRENT_DATABASE_VERSION == '0.5.3') { //Insert queries here required to update to DB version 0.5.4 + mysqli_query($mysqli, "ALTER TABLE `settings` ADD `config_ticket_autoclose_hours` INT(5) NOT NULL DEFAULT 72 AFTER `config_ticket_autoclose`"); // Then, update the database to the next sequential version - //mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.4'"); + mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.4'"); + } + + //if (CURRENT_DATABASE_VERSION == '0.5.4') { + //Insert queries here required to update to DB version 0.5.5 + + // Then, update the database to the next sequential version + //mysqli_query($mysqli, "UPDATE `settings` SET `config_current_database_version` = '0.5.5'"); //} } else { diff --git a/database_version.php b/database_version.php index 5e1e24fa..4b8d15df 100644 --- a/database_version.php +++ b/database_version.php @@ -5,4 +5,4 @@ * It is used in conjunction with database_updates.php */ -DEFINE("LATEST_DATABASE_VERSION", "0.5.3"); +DEFINE("LATEST_DATABASE_VERSION", "0.5.4"); diff --git a/db.sql b/db.sql index 2e6250e5..0e17d64a 100644 --- a/db.sql +++ b/db.sql @@ -1099,6 +1099,7 @@ CREATE TABLE `settings` ( `config_ticket_email_parse` tinyint(1) NOT NULL DEFAULT 0, `config_ticket_client_general_notifications` tinyint(1) NOT NULL DEFAULT 1, `config_ticket_autoclose` tinyint(1) NOT NULL DEFAULT 0, + `config_ticket_autoclose_hours` int(5) NOT NULL DEFAULT 72, `config_enable_cron` tinyint(1) NOT NULL DEFAULT 0, `config_cron_key` varchar(255) DEFAULT NULL, `config_recurring_auto_send_invoice` tinyint(1) NOT NULL DEFAULT 1, @@ -1540,4 +1541,4 @@ CREATE TABLE `vendors` ( /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; /*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */; --- Dump completed on 2023-05-07 20:45:03 +-- Dump completed on 2023-05-07 21:08:34 diff --git a/get_settings.php b/get_settings.php index 12cf677b..dbd4a38e 100644 --- a/get_settings.php +++ b/get_settings.php @@ -60,6 +60,7 @@ $config_ticket_from_email = $row['config_ticket_from_email']; $config_ticket_email_parse = intval($row['config_ticket_email_parse']); $config_ticket_client_general_notifications = intval($row['config_ticket_client_general_notifications']); $config_ticket_autoclose = intval($row['config_ticket_autoclose']); +$config_ticket_autoclose_hours = intval($row['config_ticket_autoclose_hours']); // Cron $config_enable_cron = intval($row['config_enable_cron']); diff --git a/post.php b/post.php index a70f5dd1..9c4cb0c7 100644 --- a/post.php +++ b/post.php @@ -683,8 +683,9 @@ if(isset($_POST['edit_ticket_settings'])){ $config_ticket_email_parse = intval($_POST['config_ticket_email_parse']); $config_ticket_client_general_notifications = intval($_POST['config_ticket_client_general_notifications']); $config_ticket_autoclose = intval($_POST['config_ticket_autoclose']); + $config_ticket_autoclose_hours = intval($_POST['config_ticket_autoclose_hours']); - mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_from_email = '$config_ticket_from_email', config_ticket_from_name = '$config_ticket_from_name', config_ticket_email_parse = '$config_ticket_email_parse', config_ticket_client_general_notifications = $config_ticket_client_general_notifications , config_ticket_autoclose = $config_ticket_autoclose WHERE company_id = 1"); + mysqli_query($mysqli,"UPDATE settings SET config_ticket_prefix = '$config_ticket_prefix', config_ticket_next_number = $config_ticket_next_number, config_ticket_from_email = '$config_ticket_from_email', config_ticket_from_name = '$config_ticket_from_name', config_ticket_email_parse = '$config_ticket_email_parse', config_ticket_client_general_notifications = $config_ticket_client_general_notifications , config_ticket_autoclose = $config_ticket_autoclose, config_ticket_autoclose_hours = $config_ticket_autoclose_hours WHERE company_id = 1"); //Logging mysqli_query($mysqli,"INSERT INTO logs SET log_type = 'Settings', log_action = 'Modify', log_description = '$session_name modified ticket settings', log_ip = '$session_ip', log_user_agent = '$session_user_agent', log_user_id = $session_user_id"); diff --git a/settings_ticket.php b/settings_ticket.php index ea0cabc0..c73a573d 100644 --- a/settings_ticket.php +++ b/settings_ticket.php @@ -70,6 +70,16 @@ If no response is received after a further 22 hrs (70 total since ticket was put +
+ +
+
+ +
+ +
+
+